22 #ifndef NANCY_ACTION_CARDGAMEPUZZLE_H 23 #define NANCY_ACTION_CARDGAMEPUZZLE_H 25 #include "engines/nancy/action/actionrecord.h" 40 void updateGraphics()
override;
43 void execute()
override;
46 bool isViewportRelative()
const override {
return true; }
50 static const int kMaxCols = 13;
51 static const int kMaxRows = 4;
56 int grid[kMaxRows][kMaxCols];
57 int colCount[kMaxCols];
58 int colComplete[kMaxCols];
62 Common::String getRecordTypeName()
const override {
return "CardGamePuzzle"; }
64 bool dealOne(
int player);
67 bool playColumn(
int col);
72 void startMoveAnimation(
const bool beforeGrid[kMaxRows][kMaxCols]);
79 byte _switchTurnRule = 0;
80 byte _startPlayer = 0;
84 uint16 _dealRounds = 0;
98 uint16 _moveAnimSteps = 0;
99 uint16 _moveAnimDelta = 0;
100 uint32 _moveAnimDelay = 0;
104 uint16 _winSceneStartPlayer = 0;
105 uint16 _winSceneStartEnemy = 0;
107 int16 _winFlagPlayer = -1;
108 int16 _winFlagEnemy = -1;
109 uint16 _exitScene = 0;
111 bool _gaveUp =
false;
123 bool _awaitingEnd =
false;
124 uint32 _endWaitUntil = 0;
129 byte _availMap[kMaxRows][kMaxCols];
130 int _deckRemaining = 0;
131 int _currentTurn = 0;
132 int _lastAiColumn = -1;
133 bool _gameOver =
false;
137 static const int kSlidePerStep = 12;
138 bool _appearing[kMaxRows][kMaxCols] = {};
139 bool _leaving[kMaxRows][kMaxCols] = {};
141 uint32 _animNextStep = 0;
142 bool _animating =
false;
148 #endif // NANCY_ACTION_CARDGAMEPUZZLE_H Definition: managed_surface.h:51
Definition: cardgamepuzzle.h:34
Definition: commontypes.h:152
Definition: cardgamepuzzle.h:55
Definition: actionrecord.h:152
Definition: commontypes.h:255
Definition: actionmanager.h:32