c语言飞机大战(控制台 字符飞机大战)

先看看效果吧

大一的时候做的,当时没有好的代码习惯,所以代码有点乱,代码直接复制就能用了,功能可以自行拓展

#include 
#include 
#include 
int main () {int life=6;//生命int i,j/*循环*/,plane_x,plane_y/*飞机所在坐标*/,a;plane_x=8,plane_y=15;//初始化飞机char getc; //方向获取/*构造地图*/int score=0; //得分              //       1 1 1 1 1 1 1char Map[17][17]= { //0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},//0{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//1{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//2{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//3{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//4{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//5{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//6{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//7{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//8{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//9{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//10{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//11{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//12{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//13{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//14{1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},//15{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};//16for(;;) { //实现游戏循环int x,y;//随机出现的敌机x=rand()%15+1;y=rand()%14+1;Map[y][x]=4;Map[plane_y][plane_x]=2;//初始化飞机for(i=0; i<17; i++) { //打印地图for(j=0; j<17; j++) {if(Map[i][j]==1)//1为墙printf("▓");else if(Map[i][j]==0)printf("  ");else if(Map[i][j]==2)//2为飞机 初始map[15][7] (16,8)printf("Ж");else if(Map[i][j]==3)//3 子弹printf("!!");else if(Map[i][j]==4)//4 敌机printf("Ψ");}printf("\n");} //打印地图结束printf("\n           Ж生命:");for(i=0; i0&&plane_x<16&&plane_y>0&&plane_y<16) {getc=getch();if (getc=='d') { //wasd++plane_x;if(plane_x<=0)plane_x=1;else if(plane_x>=16)plane_x=15;else if(Map[plane_y][plane_x]==4) { //碰撞敌机,退出life--;if(life==0)break;}}if (getc=='a') {--plane_x;if(plane_x<=0)plane_x=1;else if(plane_x>=16)plane_x=15;else if(Map[plane_y][plane_x]==4) { //碰撞敌机,当life==0退出life--;if(life==0)break;}}if (getc=='w') {--plane_y;if(plane_y<=0)plane_y=1;else if(plane_y>=16)plane_y=15;else if(Map[plane_y][plane_x]==4) { //碰撞敌机,退出life--;if(life==0)break;}}if (getc=='s') {++plane_y;if(plane_y<=0)plane_y=1;else if(plane_y>=16)plane_y=15;else if(Map[plane_y][plane_x]==4) { //碰撞敌机,退出life--;if(life==0)break;}}if (getc=='e') {for(a=plane_y-1; a>=1; a--) {if(Map[a][plane_x]==4) { //score++;Map[a][plane_x]=0;//清除敌机break;}Map[a][plane_x]=3;}}}system("cls");}system("cls");printf("总分:%d",score);getch();return 0;
}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部