贪吃蛇的游戏规则:上下左右方向键控制贪吃蛇游动,不要撞到墙、不要碰到自己身体,每次吃到食物速度都会加快。
我觉得,贪吃蛇其实难点还是一些我们不熟悉的函数:比如怎么定位光标处,比如怎么控制方向,比如怎么随机设定食物并且使食物落在地图内......
我们来看看怎么定位光标处
<strong><span style="font-size:18px;">void Move(int x ,int y)
{
COORD c;//定义结构体变量
c.X = x;
c.Y = y;
HANDLE handle;//定义一个句柄
handle = GetStdHandle(STD_OUTPUT_HANDLE);//获得输出设备的句柄
SetConsoleCursorPosition(handle,c);//定位句柄控制光标
}</span></strong>
这里有注释应该理解不会很困难,为了更深入的理解,我们看看下面的图解
那么,方向又该如何处理呢?
<strong><span style="font-size:18px;">if (GetAsyncKeyState(VK_UP) && _status != U)
{
_status = U;
}
else if (GetAsyncKeyState(VK_DOWN) && _status != D)
{
_status = D;
}
else if (GetAsyncKeyState(VK_LEFT) && _status != L)
{
_status = L;
}
else if (GetAsyncK