贪吃蛇(控制台版)(答案)

正确答案(仅供参考):

#include 
#include 
#include 
#include 
#include 
#include //随机数
#include //日期时间
using namespace std;

class Snake
{
	// 游戏的任意位置 只有三种情况:什么也没有;蛇的身体;食物
	enum class MatrixValueEnum
	{
		NOTHING = '0', SNAKE_BODY = '#', FOOD = '2'
	};
public:
	// 从文件中加载界面数据,存放到内部容器中,再根据容器内容绘制界面
	bool LoadPlayDataFromFile(const std::string& file);
	// 开始游戏
	void Play(void);
private:
	// 用户输入一个字符(e/s/f/d),决定将蛇的头部往哪个方向移动
	bool GoAhead(char userInputDirection);// 核心函数
	// 移动蛇的头的坐标(x,y) = (x,y) + (i,j)
	bool GoAhead(int i, int j);
	//撞到墙壁或者蛇自己的身体就结束游戏
	bool IsGameOver(int, int) const;
	// 获取蛇的头的坐标
	std::pair GetCurrentPosition(void) const;
	// 计算蛇的头移动一次后的新坐标
	std::pair GetNextPosition(int, int) const;
	// 打

你可能感兴趣的:(C++自学精简教程,c++,算法,图论)