void MainWindow::createActs() { newAct = new QAction(tr("New"), this); newAct->setShortcut(QKeySequence::New); connect(newAct, SIGNAL(triggered()), m_field, SLOT(newGame())); pauseAct = new QAction(tr("Pause"), this); pauseAct->setCheckable(true); pauseAct->setShortcut(Qt::Key_P); connect(pauseAct, SIGNAL(toggled(bool)), m_field, SLOT(pause(bool))); showHighScoreAct = new QAction(tr("Show High Scores"), this); connect(showHighScoreAct, SIGNAL(triggered()), SLOT(showHighScore())); quitAct = new QAction(tr("Quit"), this); quitAct->setShortcut(QKeySequence::Quit); connect(quitAct, SIGNAL(triggered()), SLOT(close())); showToolbarAct = new QAction(tr("Show Toolbar"), this); showToolbarAct->setCheckable(true); showToolbarAct->setChecked(true); showStatusbarAct = new QAction(tr("Show Statusbar"), this); showStatusbarAct->setCheckable(true); showStatusbarAct->setChecked(true); easyAct = new QAction(tr("Easy"), this); easyAct->setCheckable(true); easyAct->setData(1); connect(easyAct, SIGNAL(triggered()), m_field, SLOT(setDifficulty())); mediumAct = new QAction(tr("Medium"), this); mediumAct->setCheckable(true); mediumAct->setData(2); connect(mediumAct, SIGNAL(triggered()), m_field, SLOT(setDifficulty())); hardAct = new QAction(tr("Hard"), this); hardAct->setCheckable(true); hardAct->setData(3); connect(hardAct, SIGNAL(triggered()), m_field, SLOT(setDifficulty())); customAct = new QAction(tr("Custom"), this); customAct->setCheckable(true); customAct->setData(4); connect(customAct, SIGNAL(triggered()), m_field, SLOT(setDifficulty())); QActionGroup *actGroup = new QActionGroup(this); actGroup->addAction(easyAct); actGroup->addAction(mediumAct); actGroup->addAction(hardAct); actGroup->addAction(customAct); easyAct->setChecked(true); aboutAct = new QAction(tr("About"), this); aboutAct->setShortcut(QKeySequence::HelpContents); connect(aboutAct, SIGNAL(triggered()), SLOT(aboutSlot())); }
void Menu::selectOption(){ switch(menuOptions){ case play: playGame(); break; case score: showHighScore(); break; case options: //options break; } }
void Engine::EngineLoop( ) { SDL_Event currentEvent; startTick = SDL_GetTicks( ); while( SDL_PollEvent( ¤tEvent ) ) { switch( currentEvent.type ) { case SDL_QUIT: engineState = Engine::exiting; break; case SDLK_ESCAPE: engineState = Engine::showingMenu; break; } if( currentEvent.type == SDL_KEYDOWN && engineState == Engine::playing ) { switch( currentEvent.key.keysym.sym ) { case SDLK_KP1: if( player.getBonus() ) player.setDirection( 5 ); else player.setDirection( 6 ); player.Move( ); break; case SDLK_KP2: if( player.getBonus() ) player.setDirection( 4 ); else player.setDirection( 3 ); player.Move( ); break; case SDLK_KP3: if( player.getBonus() ) player.setDirection( 6 ); else player.setDirection( 5 ); player.Move( ); break; case SDLK_KP4: if( player.getBonus() ) player.setDirection( 1 ); else player.setDirection( 2 ); player.Move( ); break; case SDLK_KP6: if( player.getBonus() ) player.setDirection( 2 ); else player.setDirection( 1 ); player.Move( ); break; case SDLK_KP7: if( player.getBonus() ) player.setDirection( 7 ); else player.setDirection( 8 ); player.Move( ); break; case SDLK_KP8: if( player.getBonus() ) player.setDirection( 3 ); else player.setDirection( 4 ); player.Move( ); break; case SDLK_KP9: if( player.getBonus() ) player.setDirection( 8 ); else player.setDirection( 7 ); player.Move( ); break; } } } switch( engineState ) { case Engine::playing: Game( ); break; case Engine::showingDeath: showDeath( ); break; case Engine::showingSplash: showSplash( ); break; case Engine::showingMenu: showMenu( ); break; case Engine::restart: Restart( ); break; case Engine::starting: Starting( ); break; case Engine::showingHighscore: showHighScore( ); break; case Engine::enteringName: enterName( ); break; } SDL_Flip( screen ); if( SDL_GetTicks( ) - startTick < 1000 / 30 ) { SDL_Delay( ( 1000 / 30 ) - (SDL_GetTicks() - startTick) ); } }