欢迎来到天天文库
浏览记录
ID:55631219
大小:19.00 KB
页数:4页
时间:2020-05-21
《C语言写的简单贪吃蛇-vc6.0编译通过.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#includeusingnamespacestd;#include#include#include#definessize20#definevsize40//地图的水平和垂直尺寸#defineSL200intkey=3,count=0,life=0,whefd=0,score=0,level=1;//k是控制键,count是时间延迟计数器,p死亡证明,m地图上是否有食物。score是分数,level等级。structsnake{intbody[10
2、0][2],lenght,direction;}snake;structmap{charpla[ssize][vsize];}map;voidinit_map(){//初始化地图for(inti=0;i3、e.body[0][1]=snake.lenght-1;map.pla[ssize/2][snake.lenght-1]='@';}snake.direction=3;}voidprint_map(){//打印地图和蛇for(inti=-1;i<=ssize;i++){for(intj=-1;j<=vsize;j++){if((i==-1&&j==-1)4、5、(i==ssize&&j==-1)6、7、(j==vsize&&i==-1)8、9、(j==vsize&&i==ssize))cout<<"+";elseif(i==-110、11、i==12、ssize)cout<<"-";elseif(j==-113、14、j==vsize)cout<<"15、";elsecout<16、[snake.lenght-1][0];//记录蛇尾y=snake.body[snake.lenght-1][1];for(inti=snake.lenght-1;i>0;i--){//将除蛇头外的每一节向前移动一位snake.body[i][0]=snake.body[i-1][0];snake.body[i][1]=snake.body[i-1][1];}if((key+snake.direction)!=5)//按键方向与当前方向相反则无效snake.direction=key;//按键方向有效时,改变蛇的方向。if(s17、nake.direction==1)//1423分别为上下左右。snake.body[0][0]--;elseif(snake.direction==4)snake.body[0][0]++;elseif(snake.direction==2)snake.body[0][1]--;elseif(snake.direction==3)snake.body[0][1]++;if(snake.body[0][0]<018、19、snake.body[0][0]>=ssize20、21、snake.body[0][1]<022、23、snake.body[024、][1]>=vsize)//超界死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]=='@')//撞中自己死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]==14){//吃到食物whefd=0;n=1;score+=level*10;snake.lenght++;if(score>=100){//满足升级分数level++;}}if(life==0){map.pla[snake.body[0][0]][sn25、ake.body[0][1]]='@';//打印蛇头}if(life==026、27、n==0)//消去爬行痕迹map.pla[x][y]='';count=0;//延迟计数清零}intcontrol(){//方向控制if(GetKeyState(VK_UP)<0)return1;/
3、e.body[0][1]=snake.lenght-1;map.pla[ssize/2][snake.lenght-1]='@';}snake.direction=3;}voidprint_map(){//打印地图和蛇for(inti=-1;i<=ssize;i++){for(intj=-1;j<=vsize;j++){if((i==-1&&j==-1)
4、
5、(i==ssize&&j==-1)
6、
7、(j==vsize&&i==-1)
8、
9、(j==vsize&&i==ssize))cout<<"+";elseif(i==-1
10、
11、i==
12、ssize)cout<<"-";elseif(j==-1
13、
14、j==vsize)cout<<"
15、";elsecout<16、[snake.lenght-1][0];//记录蛇尾y=snake.body[snake.lenght-1][1];for(inti=snake.lenght-1;i>0;i--){//将除蛇头外的每一节向前移动一位snake.body[i][0]=snake.body[i-1][0];snake.body[i][1]=snake.body[i-1][1];}if((key+snake.direction)!=5)//按键方向与当前方向相反则无效snake.direction=key;//按键方向有效时,改变蛇的方向。if(s17、nake.direction==1)//1423分别为上下左右。snake.body[0][0]--;elseif(snake.direction==4)snake.body[0][0]++;elseif(snake.direction==2)snake.body[0][1]--;elseif(snake.direction==3)snake.body[0][1]++;if(snake.body[0][0]<018、19、snake.body[0][0]>=ssize20、21、snake.body[0][1]<022、23、snake.body[024、][1]>=vsize)//超界死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]=='@')//撞中自己死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]==14){//吃到食物whefd=0;n=1;score+=level*10;snake.lenght++;if(score>=100){//满足升级分数level++;}}if(life==0){map.pla[snake.body[0][0]][sn25、ake.body[0][1]]='@';//打印蛇头}if(life==026、27、n==0)//消去爬行痕迹map.pla[x][y]='';count=0;//延迟计数清零}intcontrol(){//方向控制if(GetKeyState(VK_UP)<0)return1;/
16、[snake.lenght-1][0];//记录蛇尾y=snake.body[snake.lenght-1][1];for(inti=snake.lenght-1;i>0;i--){//将除蛇头外的每一节向前移动一位snake.body[i][0]=snake.body[i-1][0];snake.body[i][1]=snake.body[i-1][1];}if((key+snake.direction)!=5)//按键方向与当前方向相反则无效snake.direction=key;//按键方向有效时,改变蛇的方向。if(s
17、nake.direction==1)//1423分别为上下左右。snake.body[0][0]--;elseif(snake.direction==4)snake.body[0][0]++;elseif(snake.direction==2)snake.body[0][1]--;elseif(snake.direction==3)snake.body[0][1]++;if(snake.body[0][0]<0
18、
19、snake.body[0][0]>=ssize
20、
21、snake.body[0][1]<0
22、
23、snake.body[0
24、][1]>=vsize)//超界死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]=='@')//撞中自己死亡dead();if(map.pla[snake.body[0][0]][snake.body[0][1]]==14){//吃到食物whefd=0;n=1;score+=level*10;snake.lenght++;if(score>=100){//满足升级分数level++;}}if(life==0){map.pla[snake.body[0][0]][sn
25、ake.body[0][1]]='@';//打印蛇头}if(life==0
26、
27、n==0)//消去爬行痕迹map.pla[x][y]='';count=0;//延迟计数清零}intcontrol(){//方向控制if(GetKeyState(VK_UP)<0)return1;/
此文档下载收益归作者所有