以下 头文件上的这串代码是因为解决VS2022认为getch()和scanf是不安全的函数,也可以直接写入属性预编译里面,低版本也可以直接不加也没有关系
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_NONSTDC_NO_DEPRECATE
以下是C完整代码直接CV工程师就可以了
main.c
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE
#define _CRT_NONSTDC_NO_DEPRECATE
#include <stdio.h>
#include <Windows.h>
#include <time.h>
#include <conio.h>
#include <stdlib.h>
//设置字体颜色
void color(const unsigned short textColor)
{
if (textColor >= 0 && textColor <= 15)
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), textColor);
else
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 7);
}
//展示规则
int Show_Role()
{
char back = 0;
system("cls");
printf("按住w键即可控制贪吃蛇向上移动\n");
printf("按住a键即可控制贪吃蛇向左移动\n");
printf("按住s键即可控制贪吃蛇向下移动\n");
printf("按住d键即可控制贪吃蛇向右移动\n");
printf("\n按下l键即可返回上级菜单\n");
printf("按下任意键可以继续开始游戏\n");
back = getch();
if (back == 'l'||back=='L')
{
return 1;//按下l键返回菜单
}
else
{
return 0;//按下任意键继续游戏
}
}
//判断蛇是否死亡
int Die(int snack[100][2])
{
char y = 0;
int s = 0;
for(s=1;s<100;s++)
{
if (snack[0][0] == 0 || snack[0][0] == 49 || snack[0][1] == 0 || snack[0][1] == 99 || (snack[0][0] == snack[s][0] && snack[0][1] == snack[s][1]))
{
system("cls");
printf("Game Over!!!\n");
printf(&#