贪吃蛇游戏代码(C++).doc

贪吃蛇游戏代码(C++).doc

ID:50451683

大小:42.50 KB

页数:7页

时间:2020-03-09

贪吃蛇游戏代码(C++).doc_第1页
贪吃蛇游戏代码(C++).doc_第2页
贪吃蛇游戏代码(C++).doc_第3页
贪吃蛇游戏代码(C++).doc_第4页
贪吃蛇游戏代码(C++).doc_第5页
资源描述:

《贪吃蛇游戏代码(C++).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include#include#include#includeusingnamespacestd;intGameOver=0;structBody//蛇身(链表结构){intx,y;//蛇身结点坐标Body*next;//下一个结点};voidSetPos(inti,intj)//设定光标位置{COORDpos={i-1,j-1};//坐标变量HANDLEOut=GetStdHandle(

2、STD_OUTPUT_HANDLE);//获取输出句柄SetConsoleCursorPosition(Out,pos);//设定光标位置}classSneak//贪吃蛇类{private:Body*head;//蛇头指针intDirection;//移动方向。1,2,3,4对应上左下右intCount;//蛇长intSpeed;//速度(等级)intFoodExist;//食物存在标记intFood_x;//食物X坐标intFood_y;//食物Y坐标public:Sneak(inta=3,intb

3、=4,intc=1,intd=0)//构造函数{FoodExist=d;//起始不存在食物Body*temp1,*temp2;head=new(Body);//申请起始蛇身3节head->x=4;head->y=2;temp1=new(Body);temp1->x=3;temp1->y=2;temp2=new(Body);temp2->x=2;temp2->y=2;head->next=temp1;temp1->next=temp2;temp2->next=NULL;Direction=b;//方向为

4、右Count=a;//长为3Speed=c;//等级1}voidMap();//画界面函数voidPaint();//画蛇身函数voidFood();//生成食物intOver();//判断游戏是否结束voidGaming();//游戏进程函数voidMove();//移动};voidSneak::Map()//使用{inti;for(i=1;i<=50;i++){SetPos(i,1);cout<<"-";}for(i=2;i<=25;i++){SetPos(1,i);cout<<"

5、";SetPo

6、s(50,i);cout<<"

7、";}for(i=1;i<=50;i++){SetPos(i,25);cout<<"-";}SetPos(54,3);cout<<"贪吃蛇";SetPos(54,5);cout<<"贪吃蛇长度为:"<

8、d_x=rand()%48+2;//随机出食物的坐标Food_y=rand()%23+2;p=head;while(p!=NULL)//判断食物是否产生在蛇体内{if(p->x==Food_x&&p->y==Food_y){InBody=1;break;}p=p->next;}if(InBody==0)//食物不在蛇身。生成成功break;InBody=0;}}intSneak::Over(){Body*p;p=head;if((head->x)>=50

9、

10、(head->x)<=1

11、

12、(head->y

13、)<=1

14、

15、(head->y)>=25)//是否撞到边缘return1;p=head->next;while(p!=NULL)//是否撞到蛇身{if((head->x==p->x)&&(head->y==p->y))return1;p=p->next;}return0;}voidSneak::Paint(){Body*p;p=head;while(p!=NULL){SetPos(p->x,p->y);cout<<"*";p=p->next;}SetPos(Food_x,Food_y);cout<<"*

16、";}voidSneak::Move(){Body*New;New=new(Body);//新的蛇身结点if(Direction==1)//确定新蛇头的坐标{New->x=head->x;New->y=head->y-1;New->next=head;head=New;}if(Direction==2){New->x=head->x-1;New->y=head->y;New->next=head;head=New;}if(Direction==3){Ne

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。