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

servicio.h

00001 /***********************************************************************************
00002  *  CLASE SERVICIO
00003  *  Clase que representa una casilla del tipo servicio del juego de Monopoly. Esta 
00004  *  casilla es una clase derivada de propiedad ya que se puede comprar, hipotecar
00005  *  y cobrar un alquiler.
00006  *  La carcateristica fundamental de las propiedades de este tipo es que su alquiler
00007  *  se calcula a partir de un multiplicador y el valor obtenido al lanzar los dados.
00008  *
00009  *  Requiere:
00010  *     - clase propiedad ( jerarquia )
00011  *     - clase string (STL) 
00012  *
00013  *  Autor: Javier Aragón Zabalegui (PFC para la uc3m: street Master's)
00014  *  Contacto: 100039831@alumnos.uc3m.es
00015  *  version 1.0
00016  **********************************************************************************/
00017 
00018 
00019 #ifndef __SERVICIO__
00020 #define __SERVICIO__
00021 
00022 #include "propiedad.h"
00023 
00024 #include <string>
00025 using namespace std;
00026 
00027 
00028 class servicio : public propiedad {
00029 
00030  private:
00031 
00035   int _multiplicador1;
00036   int _multiplicador2;  
00037 
00038  public:
00039 
00040   // Constructor por defecto
00041   servicio ();
00042   
00043   // Constructor explícito
00044   servicio ( int numero, string nombre, string nombreCorto, long precio, long hipoteca, bool hipotecado, 
00045              bool hipotecable, int multiplicador1, int multiplicador2, propietario *p );
00046   
00047   // Copy constructor
00048   servicio (const servicio& right);
00049 
00050   // Operador de asignación
00051   servicio& operator= (const servicio& right);
00052 
00053   // Sobrecarga del operador de salida
00054   friend ostream& operator<< ( ostream& os, servicio *s );
00055 
00056   // Destructor
00057   ~servicio ();
00058 
00059   // Métodos GET
00060   int get_multiplicador1 () const;
00061   int get_multiplicador2 () const;
00062   
00063   // Métodos SET
00064   void set_multiplicador1 ( int multiplicador1 );
00065   void set_multiplicador2 ( int multiplicador2 );
00066 
00079   string mostrar ();
00080 
00086   string dibujarCasillaHorizontal ( int fila, int anchoCasilla );
00087 
00093   string dibujarCasillaVertical ( int fila, int anchoCasilla );
00094  
00099   string leyendaCasilla ( int num, int nombreCorto, int tipo, int nombre, int estado );
00100 
00105   long calcularAlquiler ( jugador *j );
00106 };
00107 
00108 inline int servicio::get_multiplicador1 () const
00109 {
00110   return _multiplicador1;
00111 }
00112 
00113 inline int servicio::get_multiplicador2 () const
00114 {
00115   return _multiplicador2;
00116 }
00117   
00118   //Set operators
00119 
00120 inline void servicio::set_multiplicador1 ( int multiplicador1 )
00121 {
00122   _multiplicador1 = multiplicador1;
00123 }
00124 
00125 inline void servicio::set_multiplicador2 ( int multiplicador2 )
00126 {
00127   _multiplicador2 = multiplicador2;
00128 }
00129 
00130 #endif

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