//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;
}