欢迎来到天天文库
浏览记录
ID:49171997
大小:89.00 KB
页数:10页
时间:2020-02-29
《c语言小游戏编程.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、程序设计实践大作业学号:20100302XXXX姓名:XXX班级:信息10-3班实验题目:射击类飞机游戏成绩:精选范本,供参考!一.实验题目:射击类飞机游戏二.实验目的:通过c语言编写一个射击类的打飞机小游戏,可以通过键盘来进行游戏,操作方法是“a”“d”“w”或者“←”“↑”“→”来控制,击中敌机可获得积分,被敌机撞中死亡一次,每次游戏有3次生还机会,游戏结束后可选择是否重新开始游戏……三.对游戏的改进:这个游戏是我对一个小游戏进行的改造升级版,添加了颜色函数、终止函数,选择类函数,使游戏实现了可以终止,不再是分数、死亡数一
2、直增加但是没有结束的情况;增加了颜色函数,使得游戏看起来更加的舒适;增加了终止函数,使游戏在死亡三次后自动结束游戏,并且可以选择是否重新开始游戏;另外增添了设置函数,使得可以对游戏进行设置,改变游戏大小,调整飞机运行速度等等,是游戏更加的人性化……四.实验内容编写出c语言代码,运行程序,并调试程序,最终实现游戏的功能。本程序主要包含游戏控制函数、设置是否继续游戏函数、输出函数、子弹移动函数、敌机移动函数、设置函数、菜单函数等7个主要函数,包含了不同的功能,对原来的程序作出了很大的改进,用到的主要语句有getche语句、for语
3、句、while语句、printf语句、switch语句等等,添加了颜色函数,实现了诸多功能。可以在页面上显示制作人的主要信息等等……【流程图见打印版】精选范本,供参考!五.源程序:#include#include#include#include#defineN35#defineup72#defineleft75#defineright77voidrun();//游戏控制函数voidyn();//设置是否继续游戏函数voidprint(int[][N]);/
4、/输出函数voidmovebul(int[][N]);//子弹移动函数voidmovepla(int[][N]);//敌机移动函数voidsetting(void);//设置函数voidmenu(void);//菜单函数intscr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡voidmain(){menu();run();}voidprint(inta[][N])//输出函数{s
5、ystem("cls");inti,j;for(i=0;i<22;i++){a[i][width-1]=4;for(j=0;j6、,score);//右上角显示得分if(i==2&&j==width-1)printf("设置:Esc");精选范本,供参考!if(i==4&&j==width-1)printf("您已经死亡了:%d次",death);//右上角显示死亡次数if(i==9&&j==width-1)printf("你还剩余%d条命!",3-death);if(i==18&&j==width-1)printf("制作人:XXX");if(i==19&&j==width-1)printf("班级:信息10-3班");if(i==20&&j==wid7、th-1)printf("学号:20100302xxxx");}printf("");}}voidmovebul(inta[][N]){inti,j;for(i=0;i<22;i++)for(j=0;j8、1;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。for(j=0;j
6、,score);//右上角显示得分if(i==2&&j==width-1)printf("设置:Esc");精选范本,供参考!if(i==4&&j==width-1)printf("您已经死亡了:%d次",death);//右上角显示死亡次数if(i==9&&j==width-1)printf("你还剩余%d条命!",3-death);if(i==18&&j==width-1)printf("制作人:XXX");if(i==19&&j==width-1)printf("班级:信息10-3班");if(i==20&&j==wid
7、th-1)printf("学号:20100302xxxx");}printf("");}}voidmovebul(inta[][N]){inti,j;for(i=0;i<22;i++)for(j=0;j8、1;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。for(j=0;j
8、1;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。for(j=0;j
此文档下载收益归作者所有