c语言程序设计报告

程序设计报告——飞机游戏

导弹打飞机游戏是针对导弹模拟作战系统开发课题开发的一款小型游戏。飞机打导弹根据玩家的实力设置了不同的难易程度,玩家可以自行选择。简洁的键盘操作方式和多种辅助显示,使其极易上手。玩家可以通过键盘控制导弹发射器的移动,通过鼠标发射导弹击毁飞机。

“导弹打飞机”游戏软件系统分为三个功能:

1.  开始功能

2.  说明功能

3.  设置功能

                                          

程序分析:

1.先设置声明处理命令

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

#include <time.h>

#define N 35

并建立各种函数,

void print(int [][N]);//输出函数

void movebul(int [][N]);//子弹移动函数

void movepla(int [][N]);//敌机移动函数

void setting(void);//设置函数

void menu(void);//菜单函数

2.用switch处理分支选择问题,接受玩家按键信息,处理并设置玩家位置。

3.该程序采用函数组成模块化结构,结合数组和循环结构来显示飞机的位置。

4.用printf来呈现游戏中飞机、玩家、得分情况和说明。

5.运用do…while的循环形式来让玩家设置游戏的界面,敌机密度以及敌机速度。

再运用switch分支语言来处理玩家所选择的结果。

6. getch()是等待按键输入,运用这个可以让玩家用键盘操控导弹位置。

 

改进游戏:

这个游戏是我对一个小游戏进行的改造升级版,添加了颜色函数、终止函数,选择类函数,使游戏实现了可以终止,不再是分数、死亡数一直增加但是没有结束的情况;增加了颜色函数,使得游戏看起来更加的舒适;增加了终止函数,使游戏在死亡三次后自动结束游戏,并且可以选择是否重新开始游戏;另外增添了设置函数,使得可以对游戏进行设置,改变游戏大小,调整飞机运行速度等等,是游戏更加的人性化

修改后的程序:

这个游戏是我对一个小游戏进行的改造升级版,

添加了颜色函数、

终止函数,

选择类函

数,使游戏实现了可以终止,不再是分数、死亡数一直增加但是没有结束的情况;

增加了颜

色函数,

使得游戏看起来更加的舒适;

增加了终止函数,

使游戏在死亡三次后自动结束游戏,

并且可以选择是否重新开始游戏;

另外增添了设置函数,

使得可以对游戏进行设置,

改变游

戏大小,调整飞机运行速度等等,是游戏更加的人性化

#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;i<22;i++)  
{
a[i][width-1]=4; 
for(j=0;j<width;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==1&&j==width-1)printf("您成功杀敌:%d 架",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==width-1) 
 printf("学号:20100302xxxx"); 

printf("\n"); 
 


void movebul(int a[][N]) 
{
int i,j; 
for(i=0;i<22;i++) 
for(j=0;j<width;j++) 
{
if(i==0&&a[i][j]==2) 
 
a[i][j]=0; 


if(a[i][j]==2) 

if(a[i-1][j]==3)//加分

score+=1; 
printf("\7"); 

a[i][j]=0,a[i-1][j]=2; 


}  
void movepla(int a[][N]) 

int i,j; 
for(i=21;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。
for(j=0;j<width;j++) 

if(i==21&&a[i][j]==3)  
a[i][j]=0;//消除敌机,在最低层
if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;//敌机移动
}  
if(a[20][pl]==3&&a[21][pl]==1)death++;//死亡 

void yn() 

system("cls"); 
system("color 2e"); 
printf("\n"); 
printf("\n"); 
printf("\t\t\t\t *****GAME OVER*****\n\a"); 
printf("\n"); 
printf("\n"); 
printf("\t\t *****游***戏***结***束*****     \n\n\n"); 
printf("\t\t\t按y键继续游戏,n键退出游戏(y/n)?\n"); 
printf("\t\t\t"); 
switch(getch())//提示是否要继续游戏

 
case 'y': case 'Y':death=0,score=0,run();

break; 
case 'n': case 'N':

break; 
default :exit(0);

break; 
 


void setting(void) 

int sw=0,i,j; 
system("cls"); 
do { 
sw=0; 
printf("\n 游戏界面的大小:1.大2.小>> "); 
switch(getche()) 

case '1':width=34;break; 
case '2':width=24;;break; 
default:printf("\n 错误,请重新选择...\n"); 
sw=1; 


  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
目录 摘 要..............................................................1 1设计内容、任务及具体要求.........................................2 1.1设计内容.....................................................2 1.2设计任务及具体要求...........................................2 2概要设计.........................................................3 2.1该系统的功能简介.............................................3 2.2 总体程序框图.................................................3 2.3各个模块之间的主要关系........................................4 3系统功能模块的具体设计............................................5 3.1各个模块的程序流程图及运行界面................................5 3.2对关键代码加以分析说明.......................................15 4程序调试分析.....................................................23 5程序使用说明.....................................................24 6总结.............................................................25 致谢...........................................................26 参考文献...........................................................27 附:源程序..........................................................28 摘 要 工资管理系统是针对企业的工资管理业务进行计算机处理而开发的应用软件。该系统由系统维护、输入、查询、修改、输出、统计等子模块组成,功能基本涵盖普通企业的工资管理业务范围。企业应用本系统后,可以有效的提高工资管理水平。本文从需求分析、开发平台选择、系统模块建立、数据库设计、功能模块编程实现及软件测试等方面阐述了本应用系统的设计过程。为便于说明,文中绘制了程序结构框图、数据流程图和部分界面图。最后附有主要的源程序代码清单。 关键词:工资管理 系统维护 数据汇总 管理系统 软件开发
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页

打赏

BGD150809237

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者