/*programeeropdracht 4 The Nim Game *Pascal de Vos (ID = 0446916) *Rick van der Zwet (ID = 0433373) *file: mainForm.h *De header van mainForm.cc, het hoofdprogramma */ #ifndef MAINFORM_H #define MAINFORM_H #include "stapelGroupBox.h" #include "nimSpel.h" #include class QFrame; class QLCDNumber; class QLabel; class QCheckBox; class QProgressBar; class QSlider; class QPushButton; class MainForm: public QMainWindow { Q_OBJECT public: MainForm(); ~MainForm(); QPopupMenu *optionsMenu; public slots: void stapelBoxPressedMinButton( int, int ); //stapelnummer, aantal private slots: void fileNew(); //nieuw spel beginnen void fileQuit(); //programma beeindigen void helpAbout(); //about venster laten zien void helpAboutQt(); //about Qt venster laten zien void winnendEnable( int ); //laat winnend venster zien(1) of niet(0) void computerZet( ); //computer laten zetten void terugZetten( ); //zet beurten terug private: //private variablen StapelGroupBox *stapelBox[MAX_STAPELS]; //keuze spel boxjes NimSpel *spelData; //Hier wordt in gerekend en data verwerkt int stapelAantal; //Aantal stapel in het spel int stokjesMin; //Min aantal stokjes (altijd 0) int stokjesMax; //Max aantal stokjes int niveauComputer; //Niveau van computer 1=Random, 2=Winnend int compAantalPakken; //Wat gaat de computer zetten (aantal) int compStapelNummer; //(stapel nummer) //private functies void clearBord( int stapelAantalLocal, int stokjesMinLocal, int stokjesMaxLocal ); //leeg speelveld void computerDialog( bool enabled ); //laat computerkeuze zien void createBord( int stapelAantalLocal, int stokjesMinLocal, int stokjesMaxLocal ); //maak nieuw spelveld aan void winstDialog( int spelerNummer ); //creer output, afhankelijk wie //gewonnen heeft void updateTerugzetten( ); //ververs vak terugzetten void updateStapelBox( int stapelNummer, int aantalPakken, int spelerNummer ); //ververs spelveld void updateWinnend( ); //werk winnend venster bij //private grafische onderdelen QPopupMenu *fileMenu; QPopupMenu *helpMenu; QFrame* winnendFrame; QLCDNumber* winnendAantalLCDNumber; QLCDNumber* winnendStapelLCDNumber; QLabel* winnendStapelTextLabel; QLabel* winnendAantalTextLabel; QCheckBox* winnendCheckBox; QFrame* compDialogFrame; QLCDNumber* compDialogStapelLCDNumber; QLabel* compDialogStapelTextLabel; QLCDNumber* compDialogAantalLCDNumber; QLabel* compDialogAantalTextLabel; QPushButton* compDialogPushButton; QFrame* terugzettenFrame; QProgressBar* terugzettenProgressBar; QLCDNumber* terugzettenLCDNumber; QSlider* terugzettenSlider; QPushButton* terugzettenPushButton; }; #endif