void CGame::render() { frameLimiter++; Window::Clear(); switch (gamestate) { case GAME: drawTiles(); handleShots(); drawPowerups(); drawEnemies(); drawEnemyShells(); drawBottomBar(); plane.show(clip_image); break; case START: drawMenus(); break; case GAMEOVER: drawGameOverScreen(); break; } Window::Present(); if (timer.Ticks() > 1000) { Window::ChangeWindowTitle("FPS: " + std::to_string(frameLimiter)); timer.Restart(); frameLimiter = 0; } if (frameLimiter > 60) { SDL_Delay(20); } }
void Game::update() { m_timer->update(); if (m_match->isStarted()) { m_match->update(); m_renderer->beginRender(); drawBoard(m_board->getBoard()); if (m_selectedJewel != -1) { drawSelected(); } drawScoreAndTime(); m_renderer->endRender(); } else if (m_match->isFinished()) { drawGameOverScreen(); } else { drawWelcomeScreen(); } }
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(); }