00001 #ifndef MISC_FREECELL_GAME_BOARDS_H 00002 #define MISC_FREECELL_GAME_BOARDS_H 00003 00011 00012 #include "AFreecellGameBoard.h" 00013 00015 class MicrosoftFreecellGameBoard : public AFreecellGameBoard 00016 { 00017 public: 00019 MicrosoftFreecellGameBoard(bool Display10AsT); 00021 virtual ~MicrosoftFreecellGameBoard(); 00022 00027 virtual void Shuffle(int Seed); 00028 00032 virtual void Deal(char* GameBoard); 00033 00037 virtual int GetGameBoardSize(); 00038 }; 00039 00044 class GnomeFreecellGameBoard : public MicrosoftFreecellGameBoard 00045 { 00046 public: 00048 GnomeFreecellGameBoard(bool Display10AsT); 00050 virtual ~GnomeFreecellGameBoard(); 00051 00056 virtual void Shuffle(int Seed); 00057 }; 00058 00062 class AisleRiotGameBoard : public AFreecellGameBoard 00063 { 00064 public: 00066 virtual ~AisleRiotGameBoard(); 00067 00068 /*************************** 00069 When I figure out what the algorithm for the UNIX srandom/random, I'll write 00070 the appropriate functions for the shuffle algorithm 00071 ***************************/ 00076 virtual void Shuffle(int Seed); 00077 00081 virtual int GetGameBoardSize() = 0; 00082 00083 protected: 00085 AisleRiotGameBoard(bool Display10AsT); 00087 AisleRiotGameBoard(); 00088 }; 00089 00091 class AisleRiotFreecellGameBoard : public AisleRiotGameBoard 00092 { 00093 public: 00095 AisleRiotFreecellGameBoard(bool Display10AsT); 00097 virtual ~AisleRiotFreecellGameBoard(); 00098 00102 virtual void Deal(char* GameBoard); 00103 00107 virtual int GetGameBoardSize(); 00108 }; 00109 00111 class AisleRiotKlondikeGameBoard : public AisleRiotGameBoard 00112 { 00113 public: 00115 AisleRiotKlondikeGameBoard(bool Display10AsT); 00117 ~AisleRiotKlondikeGameBoard(); 00118 00122 virtual void Deal(char* GameBoard); 00123 00127 virtual int GetGameBoardSize(); 00128 }; 00129 00131 class AisleRiotEightOffGameBoard : public AisleRiotGameBoard 00132 { 00133 public: 00135 AisleRiotEightOffGameBoard(bool Display10AsT); 00137 virtual ~AisleRiotEightOffGameBoard(); 00138 00142 virtual void Deal(char* GameBoard); 00143 00147 virtual int GetGameBoardSize(); 00148 }; 00149 00151 class AisleRiotSeahavenTowersGameBoard : public AisleRiotGameBoard 00152 { 00153 public: 00155 AisleRiotSeahavenTowersGameBoard(bool Display10AsT); 00157 virtual ~AisleRiotSeahavenTowersGameBoard(); 00158 00162 virtual void Deal(char* GameBoard); 00163 00167 virtual int GetGameBoardSize(); 00168 }; 00169 00171 class AisleRiotBeleagueredCastleGameBoard : public AisleRiotGameBoard 00172 { 00173 public: 00175 AisleRiotBeleagueredCastleGameBoard(bool Display10AsT); 00177 virtual ~AisleRiotBeleagueredCastleGameBoard(); 00178 00179 /*************************** 00180 When I figure out what the algorithm for the UNIX srandom/random, I'll write 00181 the appropriate functions for the shuffle algorithm 00182 ***************************/ 00186 virtual void Deal(char* GameBoard); 00187 00191 virtual int GetGameBoardSize(); 00192 00193 protected: 00197 virtual int GetNumberOfCardsInDeck(); 00198 }; 00199 00200 00201 #endif