#pragma once #include "common.h" #include "Snake.h" #include "Food.h" #include "RankList.h" class Game { private: int m_GameState; //游戏状态,0在主UI,1在游戏中,2在排行榜,3在游戏规则中 PlayerMsg m_msg; PlayerMsg m_msg1; //游玩数据 PlayerMsg m_msg2; Snake* m_snake; //蛇 Snake* m_snake2; //蛇2 Food* m_food; //食物 RankList* m_ranklist; //排行榜 public: Game(); ~Game(); void Init(); //初始化 void Run(); //控制程序 void Close(); //关闭程序,释放资源 private: void InitData(); //初始化数据(单人) void InitData2(); //初始化数据(双人) void PlayGame(); //单人模式 void PlayGame2(); //双人模式 void ShowMainUI(); //展示主UI void ShowRank(); //排行榜展示 void ShowRule(); //展示规则界面 void DrawGamePlay(); //绘制初始游戏界面(单人) void DrawGamePlay2(); //绘制初始游戏界面(双人) void DrawScore(); //绘制分数 void DrawSnakeLen(); //绘制长度 void DrawSpeed(); //绘制速度 void DrawScore2(); //绘制分数2 void DrawSnakeLen2(); //绘制长度2 void DrawSpeed2(); //绘制速度2 void DrawRunning(); //绘制正在运行 void DrawPause(); //绘制暂停提示 void DrawRebegin(); //绘制重新开始(单人) void DrawRebegin2(); //绘制重新开始(双人) void DrawGameOver(); //绘制游戏结束 void ChangeChooseUI(int left, int top, int right, int bottom, int kind);//修改选中的选项颜色 void ClearRegion(int left, int top, int right, int bottom); //使用黑色清除指定区域 };