为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

打飞机游戏程序设计

2017-08-30 9页 doc 51KB 53阅读

用户头像

is_003124

暂无简介

举报
打飞机游戏程序设计 打飞机小游戏程序设计 学校:湖北师范学院 专业:信息工程 姓名:袁诚 日期:2015年5月14日 摘要 打飞机小游戏是日常人们生活中应用广泛的娱乐工具,学习工作压力大时玩玩打飞机小游戏可以缓解压力,放松心情,茶余饭后可以陶冶情操,增进友谊。然而打飞机游戏能够玩耍的前提是要设计编造出这款游戏,程序的功能比较多,规模比较大,如果把所有的代码都写在一个主函数里面,就会使主函数变的庞杂,头绪不清,使阅读和维护程序变得困难,此外有时程序中要多次使用某一功能,就要多次重复编写实现此功能的程序代码。这使程序很长,不精炼。如果采...
打飞机游戏程序设计
打飞机小游戏程序 学校:湖北师范学院 专业:信息 姓名:袁诚 日期:2015年5月14日 摘要 打飞机小游戏是日常人们生活中应用广泛的娱乐工具,学习工作压力大时玩玩打飞机小游戏可以缓解压力,放松心情,茶余饭后可以陶冶情操,增进友谊。然而打飞机游戏能够玩耍的前提是要设计编造出这款游戏,程序的功能比较多,规模比较大,如果把所有的代码都写在一个主函数里面,就会使主函数变的庞杂,头绪不清,使阅读和维护程序变得困难,此外有时程序中要多次使用某一功能,就要多次重复编写实现此功能的程序代码。这使程序很长,不精炼。如果采用函数的模块化设计,那么编写和读阅就变得简洁的多。 在设计打飞机游戏程序时,把它分成若干个小模块,每一个模块包含一个或多个函数,每一函数用来实现某一特定功能,一个函数可以被多次调用以减少重复编程的工作量。 一、设计任务 利用函数实现模块化程序设计的方法设计出打飞机小游戏 二、设计目的 通过对打飞机小游戏的设计,来将所学的C语言知识运用起来,并且体验用函数实现模块化设计的方法来编程的好处,进一步达到巩 1 固C语言知识和灵活运用C语言知识的目的,实现理论与实际的结合。 三、设计思路分析 (1)游戏 在游戏页面内,飞机可以左右移动,并且发射子弹,每射中一个敌机得10分,没有射中不得分,另外每被一台敌机撞击一次记死亡次数一次,进入设置页面可以选择游戏游戏界面的大小与难度。 (2)飞机的左右移动与发射子弹 此程序的关键就在于控制飞机的移动。游戏在进入界面后,在没有执行任何操作的情况下,处于原位置静止不动。当按了一次控制键向左移动后飞机向左移动一次,当按了一次控制键向右移动后飞机向右移动一次,每按一次发射子弹按键时飞机发射一枚子弹,子弹只能竖直向上发射,飞机只能左右移动,按其它键无效。 (3)流程图 首先初始化界面的大小,游戏操作者可以进入设置选项,可以选择游戏界面的大小,游戏过程中敌机产生的速度,游戏过程中敌机的密度;控制飞机的左右移动(按A键控制飞机向左移动,按D键控制飞机飞机向右移动),发射子弹(按W键发射子弹);然后判断是否射中敌机,如果射中则加10分,如果没有射中则判断是否与敌机相撞, 2 如果相撞则死亡次数加1,如果没有相撞则继续游戏。 开始 初始化界面 初始化界面大小,敌 机密度与速度 飞机左右移动, 并发射子弹 是否射中 敌机, 否 撞中敌否 机, 是 得分加10分 是 死亡次数增 加一 四、程序模块化思想分析 整个程序主要有四大部分组成,分别是输出,敌机的移动与子弹的移 3 动,设置,菜单 void print(int [][N]);//输出函数 void movebul(int [][N]);//子弹移动函数 void movepla(int [][N]);//敌机移动函数 void setting(void);//设置函数 void menu(void);//菜单函数 ?输出 通过一系列的if条件判断语句输出我机的符号,子弹的符号,敌机的 符号 if(a[i][j]==1)printf("\5");//输出我机的符号 if(a[i][j]==2)printf(".");//子弹 if(a[i][j]==3)printf("\3"); //输出敌机符号 通过一系列的if条件判断语句输出界面,得分情况,死亡次数 4 if(a[i][j]==4)printf("|"); if(i==0&&j==width-1)printf("得分:%d",score);//右上角显示得分 if(i==1&&j==width-1)printf("死亡:%d",death); if(i==2&&j==width-1)printf("设置:Esc"); ?移动 在定义的范围内按A键使飞机向左移动,按D键使飞机向右移动, 按W键发射子弹 while(1){if(kbhit())switch(getch())//控制左右移动和进入菜单 {case 'a':case 'A':if(pl>0)scr[21][pl]=0,scr[21][--pl]=1;break; //在定义范围内飞机向左移动 case 'd':case 'D':if(pl> "); switch(getche()) //输入选择结果后输出 { 6 按1键则选择大界面,宽度为34 case '1':width=34;break; 按2键则选择小界面,宽度为24 case '2':width=24;break; 如果没有选择1也没有选择2,则输出“错误,重新选择” default:printf("\n 错误,请重新选择...\n"); sw=1; } } while(sw); do { sw=0; printf("\n 请选择敌机密度:1.大2.中3.小>> "); 选择后直接输出所选择的敌机密度结果 switch(getche()) { 按0键,选择密度为10 case '0':density=10;break; 7 按1键,敌机密度为20 case '1':density=20;break; 按2键,敌机密度为30 case '2':density=30;break; 按3键,敌机密度为40 case '3':density=40;break; 如果按其它的键则提示错误重新选择 default:printf("\n 错误,请重新选择...\n"); sw=1; } } while(sw); do { sw=0; printf("\n 敌机的飞行速度:1.快2.中3.慢>> "); switch(getche()) 选择后直接输出结果 { 8 case '1':speed=2;break; case '2':speed=3;break; case '3':speed=4;break; default:printf("\n 错误,请重新选择...\n"); sw=1; } } while(sw); for(i=0;i<22;i++) for(j=0;j<45;j++) scr[i][j]=0; scr[21][pl=9]=1; printf("\n 按任意键保存..."); ?菜单 引用菜单函数初始化游戏界面 Intscr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;// 全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得 9 分、死亡 五、测试结果 10 六、结语 通过用C语言来编写打飞机小游戏程序,让我知道编写程序采用模块化思想的优势。要学把一个大的程序分解成许多个小的模块来完成,那么函数调用就非常的重要。在编写程序前心里应非常的清楚程序的构成,首先是预处理部分,再就是调用函数的声明,接着就是主函数,而主函数里都是调用函数。只要把一个个调用函数完成了,那么整个程序也就差不多完成了。所以编程的思想非常的重要,要清晰明了。在完成了这个程序后我也学会了怎样运用书上的知识,还让我学到了书上所没有的知识。更重要的是我从中知道了在遇到问题后,怎样去查找,怎样去解决。编写程序中不能马虎,要以一颗平静的心去对待,绝不能因找不出问题在哪里而烦恼。 11
/
本文档为【打飞机游戏程序设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索