C语言贪吃蛇

一、说明

  • 编译环境:vs 2019
  • 需要安装 eazyx(几秒钟就行)
  • 代码注释详细
  • 成像图
    蛇身和食物颜色都会不断变化

二、制作思路

  1. 界面
    大小、颜色
  2. 蛇的初始化
    蛇身形状、长度,出现在地图的位置,一开始往哪个方向移动
  3. 食物的随机出现
    播种:srand((unsigned int)time(NULL));
    随机函数:rand()
  4. 蛇的行动操作(移动和吃食物)
    WASD
    不能直接走与自身方向相反的方向,如:
     向右走时不能向左
  5. 蛇死亡条件
    撞边界、撞自己
  6. 得分的计算
    吃食物得分,打印在界面
  7. 如何画蛇、画食物

三、代码

//在代码中取消 Unicode 编码的宏定义,让后续编译都以 MBCS 编码进行
#undef UNICODE
#undef _UNICODE

#include<stdio.h>
#include<conio.h> // _getch  _kbhit
#include<time.h>
#include<graphics.h> //需安装easyX

//界面大小,可直接修改
#define M 600
#define N 400

typedef struct {
   
	int x, y;
}point;//坐标xy,与数学的坐标略有不同
struct snake {
   
	point xy[100];
	int position;
	int lenth;
}snake;
struct food {
   
	int flag = 0;//判断食物是否存在
	point fdxy;
	int grade = 0;
}food;

enum position {
    up, down, left, right };//枚举

//蛇,初始化蛇的位置
void startsnake()
{
   
	//蛇头
	snake.xy[0].x = 20;
	snake.xy[0].y = 0;

	snake.xy[1].x = 10;
	snake.xy[1].y = 0;

	snake.xy[2].x = 0;
	snake.xy[2].y = 0;

	//蛇初始化方向
	snake.position = right;

	snake
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小木荣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值