把网上大佬的旧版贪吃蛇代码中部分词更新为适合Visual studio 2022 C++的代码,
其中有些时候生成三个食物,吃食物时长度没加长,待后续改进。
参考资料
借鉴了这位大佬的博客及代码,在其基础上进行了修改,特此鸣谢。
C语言简易贪吃蛇(附完整代码)_贪吃蛇c语言代码_snow zhao的博客-CSDN博客
源代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <time.h>
#include <conio.h>
#define frame_height 30//地图尺寸
#define frame_width 50
#define UP 'w'//移动
#define DOWN 's'
#define LEFT 'a'
#define RIGHT 'd'
int i, j, k, sp, score;
char ch = UP, state = UP, choo, n;//初始化方向
int grow = 0;
struct Food//食物
{
int x;//横坐标
int y;//纵坐标
} food;
struct Snake//蛇
{
/*用数组储存蛇的每一部分的坐标*/
int x[100];
int y[100];
int len;//长度
int speed;//速度
} snake;
void map(void);//地图
void update_food(void);//更新食物
void move_snake(void);//蛇的移动
int alive(void);//判断蛇是否死亡
void get_speed(void);//更新速度
void gotoxy(int x, int y);//移动光标,进行游戏界面的打印
int main()
{
do
{
score = 0;//初始化分数为0
/*让用户进行难度选择,有彩蛋*/
printf("Choose the degree of difficulty:\n1:easy\t2:middle 3:difficult\n");
n = _getch();
switch (n)
{
case '1':
{
sp = 300;
break;
}
case '2':
{
sp = 230;
break;
}
case '3':
{
sp = 180;
break;
}
default:
{
printf("Congratulations!Welcome to Devil's difficulty\n");
sp = 120;
break;