//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;
}
转载于:https://blog.51cto.com/zhangyongjian/1399378