- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计实践
大作业
学号XXX
姓名:XXX
班级:信息10-3班
实验题目:射击类飞机游戏
成绩:
实验题目:
射击类飞机游戏
实验目的:
通过c语言编写一个射击类的打飞机小游戏,可以通过键盘来进行游戏,操作方法是“a”“d”“w”或者“←”“↑”“→”来控制,击中敌机可获得积分,被敌机撞中死亡一次,每次游戏有3次生还机会,游戏结束后可选择是否重新开始游戏……
对游戏的改进:
这个游戏是我对一个小游戏进行的改造升级版,添加了颜色函数、终止函数,选择类函数,使游戏实现了可以终止,不再是分数、死亡数一直增加但是没有结束的情况;增加了颜色函数,使得游戏看起来更加的舒适;增加了终止函数,使游戏在死亡三次后自动结束游戏,并且可以选择是否重新开始游戏;另外增添了设置函数,使得可以对游戏进行设置,改变游戏大小,调整飞机运行速度等等,是游戏更加的人性化……
实验内容
编写出c语言代码,运行程序,并调试程序,最终实现游戏的功能。本程序主要包含游戏控制函数、设置是否继续游戏函数、输出函数、子弹移动函数、敌机移动函数、设置函数、菜单函数等7个主要函数,包含了不同的功能,对原来的程序作出了很大的改进,用到的主要语句有getche语句、for语句、while语句、printf语句、switch语句等等,添加了颜色函数,实现了诸多功能。可以在页面上显示制作人的主要信息等等……
【流程图见打印版】
源程序:
#include stdio.h
#include conio.h
#include stdlib.h
#include time.h
#define N 35
#define up 72
#define left 75
#define right 77
void run();//游戏控制函数
void yn();//设置是否继续游戏函数
void print(int [][N]);//输出函数
void movebul(int [][N]);//子弹移动函数
void movepla(int [][N]);//敌机移动函数
void setting(void);//设置函数
void menu(void);//菜单函数
int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡
void main()
{ menu();
run();
}
void print(int a[][N])//输出函数
{
system(cls);
int i,j;
for(i=0;i22;i++)
{
a[i][width-1]=4;
for(j=0;jwidth;j++)
{
if(a[i][j]==0)printf( );
if(a[i][j]==1)printf(\5);//输出我机的符号
if(a[i][j]==2)printf(^);//子弹
if(a[i][j]==3)printf(\3); //输出敌机符号
if(a[i][j]==4)printf(\2);
if(i==1j==width-1)printf(您成功杀敌:%d 架,score);//右上角显示得分
if(i==2j==width-1)
printf(设置:Esc);
if(i==4j==width-1)printf(您已经死亡了:%d 次,death);//右上角显示死亡次数
if(i==9j==width-1)printf( 你还剩余 %d 条命!,3-death);
if(i==18j==width-1)
printf(制作人:XXX);
if(i==19j==width-1)
printf(班级:信息10-3班);
if(i==20j==width-1)
printf(学 号xxx);
}
printf(\n);
}
}
void movebul(int a[][N])
{
int i,j;
for(i=0;i22;i++)
for(j=0;jwidth;j++)
{
您可能关注的文档
最近下载
- 对外经济贸易大学2008年—2025年815经济学综合考研真题汇编.pdf
- 23《海底世界》公开课一等奖创新教学设计.docx VIP
- 中考语文二轮专题复习:《阅读专项——对人物的理解与评价》讲义.doc VIP
- 20.《碾压式土石坝设计规范》(NBT 10872-2021)23更新规范 带书签.pdf
- 部编版四年级语文下册期中试卷.pdf VIP
- 最新人教PEP版六年级上册英语作文各单元范文及作文训练讲解课件.pptx
- 剑桥王牌教材第二版Think1 Unit5 知识清单.docx VIP
- 城镇供水管网工程监理实施细则.pdf VIP
- TC609-5-2025-03 高质量数据集 分类指南.pdf VIP
- 医疗器械全流程处理技术与管理规范题库答案-2025年华医网继续教育.docx VIP
原创力文档


文档评论(0)