/* Note:Your choice is C IDE */ #include "stdio.h" #include #include #include #include #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=35,speed=3,density=30,score=0,death=0; //全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡 void main() { menu(); run(); } void print(int a[][N]) //输出函数 { int i,j; system("cls"); for(i=0;i<22;i++) { a[i][width-1]=4; for(j=0;j=0;i--) //从最后一行往上是为了避免把敌机直接冲出数组。 for(j=0;j> "); 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++) for(j=0;j<45;j++) scr[i][j]=0; scr[21][pl=9]=1; printf("\n 按任意键保存..."); getch(); } void run() { int i=0,j=0; system("color 3e");//设置背景颜色 scr[21][pl]=1; //我方飞机初始位置 scr[0][5]=3; while(death<3) //限制死亡次数 { if(kbhit()) switch(getch())//控制左右移动 { case left: case 'a': case 'A':if(pl>0)scr[21][pl]=0,scr[21][--pl]=1;break; case right: case 'd': case 'D':if(pl