C语言游戏项目——贪吃蛇游戏

  • 贪吃蛇游戏所需要运用到的知识

  • 贪吃蛇游戏创建界面

  • 贪吃蛇游戏框架基本函数

  • 贪吃蛇游戏总代码


    因为本人在编写贪吃蛇的时候会用到easyX,所以建议读者可以先了解一些EasyX,这样能够帮助你对本篇文章的理解。

1.贪吃蛇需要的知识

结构体,枚举,函数,在进行游戏界面的创建的时候会用到C++的图形绘制easyX,因为贪吃蛇的控制是在键盘上来实现控制的,所以还需要引用头文件<conio.h>(当然这个头文件也是在easyX中的)。所以基本上就是需要结构体,函数,数组这些知识。

 2.贪吃蛇游戏界面的创建

虽然我们平时在写代码观看代码的运行的时候,会出现一个黑色的程序框,但是用easyX除了会保留原有的黑色程序框之外,还会在创建一个新的程序框,原有的黑色程序框可以方便我们后期对游戏数据进行观察。

#include <stdio.h>
#include <graphics.h>//
#define WIDE 500  // 创建界面的长
#define HEIGHT 300  //创建界面的宽
#define MAX 400 //表示贪吃蛇最大节数为400节
int main()
{
//这个函数用来创建一个新的程序框,也就是游戏窗口。
    initgraph(WIDE,HEIGHT,SHOWCONSOLE)
    //SHOWCONSOLE 表示所创建的程序窗口是正常的,存在最小化和关闭功能
    //NOCLOSE 表示所创建的程序窗口是没有关闭功能的,没有完全通过游戏是不让进行关闭的
    //NOMINIMIZE 表示所创建的程序窗口是没有最小化功能。
while(1)
{

}//之所以要这个,是因为如果没有的话所创建的程序窗口会一闪而过。
closegrapg();//这个函数的作用是关闭上面所创建的程序窗口,创建窗口总是需要关闭的,不然它会一直存在那里

return 0;
}

这样在程序运行的时候除了会出现原有的黑色控制台窗口,还会再出现一个长为500,宽为300的游戏窗口。

3.贪吃蛇游戏基本函数

1,创建贪吃蛇的基本属性——初始移动方向,初始长度,初始移动速度,初始节数所对应的坐标。利用结构体来将这些数据都弄在一起。

//创建贪吃蛇的数据
struct Snake
{
	int length;//贪吃蛇的长度
	int speed;//贪吃蛇的移动速度
	int dir;//贪吃蛇的初始移动方向
	POINT pos[MAX];//贪吃蛇的初始出现坐标
//POINT 用来定义一个结构体变量,这里用来定义pos,使pos能存下每节圆的圆心位置。
};

2,初始化游戏数据

当然这里只是来初始化贪吃蛇的初始化数据,还没有对食物的基本数据进行初始化。


//进行游戏开始的数据初始化
void initgame()
{
	snake.length = 3;//初始长度
	snake.speed = 8;//初始移动速度
	snake.dir = RIGHT;//初始移动方向
	for (int i = 0; i < snake.length; i++)//这里是来定位贪吃蛇每节圆的圆心位置
	{
		snake.pos[i].x = 40 - 10 * i;
		snake.pos[i].y = 10;
	}
}

3,初步绘画出游戏的基本界面

//进行游戏绘画界面
void gamedrw()
{
    //建立双缓冲区绘画界面,这样可以使贪吃蛇在移动
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

遇见陌生人了

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

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

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

打赏作者

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

抵扣说明:

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

余额充值