Mode PlayMode::frame() { if(!paused) { background->draw(); if(!handleInput()) return MENU; if(!crashed) { moveField(); background->update(); updatePlayer(); generateWalls(); generateObstacles(); generateItems(); } updatePlayerTail(); particles->draw(0); particles->draw(2); drawStuff(); particles->draw(4); drawPlayer(); particles->draw(1); floating->draw(); collisionDetect(); obstacleCounter(); drawScorePanel(); if(crashed && !gameOverExplosionTime--) { globalStore->seconds = playtime / 60; globalStore->score = score; globalStore->obstacles = passed; globalStore->stars = collected; storage->read(); storage->insert(score); return GAMEOVER; } particles->update(); floating->update(); } else { drawPauseScreen(); if(!handleInput()) return MENU; } return PLAY; }
void Game::Draw() { player->draw(drawManager); for(auto it = bricks.begin(); it != bricks.end(); ++it) { (*it)->draw(drawManager); } for(auto it = balls.begin(); it != balls.end(); ++it) { (*it)->draw(drawManager); } for(auto it = balls.begin(); it != balls.end(); ++it) { (*it)->draw(drawManager); } life_text->draw(); score_text->draw(); if(paused) drawPauseScreen(); }
void checkGameState() { renderFrame(); renderNextBlockFrame(); switch (gameState) { case 0: // Game play printCanvasBlocks(); drawNextBlock(); renderBlock(); break; case 1: // Game pause drawPauseScreen(); break; case 2: // Game over drawGameOverScreen(); break; } drawInstructions(); drawScoreboard(); }
void PlayState::draw() const { p_rtexture_->draw(background_); for (GameObject* obj : p_objects_) if (obj->getAlive()) p_rtexture_->draw(*obj); p_rtexture_->draw(map_); p_rtexture_->draw(scoreText_); switch (gameplayState_) { case Paused: drawPauseScreen(); break; case DeathScreen: drawDeathScreen(); break; case WinScreen: drawWinScreen(); break; } }