void changeState(ChopperDrop* game, State newState) { deleteCurrentState(game); game->currentState = newState; switch(game->currentState) { case MAIN_MENU_STATE: game->state = newMainMenuState(); break; case GAME_STATE: game->state = newGameState(); break; case GAME_OVER_STATE: game->state = newGameOverState(); break; case GAME_WON_STATE: game->state = newGameWonState(); break; default: break; } game->draw = 1; }
void Game::play() { repo.load(); GameStateEnum state = INTRO; while (state != EXIT) { pGameState = newGameState(state); state = pGameState->run(repo); } }
/*@null@*/ GameState* stateForMove(GameState* orig, int column, int player) { GameState* toR; if (orig == NULL || orig->board == NULL) return NULL; toR = newGameState(orig->width, orig->height); if (toR == NULL) return NULL; memcpy(toR->board, orig->board, sizeof(int) * orig->width * orig->height); drop(toR, column, player); return toR; }
void startNewGame() { globalState = newGameState(7, 6); }