00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __CASILLA__
00022 #define __CASILLA__
00023
00024 #include "cadenas.h"
00025 #include "jugador.h"
00026
00027 #include <iostream>
00028 #include <cctype>
00029 #include <algorithm>
00030 #include <vector>
00031 #include <string>
00032 using namespace std;
00033
00034 class jugador;
00035
00036 class casilla {
00037
00038 private:
00039
00040 int _numero;
00041 string _nombre;
00042 string _nombreCorto;
00043
00044 protected:
00045 vector <jugador*> estaJugador;
00046
00047 public:
00048
00049
00050 casilla ();
00051 casilla ( int numero, string nombre, string nombreCorto );
00052
00053
00054 casilla (const casilla& right);
00055
00056
00057
00058 casilla& operator= (const casilla& right);
00059
00060
00061 friend ostream& operator<< (ostream& os, casilla* c);
00062
00063
00064 friend istream& operator>> (istream& is, const casilla& c);
00065
00066
00067 bool operator!= ( const casilla& c);
00068
00069 bool operator== ( const casilla& c);
00070
00071
00072 ~casilla ();
00073
00074
00075 int get_numero () const;
00076 string get_nombre () const;
00077 string get_nombreCorto () const;
00078
00079
00080 void set_numero (int value);
00081 void set_nombre ( string nombre );
00082 void set_nombreCorto ( string nombreCorto );
00083
00084
00085
00086
00096 virtual string mostrar ();
00097
00103 virtual int accion ( jugador *player );
00104
00110 virtual string dibujarCasillaHorizontal ( int fila, int anchoCasilla );
00111
00117 virtual string dibujarCasillaVertical ( int fila, int anchoCasilla );
00118
00126 virtual string dibujarCasillaEnTablero ();
00127
00132 virtual string leyendaCasilla ( int num, int nombreCorto, int tipo, int nombre, int estado );
00133
00134
00135
00140 void situarJugadorEnCasilla ( jugador* player );
00141
00149 void eliminarJugador ( jugador* player );
00150 };
00151
00152
00153 inline int casilla::get_numero () const
00154 {
00155 return _numero;
00156 }
00157
00158 inline string casilla::get_nombre () const
00159 {
00160 return _nombre;
00161 }
00162
00163 inline string casilla::get_nombreCorto () const
00164 {
00165 return _nombreCorto;
00166 }
00167
00168
00169 inline void casilla::set_numero (int value)
00170 {
00171 _numero = value;
00172 }
00173
00174 inline void casilla::set_nombre ( string nombre )
00175 {
00176 _nombre = nombre;
00177 }
00178
00179 inline void casilla::set_nombreCorto ( string nombreCorto )
00180 {
00181 _nombreCorto = nombreCorto;
00182 }
00183
00184 #endif