欢迎来到天天文库
浏览记录
ID:37918769
大小:135.00 KB
页数:10页
时间:2019-06-02
《Dos界面C++贪吃蛇设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、综合实验项目:贪吃蛇游戏1、问题需求(1)控制游戏:按方向键"↑","↓","←","→"能控制蛇的移动;(2)蛇在固定的范围内移动,不能碰触边界。不能撞到自身,否则,游戏结束。(3)固定范围内随机出现白子,蛇每吃一个白子长长一格,分数增加,每增加5分蛇的移动速度自动增加。2、程序流程图3、详细设计设计说明:本程序运行代码如下:#include#include#include#include#includeusingnames
2、pacestd;intscore=0,t=300,f=1;//得分与时间间隔/ms(控制贪吃蛇的速度)doubless=0,tt=0;//统计时间所用参数classNode{第10页共10页Node():x(0),y(0),prior(0),next(0){}intx;inty;Node*prior;Node*next;friendclassSnake;};classSnake{public:Snake();~Snake();voidoutput();voidmove();voidchange_point(char
3、);private:Node*head;Node*tail;enump{UP,RIGHT,DOWN,LEFT}point;//方向intfood_x,food_y;//食物的坐标staticconstintN=23;intgame[N][N];voidadd_head(int,int);//添加坐标为a,b的结点voiddelete_tail();//删除最后一个结点voidgreate_food();//产生食物voidgotoxy(int,int);};voidmenu();//游戏操作菜单intmain(){
4、system("colora");//初始cmd窗口颜色为黑(背景)淡绿(文字)cout<<"";for(inti=0;i<23;i++){charstar[]={"WelcomeToSnakeGame!"};cout<5、);system("color1a");s.output();第10页共10页while(true){charkeydown=getch();if(keydown==32)getch();if(keydown==27)return0;s.change_point(keydown);while(!kbhit()){clock_tstart,end;start=clock();s.move();s.output();Sleep(t);end=clock();tt=(double)(end-start)/CLOCKS_P6、ER_SEC;ss+=tt;cout<<"时间:"<<(int)ss;}}return0;}voidmenu(){system("color1a");cout<<"操作方法:上↑下↓左←右→";cout<<"暂停Space退出Esc";cout<<"好天";cout<<"好天";cout<<"学向";cout<<"习上";}voidgameover()//游戏结束后的信息以及操作{system("cls");system("color5e");cout7、<<"-_-。sorry!你已经挂了!!!";cout<<"你的最后战绩score:"<8、keyourchioce:";keydown=getch();}if(keydown=='1'){score=0;t=300;f=1;ss=0;tt=0;system("cls");main();}elseif(keydown=='2')exit(0);}Snake::Snake():head(0),tail(0),point(RIGHT),food_x(0
5、);system("color1a");s.output();第10页共10页while(true){charkeydown=getch();if(keydown==32)getch();if(keydown==27)return0;s.change_point(keydown);while(!kbhit()){clock_tstart,end;start=clock();s.move();s.output();Sleep(t);end=clock();tt=(double)(end-start)/CLOCKS_P
6、ER_SEC;ss+=tt;cout<<"时间:"<<(int)ss;}}return0;}voidmenu(){system("color1a");cout<<"操作方法:上↑下↓左←右→";cout<<"暂停Space退出Esc";cout<<"好天";cout<<"好天";cout<<"学向";cout<<"习上";}voidgameover()//游戏结束后的信息以及操作{system("cls");system("color5e");cout
7、<<"-_-。sorry!你已经挂了!!!";cout<<"你的最后战绩score:"<8、keyourchioce:";keydown=getch();}if(keydown=='1'){score=0;t=300;f=1;ss=0;tt=0;system("cls");main();}elseif(keydown=='2')exit(0);}Snake::Snake():head(0),tail(0),point(RIGHT),food_x(0
8、keyourchioce:";keydown=getch();}if(keydown=='1'){score=0;t=300;f=1;ss=0;tt=0;system("cls");main();}elseif(keydown=='2')exit(0);}Snake::Snake():head(0),tail(0),point(RIGHT),food_x(0
此文档下载收益归作者所有