C语言写的贪吃蛇(国庆任务项目)

分享写贪吃蛇的缘起

博主大一新生,因为有任务C语言写贪吃蛇,去网上找别人的源代码试一试效果,可是没有一个可以通过编译运行,现在博主好不容易写完了贪吃蛇,却深感单初不易,现在分享一下源代码,应该不会像网上大多数的C语言贪吃蛇代码无法编译正确,通过运行。(我用的Dev-C++5.11)

介绍

我这个是数组+清屏打印system(“cls”)类的,没用光标,毕竟很多初学者如果不是特殊情况不会去了解光标。
我的游戏名称为贪钱蛇因为吃的是钱¥

一、游戏基本功能与设定

初始化蛇与¥(吃了长度加一)!!(吃了长度减一)
死:
1、撞墙而死
2、吃自己尾巴而死
胜利:长度为10时胜利退出游戏(因为我玩游戏水平太低,为了让自己体验胜利的快感,所以…)
3、按空格键可以快捷死亡

二、 特殊设定

1、!!吃感叹号就短一节
2、音效(虽然很简单,但胜过无 :靠的是 \a)
3、变色:2~7节,不同长短不同颜色。
4、特殊的提示语,…留作彩蛋

源代码:

#include
#include
#include
#include 
#include
#include
#include
//定义全局变量
int map[20][40]; 
int length=3, score=0;//length的作用就跟《城池》这个游戏中的count一样,所以注意length要减一 
char oldDir='d', newDir;//防止默认取值使新旧方向相同 
int snake[10][2];  //如郭学姐所言:【2】中0表示y坐标1表示x坐标  
int food[2]={10,20};
int poison[2]={5,30};

void printGame(void);//打印游戏 
void startSnake(void);//初始化蛇 
void direction(void);//控制方向的函数
void movement(void);//蛇运动的函数
void creatfood(void);//生成食物的函数
void poisonfood(void);//吃毒草,少一个 
void gameover(void);//结束游戏的函数 ,也就是蛇死掉***用0和1判断死或生 
void colorchange(void);//颜色改变 
void printGame()
{//Y坐标在前,横坐标在后,此处要小心 ,而且是倒
	int i, j;  //打印边界          
	for(i=0;i<20;i++){    
	    map[i][0]=4;        
	    map[i][39]=4;       
	}                     
	for(j=0;j<40;j++){     
		map[0][j]=4;      
	    map[19][j]=4;       
	}
	map[food[0]][food[1]]=2;//让新区域为食物
	map[poison[0]][poison[1]]=3;//让新区域为du
	for(i=0;i

写在最后:

因为学了C语言一周后就开始写贪吃蛇,花了3~4天。
难免会有错误与bug。
如果有谁发现调皮的bug欢迎斧正。
lalalalalalalalalala。终于写完啦!

你可能感兴趣的:(C语言,C语言,贪吃蛇)