张鑫源  150809109


  我对于这次C语言程序的基本语句能完成功能的体会是能够通过众多简单的C语言语句编写出一个具有功能的程序,上学期学习的学习的是最基础的命令,并有进行过如此复杂的编程,这次我们自己尝试编写的飞机游戏,让我受益匪浅,在这个程序中,我们运用了上学期的知识,先以INCLUDE为开头,然后构建基础,然后追加各种设定,让其成为了一个较为复杂的程序,最后成功使其成为一款简单的游戏。

  虽然在上个学期中,我们已经学习了《C 语言程序设计》这门课,但是我所学的知识最多也就是在做作业的时候才会用到,平时没有什么练习的机会,这次的课程设计是我第一次通过自己构思,和同学讨论并且不断查阅资料来设计一项程序。这次设计,不仅巩固了我以前所学的知识,还让我对c语言有了更深一步的了解,掌握了更多的技巧和技能。  C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中都有着十分重要的地位。要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手,有较强的实践能力。只有多动手,经常编写程序,才能发现我们学习上的漏洞和自己的不足,并在实践中解决这些问题,不断提高自己转化知识的能力。






#include.h>

#include.h>

#include.h>

#include.h>

#define N 35

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;//全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡

main(void)

{

menu();

int i=0,j=0;

scr[21][pl]=1;

scr[0][5]=3;

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)scr[21][pl]=0,scr[21][++pl]=1;<>

break;

case \'w\':case \'W\':scr[20][pl]=2;break;case 27 :setting();

break;

}

if(++j%density==0)//控制生产敌机的速度

{j=0;srand(time(NULL));

scr[0][rand()%width]=3;

}

if(++i%speed==0)//控制敌机移动速度,相对于子弹移动速度

movepla(scr);

movebul(scr);

print(scr);

if(i==30000)i=0;//以免i 越界

}

}

void print(int a[][N]){system(\"cls\");

int i,j;

for(i=0;i<22;i++){a[i][width-1]=4;< p="\"\"">

for(j=0;j> \");;j++){if(a[i][j]==0)printf(\\\\\\\\\\\\\\\\\\\\\>

switch(getche())

{

case \'1\':width=34;break;

case \'2\':width=24;break;

default:printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 错误,请重新选择...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

sw=1;

}

}

while(sw);

do

{

sw=0;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 请选择敌机密度:1.大2.中3.小>> \");

switch(getche())

{

case \'0\':density=10;

break;

case \'1\':density=20;

break;case \'2\':density=30;

break;case \'3\':density=40;break;

default:printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 错误,请重新选择...\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

sw=1;

}

}

while(sw);

do

{

sw=0;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 敌机的飞行速度:1.快2.中3.慢>> \");

switch(getche())

{

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++)< p="\"\"">

for(j=0;j<45;j++)< p="\"\"">

scr[i][j]=0;

scr[21][pl=9]=1;

printf(\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 按任意键保存...\");

getch();

}

void menu(void)

{

printf(\"说明:按A D 控制我机左右飞行,W 发射子弹\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 设置:请按Esc\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n 开始游戏:任意键\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\n\");

if(getch()==27)setting();

}