Exemplo n.º 1
0
/*  KEY PRESS HANDLERS  */
void Engine::keyPressEvent(QKeyEvent *event)
{
    switch (event->key())
    {
        case Qt::Key_Left:            
            keyLeft=true;
            break;
        case Qt::Key_Right:
            keyRight=true;
            break;
        case Qt::Key_Space:
            keySpace=true;
            break;
        case Qt::Key_Escape:
            keySpace=true;
            break;
        case Qt::Key_A:
            spawnPowerUp(1);
            break;
        case Qt::Key_S:
            spawnPowerUp(2);
            break;
        case Qt::Key_D:
            spawnPowerUp(3);
            break;
        case Qt::Key_F:
            spawnNormalEnemyWave();
            break;
    }    
}
Exemplo n.º 2
0
//updates with single frame
void InGame::update(Snake &snake)
{	
	
	spawnPowerUp(snake);
	detectCollision(apple,snake);
	if (isSnakeSlowedDown == true) 
	{
		time_t current = clock();
		static time_t cooldown = 5000;
		printf("elapsed::%i\n", current - previous);
		if (current - previous > cooldown)
		{
			BluePowerUp::revertBonus();
		}
		
	}
	if (apple == NULL)
	{	
		apple = apple->spawnObject<Apple>(snake);
	}

	if (powerUp != NULL)
	{
		detectCollision(powerUp, snake);
	}

	snake.move();
	isGameOver();
}