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

estacion.h

00001 /***********************************************************************************
00002  *  CLASE ESTACION
00003  *  Clase que representa las casillas de tipo estación del tablero de Monopoly. Hereda
00004  *  de la clase propiedades los atributos _hipoteca, _hipotecado, _hipotecable y _precio
00005  *  y aporta específicamente el alquiler en función de las estaciones que posea el
00006  *  propietario. Esto se puede calcular gracias a la clase monopolio (cuya referencia 
00007  *  hereda también de propiedad).
00008  *
00009  *  Requiere:
00010  *     - clase propiedad (herencia)
00011  *
00012  *  Autor: Javier Aragón Zabalegui (PFC para la uc3m: street Master's)
00013  *  Contacto: 100039831@alumnos.uc3m.es
00014  *  version 1.0
00015  **********************************************************************************/
00016 
00017 #ifndef __ESTACION__
00018 #define __ESTACION__
00019 
00020 #include "propiedad.h"
00021 
00022 #include <string>
00023 using namespace std;
00024 
00025 class estacion : public propiedad {
00026 
00027  private:
00028 
00032   long _alquilerUnaEstacion;;
00033   long _alquilerDosEstaciones;
00034   long _alquilerTresEstaciones;
00035   long _alquilerCuatroEstaciones;  
00036 
00037  public:
00038 
00039   // Constructor por defecto
00040   estacion ();
00041   
00042   // Constructor explícito
00043   estacion ( int numero, string nombre, string nombreCorto, long precio, long hipoteca, 
00044              bool hipotecado, bool hipotecable, long alquilerUnaEstacion, 
00045              long alquilerDosEstaciones, long alquilerTresEstaciones, 
00046              long alquilerCuatroEstaciones, propietario *p );
00047   
00048   // Copy constructor
00049   estacion (const estacion& right);
00050 
00051   // Operador de asignación
00052   estacion& operator= (const estacion& right);
00053 
00054   //Sobrecarga del opreador de salida
00055   friend ostream& operator<< ( ostream& os, estacion *e );
00056 
00057   // Destructor
00058   ~estacion ();
00059 
00060   // Métodos GET
00061   long get_alquilerUnaEstacion () const;
00062   long get_alquilerDosEstaciones () const;
00063   long get_alquilerTresEstaciones () const;
00064   long get_alquilerCuatroEstaciones () const;
00065   
00066   // Métodos SET
00067   void set_alquilerUnaEstacion ( long alquilerUnaEstacion );
00068   void set_alquilerDosEstaciones ( long alquilerDosEstaciones );
00069   void set_alquilerTresEstaciones ( long alquilerTresEstaciones );
00070   void set_alquilerCuatroEstaciones ( long alquilerCuatroEstaciones );
00071   
00082   string mostrar ();
00083 
00089   string dibujarCasillaHorizontal ( int fila, int anchoCasilla );
00090 
00096   string dibujarCasillaVertical ( int fila, int anchoCasilla );
00097 
00102   string leyendaCasilla ( int num, int nombreCorto, int tipo, int nombre, int estado );
00103 
00109   long calcularAlquiler ( jugador *j );
00110 
00111 };
00112 
00113 inline long estacion::get_alquilerUnaEstacion () const
00114 {
00115   return _alquilerUnaEstacion;
00116 }
00117 
00118 inline long estacion::get_alquilerDosEstaciones () const
00119 {
00120   return _alquilerDosEstaciones;
00121 }
00122 
00123 inline long estacion::get_alquilerTresEstaciones () const
00124 {
00125   return _alquilerTresEstaciones;
00126 }
00127 
00128 inline long estacion::get_alquilerCuatroEstaciones () const
00129 {
00130   return _alquilerCuatroEstaciones;
00131 }
00132   
00133 //Set operators
00134 
00135 inline void estacion::set_alquilerUnaEstacion ( long alquilerUnaEstacion )
00136 {
00137   _alquilerUnaEstacion = alquilerUnaEstacion;
00138 }
00139 
00140 inline void estacion::set_alquilerDosEstaciones ( long alquilerDosEstaciones )
00141 {
00142   _alquilerDosEstaciones = alquilerDosEstaciones;
00143 }
00144 
00145 inline void estacion::set_alquilerTresEstaciones ( long alquilerTresEstaciones )
00146 {
00147   _alquilerTresEstaciones = alquilerTresEstaciones;
00148 }
00149 
00150 inline void estacion::set_alquilerCuatroEstaciones ( long alquilerCuatroEstaciones )
00151 {
00152   _alquilerCuatroEstaciones = alquilerCuatroEstaciones;
00153 }
00154 
00155 #endif

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