Página principal | Lista de namespace | Lista de archivos

carcel.h

00001 /***********************************************************************************
00002  *  CLASE CARCEL
00003  *  Clase que representa la casilla de la cárcel en el juego street master's.
00004  *  Esta clase debe conocer la información necesaria para mantener encarcelado a un
00005  *  jugador y liberarlo en el momento oportuno.
00006  *  
00007  *  Hereda de casilla los atributos nombre y número y los métodos comunes de todas 
00008  *  las casillas.
00009  *
00010  *  Requiere:
00011  *     - clase casilla ( jerarquia )
00012  *     - clase string (STL)
00013  *
00014  *  Autor: Javier Aragón Zabalegui (PFC para la uc3m: street Master's)
00015  *  Contacto: 100039831@alumnos.uc3m.es
00016  *  version 1.0
00017  **********************************************************************************/
00018 
00019 #ifndef __CARCEL__
00020 #define __CARCEL__
00021 
00022 #include "casilla.h"
00023 
00024 #include <string>
00025 using namespace std;
00026 
00027 class carcel : public casilla {
00028 
00029  private:
00030 
00031   // Atributos
00032   int _maxTurnos;              //Número máximo de turnos que un jugador puede estar encarcelado
00033   long _multa;                 //Multa que puede pagar un jugador para salir de la cárcel  
00034 
00035  public:
00036 
00037   // Constructores
00038   carcel ();  
00039   carcel ( int numero, string nombre, string nombreCorto, int maxTurnos, long multa );
00040   
00041   // Copy constructor
00042   carcel ( const carcel& right );
00043 
00044   // Operador de asignación sobrecargado
00045   carcel& operator= (const carcel& right);
00046 
00047   // Destructor
00048   ~carcel ();
00049 
00050   // Métodos GET
00051   int get_maxTurnos () const;   
00052   long get_multa () const;
00053 
00054   // Métodos SET
00055   void set_maxTurnos ( int maxTurnos );
00056   void set_multa ( long multa );
00057 
00058   // MÉTODOS
00059 
00060   
00061   // Otros métodos
00066   int accion ( jugador* player );
00067 
00072   void desencarcelar ( jugador* j );
00073 
00079   int desencarcelarPagando ( jugador* j );
00080   
00081 };
00082 
00083 // Métodos GET
00084 inline int carcel::get_maxTurnos () const
00085 {
00086   return _maxTurnos;
00087 }
00088 
00089 inline long carcel::get_multa () const
00090 {
00091   return _multa;
00092 }
00093 
00094 // Métodos SET
00095 inline void carcel::set_maxTurnos ( int maxTurnos )
00096 {
00097   _maxTurnos = maxTurnos;
00098 }
00099 
00100 inline void carcel::set_multa ( long multa )
00101 {
00102   _multa = multa;
00103 }
00104 
00105 #endif

Generado el Fri Jun 30 12:38:29 2006 para Street Master's por  doxygen 1.3.9.1