void CTetrisGame::Init() { //获取在选择游戏界面设置的速度和等级 m_iSpeed = GET_INTVALUE("SPEED", 0); m_iLevel = GET_INTVALUE("LEVEL", 0); //更新等级和速度 m_pGameScene->UpdateLevel(m_iLevel); m_pGameScene->UpdateSpeed(m_iSpeed); InitData(); }
//初始化 void CChooseGame::Init() { m_iGameIndex = GET_INTVALUE("GAME", GAME_RACING); //更新速度和等级显示 m_iSpeed = 0; m_iLevel = 0; m_pGameScene->UpdateLevel(m_iLevel); m_pGameScene->UpdateSpeed(m_iSpeed); m_iAnimIndex = 0; m_pAnimData = nullptr; m_bFirstAnim = false; m_fCurTime = 0; //重置分数 m_pGameScene->UpdateScore(0, false); m_pGameScene->UpdateHighScore(m_iGameIndex); //背景音乐 if (!AUDIO_INSTANCE()->isBackgroundMusicPlaying()) { PLAY_BGMUSIC(BGM_START, true); } //重置小方块状态 m_pGameScene->UpdateSmallBricks(); }
//初始化 void CSnakeGame::Init() { //获取在选择游戏界面设置的速度和等级 m_iSpeed = GET_INTVALUE("SPEED", 0); m_iLevel = GET_INTVALUE("LEVEL", 0); //默认生命数为4 m_iLife = GET_INTVALUE("LIFE", 4); //初始化当前分数 m_iScore = 0; //更新界面,分数、等级和生命 m_pGameScene->UpdateScore(m_iScore, false); m_pGameScene->UpdateLevel(m_iLevel); m_pGameScene->UpdateSmallBricks(); InitData(); }
void CTetrisGame::InitData() { //初始化所有方块状态 for (int i = 0; i < ROW_NUM; ++i) { for (int j = 0; j < COLUMN_NUM; ++j) { m_arrBrick[i][j] = false; } } //初始化分数 m_iScore = 0; //加载存档 bool bRecordValidFlag = GET_BOOLVALUE("TETRIS_RECORD_VALID", false); if (bRecordValidFlag) { CGeneralManager::getInstance()->LoadTetrisData(m_arrBrick); m_iScore = GET_INTVALUE("SCORE_RECORD", 0); } //更新显示分数 m_pGameScene->UpdateScore(m_iScore, false); //随机下一个方块类型 m_iNextShape = Random(0, GetShapeCount()); //产生新的方块 RandNewShape(); //游戏状态 m_enGameState = GAMESTATE_RUNNING; //时间相关 m_fMoveDownTime = 0; m_fBtnCheckTime = 0; m_fSelfFlashTime = 0; //炸弹闪烁次数 m_iSelfFlashCount = 0; //标记 m_bLeftBtnPressed = false; m_bRightBtnPressed = false; m_bFastMoveDown = false; m_bSelfShowFlag = true; m_pGameScene->UpdateBricks(); }