Example #1
0
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); }
}
Example #2
0
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();
	}
}
Example #3
0
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();
}