/* 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; } }
//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(); }