コード例 #1
0
ファイル: mainwindow.cpp プロジェクト: Vourhey/MineSweeper
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()));
}
コード例 #2
0
ファイル: Menu.cpp プロジェクト: LaughingCabbage/Asteroid
void Menu::selectOption(){
    switch(menuOptions){
        case play:
            playGame();
        break;
        case score:
            showHighScore();
        break;
        case options:
            //options
        break;

    }
}
コード例 #3
0
ファイル: Engine.cpp プロジェクト: simon445561/SDL_Game
void Engine::EngineLoop( )
{
    SDL_Event currentEvent;
    startTick = SDL_GetTicks( );
    while( SDL_PollEvent( &currentEvent ) )
    {
        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) );
    }
}