美化贪吃蛇(EasyX)

上次不是写了个贪吃蛇么,我觉得不够好看
学了学EasyX,决定给他美化一下并重构了函数
大致思路就是先画线格,然后决定地图的大小,这就是蛇的运动路线
然后拐弯什么的通过枚举方向处理蛇头就行,增长长度就是给蛇添加数量就行,我这里就是把蛇处理成结构体
其他思路也就是大致一样的,具体看代码咯,撞墙就是看它蛇头会不会越界就行了
看代码吧

#define _CRT_SECURE_NO_WARNINGS
//因为我用的是VS2019,这里取消一下安全性检查(这里代码都是c++了昂)
#include<graphics.h>
//EasyX的库
#include <conio.h>
//随机函数
#include<stdio.h>
#include<time.h>
enum dir{
   
   left,right,up,down};
bool ai = false;
//描述一个点
struct point {
   
   
	int x;
	int y;
};
//蛇的结构体
struct snake {
   
   
	struct point xy[100];
	int num;
	char position;
}bigsnake;
//展示分数用
int score = 0;
void drawline() {
   
   
//这里的函数是设置线的颜色,然后规定窗口大小,然后画线
	setlinecolor(RGB(232, 232, 236));
	rectangle(0, 0, 800, 600);
	for (int x = 0; x <= 800; x += 10) {
   
   
		for (int y = 10; y <= 600; y += 10) {
   
   
			line(x, 0, x, 600);
			line(0, y, 800, y);
		}
	}
}
//初始化蛇
void initSnake() {
   
   
	bigsnake.num = 3;
	bigsnake.position = right;
	for (int i = bigsnake.num - 1; i >= 0; i--) {
   
   
		bigsnake.xy[i].x = 10 *( (bigsnake.num - 1) - i);
		bigsnake.xy[i].y = 20;
	}
}
//画蛇
void drawSnake() {
   
   
	for (int i = 0; i < bigsnake.num; i++)
	{
   
   
		//设置颜色
		setlinecolor(BLACK);
		//设置填充的颜色,随机颜色变成大彩蛇,非常银杏
		setfillcolor(RGB
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值