飞机游戏程序修改及感想

根据老师提供的飞机游戏程序,我仔细观察了游戏的运行方式及一些程序的细节,并做出了一些修改,程序如下:

# include & lt; stdio.h>

# include & lt; conio.h>

# include & lt; stdlib.h>

# include & lt; time.h>

35 # define N

空白打印(int [] [N]);//输出函数,,,,

空白movebul (int [] [N]);//痢痢烈贫?,

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

空白设置(空白);//设置函数

空白菜单(空白);//菜单函数

int可控硅[22][N]={0}, pl=9,宽度=24,速度=3,密度=30,得分=0,死=0;//全局变量:界面,我机初始位,界面宽度,敌机速度,敌机密度,得分,死亡

主要(void)

{

,,菜单();

,,,

int i=0, j=0;

,,可控硅[21](pl)=1;

,,可控硅[0][5]=3;

,,而(1)

,,{

,如果(kbhit ())

,开关(getch())//控制左右移动和进入菜单

,,,{

,,,案例a: a:

,,,如果(pl> 0)

,,,可控硅[21](pl)=0,可控硅[21][- pl)=1;

,打破;

,,,,,“d”:案件“d”:

,,,如果(pl<2)

,,,可控硅[21](pl)=0,可控硅[21][+ + pl]=1;

,,,,,,,,打破;

,,,,,“w”:案件“w”:

,,,可控硅[20](pl)=2,

,,,打破;

,案例27:

,,,设置();

,,,,,,,打破;

,,,}

,,,,

,如果密度(+ + j %==0)//控制生产敌机的速度

,,,{

,,j=0;将srand(时间(NULL));

,,,,,可控硅[0][rand() %宽度]=3;

,,,}

,,,如果(+ + i %速度==0)//控制敌机移动速度,相对于×××移动速度

,,,,,movepla (scr);

,,,movebul (scr);

,,,,

,,,打印(scr);

,,,如果(i==30000)

,,我=0;//以免我越界

,,,,

,,}

,,

}

空白打印(int [] [N]),,,,,,

{

,,系统(cls);

,,int i, j。

,,(我=0;i<22;我+ +)

,,{

,,,(我)(宽度)=4;

,,,(j=0; j<宽度;j + +)

{

,如果([我][j]==0)

,,,printf (" "),

,,,,如果([我][j]==1)

,,,,,printf(" \ 5 ");//输出我机的符号

,,,,如果([我][j]==2)

,,,printf (“。”);//痢痢?/p>

,,,,如果([我][j]==3)

,,,printf (" \ 3 ");//输出敌机符号

,,,,如果([我][j]==4)

,,,printf (“|”);

,,,,如果(i==0,和j==宽度)

,,,printf("得分:% d”,分数);//右上角显示得分

,,,,如果(i==1,和j==宽度)

,,,printf("死亡:% d”,死亡),

,,,,如果(i==2,和j==宽度)

,,,printf("设置:Esc”);

,,,,如果(i==3,和j==宽度)

,,,printf("版权:张铮”);

,,,}

,,,printf (" \ n ");

,}}

空白movebul (int [] [N])

{

,,int i, j。

,,(我=0;i<22;我+ +)

,,,,(j=0; j<宽度;j + +)

,,,,{

,,,,,如果(i==0,和一个[我][j]==2)

,,[我][j]=0;

,,,如果([我][j]==2)

,,,,,{

,,,,,,张,如果([][j]==3)

,,得分+=10,printf (" \ 7 ");

,,,,,,,(我)[j]=0,(张)[j]=2;

,,,,,}

,,,,}}

空白movepla (int [] [N])

{

,,int i, j。

,,(i=21; i>=0;我——)//从最后一行往上是为了避免把敌机直接冲出数组。

,,,,(j=0; j<宽度;j + +)

,,,,{

,,,,,,如果(我==21,和一个[我][j]==3)

,,,[我][j]=0;//底行赋值0以免越界。

,,,,,,如果([我][j]==3)

,,,(我)[j]=0, (i + 1) [j]=3;

,,,,}

,,如果([20](pl)==3,和一个[21](pl)==1)

,死亡+ +,

}

空白设置(空白),,,,,,,

,,,int sw=0, i, j。

,,,系统(cls);

,,,{sw=0; printf (" \ n游戏界面的大小:1。大2。小祝辞祝辞”);

,,null

飞机游戏程序修改及感想