void CTetrisGame::Play(float dt) { if (m_enGameState == GAMESTATE_PAUSE) { //目前只有炸弹需要持续显示一段时间 if (UpdateSelfState(dt)) { if (++m_iSelfFlashCount >= BOMB_BOOM_FLASH_COUNT) { //切换进行中状态 m_enGameState = GAMESTATE_RUNNING; //产生新方块 RandNewShape(); } } } else if (m_enGameState == GAMESTATE_RUNNING) { //闪烁状态更新 bool bUpdateFlag = UpdateSelfState(dt); //方块移动 bUpdateFlag = BrickMove(dt) || bUpdateFlag; if (!bUpdateFlag) { return; } } else if (m_enGameState == GAMESTATE_OVER) { //标记存档无效 SET_BOOLVALUE("RECORD_VALID", false); m_pGameScene->RunScene(SCENE_GAMEOVER); return; } m_pGameScene->UpdateBricks(); }
//设置声音状态 void CGeneralManager::SetSoundState(bool bState) { m_bSoundOn = bState; SET_BOOLVALUE("SOUND", m_bSoundOn); }