簡單遊戲循環事件

//define for game loop states
#define GAME_INIT//遊戲初始化
#define GAME_MENU//遊戲菜單
#define GAME_STARTING//遊戲開始
#define GAME_RUN//遊戲運行
#define GAME_RESTART//遊戲重新開始
#define GAME_EXIT//退出遊戲
int game_state = GAME_INIT;//game_state遊戲狀態
int error = 0;//錯誤代碼爲0
void main()
{
    while (game_state!=GAME_EXIT)//判斷退出遊戲條件
    {
        switch (game_state)
        {
        case GAME_INIT:
        {
                          Init();//初始化,分配系統資源
                          game_state = GAME_MENU;//進入菜單界面
        }break;
        case GAME_MENU:
        {
                          game_state = Menu();//可以從此進入遊戲
        }break;
        case GAME_STARTING:
        {
                              Set_For_Run();//可選,設置
                              game_state = GAME_RUN;//開始遊戲
        }
        case GAME_RUN:
        {
                         Clear();//清空電腦資源佔用
                         Get_Input();//輸入信息
                         Do_Logic();//邏輯動作
                         Render_Frame();//下一個框架
                         Wait();//等待
        }break;
        case GAME_RESTART:
        {
                             Fixup();//清理狀態
                             game_state = GAME_MENU;//再次開始
        }break;
        case GAME_EXIT:
        {
                          Release_And_CleanUp();釋放系統資源
                          error = 0;
        }  
        default:break;
        }
    }
    return error;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章