aiaiask.com©

开花即结果 提问即答案

用c语言写一个贪吃蛇游戏
原始问题:

用c语言写一个贪吃蛇游戏

include<stdio.h>

include<windows.h>

include<time.h>

//定义地图大小,可以自己改变地图大小,但是要保证地图的最小值不能小于10*10;

define MapX 20 //X轴长度 定义20行 10列的游戏界面 即20*10 的游戏界面

define MapY 10 //Y轴长度

//定义方向常量; 方向用数字来表示:上下左右分别为1,2,3,4; 表示上一步的方向用5表示; 空白处用0表示; 蛇头和食物用9和8来表示。 根据这些数字来显示出不同的字符。比如:0显示为‘ ’ ,1显示为‘↑’ ,2显示为‘↓’ ,3显示为‘←’ ,4显示为'→' ; 9和8对应'@''$'; 5对应' ' ; 其他数字都会默认显式' ' ; 根据这些常量来实时更新地图。 默认情况是snake_dir=5(上一步方向) ; snake_head=9(蛇头) ; food=8(食物) ; blank=0(无元件) ; 后期会逐步加入障碍物功能。 默认情况是障碍物由6来标识。 加入障碍物之后会重新定义一些常量来标识不同的元件。 比如wall=6 (墙壁); snakebody = 7 (贪吃蛇); food = 8 (食物); blank = 0 (无元件) 等 本代代理中并没有使用这些新常量。

const int UP = 1; //上方向键对应1 const int DOWN = 2; //下方向键对应2 const int LEFT = 3; //左方向键对应3 const int RIGHT = 4; //右方向键对应4 const int PREVIOUS_DIR = 5; //前一步的方法 const int SNAKEHEAD = 9; //当前位子标识 const int FOOD = 8 ; //食物标识 const int BLANKSITE= 0 ; //无元件标识

//定义一些函数(函数原型声明) void map(); /打印地图/ void createFood(); /生成食物/ void moveSnake(); /使得贪心性动/ void controlDir(); /控制snake_dir/ bool isDead(); /判断死亡/ bool isEatFood(); /是不是能够eatFood/ void initMap(); /初始化map/ void welcomeGameShow() /打印welcome界面 /

//定义一些参数 char mapMapX; ///存储当前地图信息 struct SnakeNode{int x,y;}snake[100]; ///储存当前位子信息 int lenOfSnakeBody=3; ///储存当前body length bool isDeadFlag=false; ///储存deadflag bool isEatFlag=false ///储存eatflag char inputKey=' ' ///储存inputkey char snake_dir=' ' ///储存snake direction char preDir=' ' ///

用c语言写一个贪吃蛇游戏
https://www.aiaiask.com/ask/12353.html
AI / 模型Siliconflow
时间 / DATEApril 17, 2023, 5:02 PM
语言zh-CN
IP / 区域江苏 苏州