在updateWithInput() 函数中按a、s、d、w键改变moveDirection
判断游戏结束的条件
#include
#include
#include
#include
#define High 20 //游戏画面尺寸
#define Width 30
// 全局变量
int moveDirection; //小蛇移动的方向,上下左右分别用1234表示
int canvas[High][Width]={0}; //二位数组存储游戏画布中对应的元素
//0为空格,-1为边框#,1为蛇头@,大于1的正数为蛇身*
void gotoxy(int x,int y)
{
HANDLE handle =GetStdHandle(STD_OUTPUT_HANDLE); //handle把手
COORD pos;
pos.X=x;
pos.Y=y;
SetConsoleCursorPosition(handle,pos); //pos销售点
}
//移动小车
//第一部扫描数组canvas的所有元素,找到正数元素都加1
//找到最大元素(即蛇尾巴),把其变为0
//找到等于2的元素(即蛇头),根据输出的上下左右方向把对应的另一个像素值
// 设为1(新蛇头)
void moveSnakeByDirection()
{
int i,j;
for(i=1;i0)
canvas[i][j]++;
int oldTail_i,oldTail_j,oldHead_i,oldHead_j;
int max=0;
for(i=1;i0)
{
if(max
运行结果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)