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

dado.h

00001 /***********************************************************************************
00002  *  CLASE DADO
00003  *  Clase que emula el funcionamiento de un dado. Para ello se utiliza el algoritmo
00004  *  de Merssene Twister, que ofrece una aleatoriedad mucho mejor que la que se puede
00005  *  obtener con otros algoritmos de C/C++ del estilo random()
00006  *
00007  *  Requiere:
00008  *     - clase mtrand (incluye el algoritmo de Merssene Twister)
00009  *
00010  *  Autor: Javier Aragón Zabalegui (PFC para la uc3m: street Master's)
00011  *  Contacto: 100039831@alumnos.uc3m.es
00012  *  version 1.1
00013  **********************************************************************************/
00014 
00015 #ifndef __DADO__
00016 #define __DADO__
00017 
00018 #include "mtrand.h"
00019 using namespace std;
00020 
00021 class dado{
00022 
00023  private:
00024   //Atributos
00025   int _dado1;
00026   int _dado2;
00027   int _dadoTotal;               //dado_total = dado1 + dado2
00028   bool _tiradaDoble;  
00029   MTRand_int32 _irand;         // Generador de enteros de 32 bits con el algortimo de Merssene Twister  
00030 
00031   //Asociaciones
00032 
00033  public:
00034 
00035   // Constructor por defecto
00036   dado ();
00037   
00038   // Constructor explícito
00039   dado ( int dado1, int dado2 );
00040   
00041   // Copy constructor
00042   dado (const dado& right);
00043 
00044   // Operador de asignación
00045   // Asigno a un jugador los datos de otro
00046   dado& operator= (const dado& right);
00047 
00048   // Destructor
00049   ~dado ();
00050 
00051   // Get operators
00052   int get_dado1 () const;
00053   int get_dado2 () const;
00054   int get_dadoTotal () const;
00055   bool get_tiradaDoble () const;
00056 
00057   // Set operators
00058   void set_dado1 ( int dado1 );
00059   void set_dado2 ( int dado2 );
00060   void set_dadoTotal ( int dadoTotal );
00061   bool set_tiradaDoble ( bool tiradaDoble );
00062 
00069   void tirarDado ( void );
00070     
00071 };
00072 
00073 inline int dado::get_dado1 () const
00074 {
00075   return _dado1;
00076 }
00077 
00078 inline int dado::get_dado2 () const
00079 {
00080   return _dado2;
00081 }
00082 
00083 inline int dado::get_dadoTotal () const
00084 {
00085   return _dadoTotal;
00086 }
00087 
00088 inline bool dado::get_tiradaDoble () const
00089 {
00090   return _tiradaDoble;
00091 }
00092 
00093 
00094 inline void dado::set_dado1 ( int dado1 )
00095 {
00096   _dado1 = dado1;
00097 }
00098 
00099 inline void dado::set_dado2 ( int dado2 )
00100 {
00101   _dado2 = dado2;
00102 }
00103 
00104 inline void dado::set_dadoTotal ( int dadoTotal )
00105 {
00106   _dadoTotal = dadoTotal;
00107 }
00108 
00109 inline bool dado::set_tiradaDoble( bool tiradaDoble )
00110 {
00111   _tiradaDoble = tiradaDoble;
00112 }
00113 
00114 
00115 #endif

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