コード例 #1
0
ファイル: CDemo.cpp プロジェクト: Enucatl/bombermaaan-x
void CDemo::Create (void)
{
    CModeScreen::Create();

    // The match has not begun yet
    m_MatchOver = false;
    
    m_IsSongPlaying = false;
    m_NoticedTimeUp = false;

    // Reset mode time (no time has been elapsed in this mode yet)
    m_ModeTime = 0.0f;

    // Don't have to exit this mode yet
    m_HaveToExit = false;

    // Initialize demo text variables
    m_DemoTextTime = 0.0f;
    m_DrawDemoText = false;

    SetupOptions();             // Setting up the options must be done FIRST
    CreateMainComponents();
    CreateFont();

    m_AiManager.SetDisplay(m_pDisplay);
    m_AiManager.Create(&m_Options);
}
コード例 #2
0
ファイル: CMatch.cpp プロジェクト: lukehsiao/BYU_Bomberman
void CMatch::Create (void)
{
    CModeScreen::Create();

    // No match result for the moment
    m_MatchOver = false;
    m_WinnerPlayer = NO_WINNER_PLAYER;
    
    m_IsSongPlaying = false;
    m_NoticedTimeUp = false;

    // Reset mode time (no time has been elapsed in this mode yet)
    m_ModeTime = 0.0f;

    // Don't have to exit this mode yet
    m_HaveToExit = false;

    if (NetworkMode != NETWORKMODE_LOCAL)
    {
        m_pOptions->SetTimeStart(2, 0);
        m_pOptions->SetTimeUp(0, 35);
        
        m_pOptions->SetBomberType(2, BOMBERTYPE_OFF);
        m_pOptions->SetBomberType(3, BOMBERTYPE_OFF);
        m_pOptions->SetBomberType(4, BOMBERTYPE_OFF);
        m_pOptions->SetBattleCount(3);

        if (NetworkMode == NETWORKMODE_SERVER)
        {
            m_pOptions->SetBomberType(0, BOMBERTYPE_MAN);
            m_pOptions->SetBomberType(1, BOMBERTYPE_NET);

#ifdef WIN32
            DWORD TickCount = GetTickCount();
#else
            DWORD TickCount = time(NULL);
#endif
            send(ClientSocket, (const char*)&TickCount, sizeof(DWORD), 0);
            SEED_RANDOM(TickCount);
        }
        else if (NetworkMode == NETWORKMODE_CLIENT)
        {
            m_pOptions->SetBomberType(0, BOMBERTYPE_NET);
            m_pOptions->SetBomberType(1, BOMBERTYPE_MAN);
        
            DWORD TickCount;
            int Received = recv(MySocket, (char*)&TickCount, sizeof(DWORD), 0);
#ifdef WIN32
                if (Received == SOCKET_ERROR)
                    theConsole.Write("recv error : %d\n", WSAGetLastError());
#else
                if (Received == -1)
                    theConsole.Write("recv error : %d\n", Received);
#endif
            SEED_RANDOM(TickCount);
        }
    }

    CreateMainComponents ();

    // Set computerPlayersPresent to true when there are AI players in this match
    computerPlayersPresent = false;
    for ( int i = 0; i < MAX_BOMBERS; i++ ) {
        if ( m_pOptions->GetBomberType( i ) == BOMBERTYPE_COM ) {
            computerPlayersPresent = true;
        }
    }
    
    if ( computerPlayersPresent ) {
        m_AiManager.SetDisplay(m_pDisplay);
        m_AiManager.Create(m_pOptions);
    }
}