1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 打飞机小游戏C语言实现

打飞机小游戏C语言实现

时间:2023-03-15 18:10:46

相关推荐

打飞机小游戏C语言实现

scanf控制飞机

#include<stdio.h>#include<stdlib.h>int main(){int i, j;int x = 5;int y = 10;char input;while(1){system("cls");for(i = 0; i < x; i++)printf("\n");for(j = 0; j < y; j++)printf(" ");printf("*");printf("\n");scanf("%c", &input);if(input == 'a')y--;if(input == 'd')y++;if(input == 'w')x--;if(input == 's')x++;}return 0;}

很明显,你需要输入字母后再敲击回车,这样游戏体验感非常不好,所以我们引入getch函数

getch控制飞机移动

#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(){int i, j;int x = 5;int y = 10;char input;while(1){system("cls");for(i = 0; i < x; i++)printf("\n");for(j = 0; j < y; j++)printf(" ");printf("*\n");if(kbhit())//判断是否有输入 {//用户有键盘输入时返回1,否则返回0 input = getch();//不需要回车就可以得到输入的控制字符 if(input == 'a')y--;if(input == 'd')y++;if(input == 'w')x--;if(input == 's')x++;}}return 0;}

有没有觉得我们的飞机太丑了,只有一个点,那么我们来升级一下

#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(){int i, j;int x = 5;int y = 10;char input;while(1){system("cls");for(i = 0; i < x; i++)printf("\n");for(j = 0; j < y; j++)printf(" ");printf("*\n");for(j = 0; j < y - 2; j++)printf(" ");printf(" * *\n");for(j = 0; j < y - 2; j++)printf(" ");printf("* * *\n");for(j = 0; j < y - 6; j++)printf(" ");printf("* * * * * * *\n");for(j = 0; j < y - 8; j++)printf(" ");printf("* * * * * * * * *\n");for(j = 0; j < y- 1; j++)printf(" ");printf("* * \n");if(kbhit()){input = getch();if(input == 'a')y--;if(input == 'd')y++;if(input == 'w')x--;if(input == 's')x++;}}return 0;}

是不是很帅

接下来我们就要射了(激光射线搞上)

激光飞机

空格表示射击

#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(){int i, j;int x = 5;int y = 10;char input;int isFire = 0;while(1){system("cls");if(isFire == 0){for(i = 0; i < x; i++)printf("\n");}else{for(i = 0; i < x; i++){for(j = 0; j < y; j++)printf(" ");printf("|\n");}isFire = 0;}for(j = 0; j < y; j++)printf(" ");printf("*\n");for(j = 0; j < y - 2; j++)printf(" ");printf(" * *\n");for(j = 0; j < y - 2; j++)printf(" ");printf("* * *\n");for(j = 0; j < y - 6; j++)printf(" ");printf("* * * * * * *\n");for(j = 0; j < y - 8; j++)printf(" ");printf("* * * * * * * * *\n");for(j = 0; j < y- 1; j++)printf(" ");printf("* * \n");if(kbhit()){input = getch();if(input == 'a')y--;if(input == 'd')y++;if(input == 'w')x--;if(input == 's')x++;if(input == ' ')isFire = 1;}}return 0;}

传送门:

发射激光的飞机

打靶练习

既然我们的飞机都升级成功了,弹药也配备充足的,接下来就是……

#include<stdio.h>#include<stdlib.h>#include<conio.h>int main(){int i, j;int x = 5;int y = 10;int isFire = 0;char input;int ny = 30;int isKilled = 0;while(1){system("cls");if(!isKilled){for(j = 0; j < ny; j++)printf(" ");printf("+\n");}if(isFire == 0){for(i = 0; i < x; i++)printf("\n");}else{for(i = 0; i < x; i++){for(j = 0; j < y; j++){printf(" ");}printf("|\n");}if(y == ny)isKilled = 1;isFire = 0;}for(j = 0; j < y; j++)printf(" ");printf("*\n");for(j = 0; j < y - 2; j++)printf(" ");printf(" * *\n");for(j = 0; j < y - 2; j++)printf(" ");printf("* * *\n");for(j = 0; j < y - 6; j++)printf(" ");printf("* * * * * * *\n");for(j = 0; j < y - 8; j++)printf(" ");printf("* * * * * * * * *\n");for(j = 0; j < y- 1; j++)printf(" ");printf("* * \n");if(kbhit()){input = getch();if(input == 'a')y--;if(input == 'd')y++;if(input == 'w')x--;if(input == 's')x++;if(input == ' ')isFire = 1;}}return 0;}

激光飞机打靶游戏

如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持,明天我们不见不散!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。