描述
贪吃蛇游戏大家应该都玩过,比如说诺基亚上面的贪吃蛇,或者微信和QQ都有一个小程序叫做贪吃蛇大作战。。。
这次我放的源码是一个没什么好玩的贪吃蛇游戏,已w s a d操作,p键暂停,回头会死(什么算是回头:比如说你现在向上走,那么你按一下s,你就会死,还会打印一行文本,你要玩了才能看见)
这是1.1的版本,具体有没有bug我也不知道,反正已经修改了一个bug。。。
不说废话了。。。
如果觉得代码可视度较低,可前往云剪贴板查看,链接:
http://ruige.fun/html/clipboard?id=20200605145459000000087028700.cpp
码
#include<iostream>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<conio.h>
using namespace std;
#define high 20 //定义地图的高度
#define width 30 //定义地图的宽度
#define snake_maxlength 200 //蛇长最大值
int snake_x[snake_maxlength],snake_y[snake_maxlength]; //蛇的坐标
int snake_length; //蛇现在的长度
int map[high][width]= {
0}; //初始化地图,0表示空格,1表示蛇身,2表示食物,
//3表示墙,4表示蛇头,现在地图中什么也没有
int food_x,food_y; //食物的坐标
int score; //本局分数
char input; //读取用户键入的字符
char primeinput='.'; //primeinput在input脱离wasd时,用来存储input
int op; //速度控制全局变量
//数据的初始化函数
void setdata() {
snake_x[0]=high/2;
snake_y[0]=width/3; //初始化蛇头,在地图内的位置随意
snake_x[1]=high/2;
snake_y[1]=width/3+1; //初始化蛇身
snake_length=2; //蛇的原始尺寸(一格头一格身子)
food_x=high/3,food_y=width/3; //初始化食物的位置,在地图内位置随意
score=0;
int i,j;
map[snake_x[0]][snake_y[0]]=4; //蛇头
map[snake_x[1]][snake_y[1]]=1; //蛇身
map[food_x][food_y]=2; //食物
for