/*programeeropdracht 4 The Nim Game *Pascal de Vos (ID = 0446916) *Rick van der Zwet (ID = 0433373) *file: nimSpel.h *De header van nimSpel.cc, de niet grafische 'database' van mainForm.cc */ #ifndef NIMSPEL_H #define NIMSPEL_H #include "nimStapel.h" #include "const.h" class NimSpel{ public: NimSpel( ); // creator ~NimSpel( ) { }; // destructor int aantalBeurten( ); // geef het aantal zetten/2 terug int aantalOpStapel ( const int nummer ); // geef het aantal op een stapel terug int actieveStapels ( ); // geef het aantal actieve stapels terug bool afgelopen( ); // Kijken af alles afgelopen is void beginWaarden( const int stapelAantal, const int aantal ); // Zet alle waardes weer in startpositie void computerZet ( const bool niveauComputer, int & stapelNummer, int & aantal ); //computerzet creeren void pakWeg( const int stapelNummer, const int aantal ); // Haal Aantal uit Stapels[StapelNummer] void recur( const int aantal, const bool aanBeurt, int & aantalWinst, int & aantalVerlies ); //reken recursief de winst en verliespaden uit void recurKeuze( const int aantal, int & keuze, double & winstKans ); //reken uit wat bij een waarde de beste keuze is void randomZet ( int & stapelNummer, int & aantal ); //Random zet void winnend( int & stapelNummer, int & aantal ); // Win berekening void zetTerug( const int aantalBeurten ); // Ga AantalBeurten terug bool zetMogelijk( const int stapelNummer, const int aantalPakken ); // Kijken of waarde doorgevoerd kan worden private: NimStapel * laatsteZet_pt; // Pointer naar gegevens laatste zet int stapels[MAX_STAPELS]; // aantal luicifers per stapel int aantalZetten; // aantal zetten dat gedaan is int aantalStapels; // geeft het aantal door de gebruiker aangegeven // gewilde stapels weer }; //end NimSpel #endif