c语言小游戏--贪吃蛇

贪吃蛇设计流程:

(1)数据设计

  • 辅助宏定义

游戏地图的宽和高,以及蛇的最大长度

  • 食物结构体

食物在地图上x和y上的显示

  • 蛇结构体

蛇的长度,蛇得每一节的坐标存储,蛇的移动速度

  • 辅助全局变量

蛇是否变化,蛇的初始移动方向

(2)模块化设计

  • 地图设计

void drawMap();//绘制游戏地图

  • 按键处理

void keyDown();//按键处理

  • 食物设计

voidcreateFood();//产生食物

  • 辅助函数

void gotoxy(int x,int y);//cmd移动辅助函数

  • 终止游戏

int snakeStaus();//蛇状态

(3)具体实现
1.辅助函数:void gotoxy(int x,int y);//cmd移动辅助函数

//
//			cmd移动辅助函数
void gotoxy(int x, int y)
{
	//获取cmd窗口句柄
	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	//光标坐标
	COORD coord;
	//设置窗口坐标
	coord.X = x;
	coord.Y = y;
	SetConsoleCursorPosition(handle, coord);
}

2.地图设计: void drawMap();//绘制游戏地图


//	  绘制游戏地图
void drawMap()
{
	srand((unsigned int)time(NULL));
	//食物
	//1.食物属性
	food.x = rand() % (MAPWIDTH - 4/*食物图标占用2个字符*/) + 2;
	food.y = rand() % (MAPHEIGHT - 2) + 1;
	//2.画食物
	gotoxy(food.x, food.y);
	printf("⊙");
	//蛇
	//1.蛇属性
	mysnake.x[0] = MAPWIDTH / 2;	//定位在中间
	mysnake.y[0] = MAPHEIGHT / 2;
	//2.画蛇
	gotoxy(mysnake.x[0], mysnake.y[0]);
	printf("■");
	mysnake.le
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值