22 #ifndef NANCY_ACTION_CARDGAMEPUZZLE_H 23 #define NANCY_ACTION_CARDGAMEPUZZLE_H 25 #include "engines/nancy/action/puzzlerecord.h" 39 void updateGraphics()
override;
42 void execute()
override;
45 bool isViewportRelative()
const override {
return true; }
49 static const int kMaxCols = 13;
50 static const int kMaxRows = 4;
55 int grid[kMaxRows][kMaxCols];
56 int colCount[kMaxCols];
57 int colComplete[kMaxCols];
61 Common::String getRecordTypeName()
const override {
return "CardGamePuzzle"; }
63 int dealOne(
int player);
67 bool usesColumnButtons()
const {
return _columnButtons[0].top != _columnButtons[0].bottom; }
70 bool hasPlayableColumn(
int side)
const;
74 bool takeCards(
int side,
int col);
75 void beginAsk(
int side,
int col);
78 void startPlayerTurn();
82 void startMoveAnimation(
const bool beforeGrid[kMaxRows][kMaxCols]);
87 byte _switchTurnRule = 0;
88 byte _startPlayer = 0;
92 uint16 _dealRounds = 0;
105 uint16 _moveAnimSteps = 0;
106 uint16 _moveAnimDelta = 0;
107 uint32 _moveAnimDelay = 0;
112 uint16 _dealFrameCount[2] = {};
113 uint32 _dealFrameDelay[2] = {};
119 uint16 _winSceneStartPlayer = 0;
120 uint16 _winSceneStartEnemy = 0;
121 int16 _winFlagPlayer = -1;
122 int16 _winFlagEnemy = -1;
123 bool _gaveUp =
false;
137 bool _awaitingEnd =
false;
138 uint32 _endWaitUntil = 0;
149 Phase _phase = kWaitInput;
152 bool _goAgain =
false;
153 uint32 _aiDelayUntil = 0;
157 byte _availMap[kMaxRows][kMaxCols];
158 int _deckRemaining = 0;
159 int _currentTurn = 0;
160 int _lastAiColumn = -1;
161 bool _gameOver =
false;
165 static const int kSlidePerStep = 12;
166 bool _appearing[kMaxRows][kMaxCols] = {};
167 bool _leaving[kMaxRows][kMaxCols] = {};
169 uint32 _animNextStep = 0;
170 bool _animating =
false;
173 bool _handAnimActive =
false;
174 int _handAnimSide = 1;
175 uint16 _handFrame = 0;
176 uint32 _handNextFrame = 0;
182 #endif // NANCY_ACTION_CARDGAMEPUZZLE_H
Definition: cardgamepuzzle.h:33
Definition: cardgamepuzzle.h:54
Definition: puzzlerecord.h:37
Definition: commontypes.h:306
Definition: actionmanager.h:32