本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下

定义四个函数实现飞机大战

#include

#include

#include

//定义全局变量

int high,width; //定义边界

int position_x,position_y; //飞机位置

int bullet_x,bullet_y; //子弹位置

int enemy_x,enemy_y;

int score;

int flag; //飞机状态

void gotoxy(int x,int y) //光标移动到(x,y)位置

{

HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition(handle,pos);

}

void HideCursor() // 用于隐藏光标

{

CONSOLE_CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

}

void startup() //数据初始化

{

high=18;

width=26;

position_x=high-3;

position_y=width/2;

bullet_x=0;

bullet_y=position_y;

enemy_x=0;

enemy_y=position_y;

score=0;

flag=0; //飞机完好

HideCursor();

}

void show() //显示界面

{

int i,j;

for(i=0;i

{

for(j=0;j

{

if(flag)

break;

else if((i==position_x)&&(j==position_y)) //飞机坐标

printf("*");

else if((i==enemy_x)&&(j==enemy_y)) //敌机坐标

printf("*");

else if((i==bullet_x)&&(j==bullet_y)) //子弹坐标

printf("|");

else if ((j==width-1)||(i==high-1)||(j==0)||(i==0)) //打印边界

printf("#");

else

printf(" ");

}

printf("\n");

}

printf("\n");

if((position_x==enemy_x)&&(position_y==enemy_y))

{

flag=1; //飞机撞毁 游戏结束

printf("得分: %d\n",score);

printf("游戏结束");

}

else

printf("得分: %d\n",score);

}

void withoutInpute() //与用户输入无关

{

if(bullet_x>0) //子弹上升效果

bullet_x--;

if((bullet_x==enemy_x)&&(bullet_y==enemy_y)) //子弹命中敌机

{

score++;

bullet_x=-1;

enemy_x=1;

enemy_y=2+rand()%width-2;

}

static int speed;

if(speed<30) //减慢敌机速度,不影响飞机和子弹速度

speed++;

if(speed==30)

{

if(enemy_x

enemy_x++;

else

{

enemy_x=0;

enemy_y=2+rand()%width-2;

}

speed=0;

}

}

void withInpute() //与用户输入有关

{

char input;

if(kbhit()) //控制飞机方向

{

input=getch();

if((input=='w')&&position_x>1)

position_x--;

if((input=='s')&&position_x

position_x++;

if((input=='a')&&position_y>1)

position_y--;

if((input=='d')&&position_y

position_y++;

if(input==' ')

{

bullet_x=position_x-1;

bullet_y=position_y;

}

}

}

int main()

{

system("color 2f");

startup(); // 数据初始化

while(1) // 游戏循环执行

{

gotoxy(0,0);

show(); // 显示画面

withoutInpute(); // 与用户输入无关的更新

withInpute(); // 与用户输入有关的更新

}

}

作者的另一段代码:C语言实现空战游戏,也很棒,分享给大家:

#include

#include

#include

#define High 27 //定义边界

#define Width 45

#define EnemyNum 5 //敌机数目

//定义全局变量

int canvas[High][Width]={0}; //定义元素,0为空格,1为飞机,2为子弹,3为敌机,4为右下边界

int position_x,position_y; //飞机坐标

int enemy_x[EnemyNum],enemy_y[EnemyNum]; //敌机坐标

int score; //得分

int Speed; //敌机速度

int bulletwidth; //子弹宽度

void HideCursor() //隐藏光标

{

CONSOLE_CURSOR_INFO cursor_info = {1, 0};

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);

}

void gotoxy(int x,int y) //光标移动到(x,y)位置

{

HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition(handle,pos);

}

void startup() //数据初始化

{

position_x=High-2; //初始化飞机位置

position_y=Width/2;

canvas[position_x][position_y]=1;

bulletwidth=0; //初始化子弹宽度

Speed=25; //敌机初始最小速度

int k;

for(k=0;k

{

enemy_x[k]=rand()%2; //初始化敌机位置

enemy_y[k]=rand()%Width;

canvas[enemy_x[k]][enemy_y[k]]=3;

}

score=0; //得分初始化

HideCursor();

}

void show() //显示界面

{

int i,j;

gotoxy(0,0);

for(i=0;i<=High;i++)

{

for(j=0;j<=Width;j++)

{

if(canvas[i][j] == 1)

printf("*"); //输出飞机

else if(canvas[i][j]==2)

printf("|"); //输出子弹

else if(canvas[i][j]==3)

printf("@"); //输出敌机

else if(canvas[i][j]==4)

printf("#"); //输出边界#

else

printf(" "); //输出空格

}

printf("\n");

}

printf("得分:%d\n",score);

}

void updateWithoutInput() //无需用户输入的更新

{

int i,j,k;

for(i=0;i

{

for(j=0;j

{

if(canvas[i][j]==2)

{

for(k=0;k

{

if(i==enemy_x[k] && j==enemy_y[k]) //击中敌机

{

score++;

if(score==5||score==10) //得分达到标准子弹加宽

bulletwidth++;

canvas[enemy_x[k]][enemy_y[k]]=0; //生成新的敌机

enemy_x[k]=rand()%2;

enemy_y[k]=rand()%Width;

canvas[enemy_x[k]][enemy_y[k]]=3;

}

}

canvas[i][j]=0; //子弹自动上升

if(i>0)

canvas[i-1][j]=2;

}

}

}

for(k=0;k

{

if(enemy_x[k]>High) //生成新的敌机

{

canvas[enemy_x[k]][enemy_y[k]]=0;

enemy_x[k]=rand()%2;

enemy_y[k]=rand()%Width;

canvas[enemy_x[k]][enemy_y[k]]=3;

}

}

static int speed=0;

if(speed

speed++;

if(speed==Speed)

{

for(k=0;k

{

canvas[enemy_x[k]][enemy_y[k]]=0; //敌机自动下落

enemy_x[k]++;

canvas[enemy_x[k]][enemy_y[k]]=3;

}

speed=0;

}

for(k=0;k

{

if(enemy_x[k]==position_x&&enemy_y[k]==position_y) //飞机撞毁

{

printf("游戏结束\n");

exit(0);

}

}

}

void updateWithInput() //需用户输入的更新

{

char input;

if(kbhit())

{

input=getch();

if(input=='w' && position_x>0) //控制飞机方向

{

canvas[position_x][position_y]=0;

position_x--;

canvas[position_x][position_y]=1;

}

else if(input=='s' && position_x

{

canvas[position_x][position_y]=0;

position_x++;

canvas[position_x][position_y]=1;

}

else if(input=='a' && position_y>0)

{

canvas[position_x][position_y]=0;

position_y--;

canvas[position_x][position_y]=1;

}

else if(input=='d' && position_y

{

canvas[position_x][position_y]=0;

position_y++;

canvas[position_x][position_y]=1;

}

else if(input=' ') //space发射子弹

{

int left,right;

int x;

left=position_y-bulletwidth;

if(left<0)

left=0;

right=position_y+bulletwidth;

if(right>Width-1)

right=0;

for(x=left;x<=right;x++)

canvas[position_x-1][x]=2;

}

}

}

int main()

{

startup();

system("color 2f");

while(1)

{

show(); //显示界面

updateWithoutInput(); //无需用户输入的更新

updateWithInput(); //需用户输入的更新

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

自动发射子弹c语言,C语言实现简单飞机大战相关推荐

  1. 自动发射子弹c语言,C语言代码实现飞机大战

    本文实例为大家分享了C语言实现简单飞机大战的具体代码,供大家参考,具体内容如下 这个游戏的功能很单一,也就是"飞机大战",哈哈哈哈.总共只有300多行代码左右,你也可以想想它会有多 ...

  2. 基于Java语言在窗体上实现飞机大战小游戏

    全套资料下载地址:https://download.csdn.net/download/sheziqiong/85594271 项目介绍 飞机大战:用 Java 语言在窗体上实现飞机大战小游戏,运行程 ...

  3. c语言基于easyx库的 飞机大战游戏(鼠标控制飞机移动,武器升级,boss发射散弹,boss血条等功能)

    课设题目 实现功能: 飞机鼠标控制–飞机武器升级–敌机发射子弹–boss发射散弹–boss血条记录–我方多条生命 图片资源和源码在下面 链接:https://pan.baidu.com/s/1uTQV ...

  4. c语言字符串去重简单,C语言实现简单飞机大战

    本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下 定义四个函数实现飞机大战 #include #include #include //定义全局变量 int high,widt ...

  5. 纯c语言打造的雷霆战机,飞机大战。可吃道具加强。

    纯c语言编写的雷霆战机,简单容易上手 本博客将持续更新带给大家日常生活中的简单经典的C语言小项目和生活中的电子DIY.以后会陆续推出讲解视频发布在b站上.所有程序和日常学习资料全都可以在 群文件中免费 ...

  6. c语言编程实现飞机飞行速度,C语言实现简单飞机大战.pdf

    C语语言言实实现现简简单单飞飞机机大大战战 本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下 义四个函数实现飞机大战 #include #include #include / ...

  7. C语言飞机大战程序思路,C语言代码实现飞机大战

    本文实例为大家分享了C语言实现简单飞机大战的具体代码,供大家参考,具体内容如下 这个游戏的功能很单一,也就是"飞机大战",哈哈哈哈.总共只有300多行代码左右,你也可以想想它会有多 ...

  8. 飞机大战C语言代码百度云,C语言代码实现飞机大战

    本文实例为大家分享了C语言实现简单飞机大战的具体代码,供大家参考,具体内容如下 这个游戏的功能很单一,也就是"飞机大战",哈哈哈哈.总共只有300多行代码左右,你也可以想想它会有多 ...

  9. C语言控制台小游戏 | 打飞机

    开飞机打飞机 极度简陋版,做着玩 /20.3.27/ 基本描述 玩家控制一架飞机,用 * 表示: 敌机只有一架,随机位置飞来,用 @ 表示: 子弹能发一颗 ,用 | 表示://暂且叫做子弹吧,要不然叫 ...

  10. java敌人发射子弹

    敌人自动发射子弹 在我的毕设中,我选择用java写东方project的一个demo,然后在敌人发射子弹这块犯了难.我想实现的是,敌人是随机生成的,放在容器中,子弹是每个随机生成的敌人独立发射的,且发射 ...

最新文章

  1. 8G+256G固态笔记本,结合这款IDEA插件,写代码飞起!
  2. python日志_python日志处理
  3. div 图片滚动 / 文字滚动
  4. C#LeetCode刷题之#617-合并二叉树​​​​​​​​​​​​​​(Merge Two Binary Trees)
  5. (57)FPGA面试题-我们是否应该在敏感列表中包含组合电路的所有输入?
  6. Android_Kotlin原生开发_声明变量与内置数据类型---Kotlin工作笔记002
  7. Visio 不能使用方向键移动图形的解决办法
  8. 致经典初选的60首备选篇目_致经典复选诵读题库:英诗选篇学前及小学段60首...
  9. 吾爱破解crackme 023 024
  10. 【渝粤题库】国家开放大学2021春2251团体工作题目
  11. python math库
  12. 关于自定View的ViewGroup (嵌套View)
  13. 英语:逆向忠言(转载)
  14. [irving] C# Windows Beep 调用声音文件
  15. 计算机毕业设计之java+ssm校园外卖配送系统
  16. 2022.11.05 第六次周报
  17. 职务犯罪嫌疑人的第十八天科达打造“镇江模式”
  18. Placing Lampposts UVA - 10859 放置街灯 树形dp
  19. ping命令的常用参数
  20. 《安富莱嵌入式周报》第276期:2022.07.25--2022.07.31

热门文章

  1. 【随问】网址中的www是什么意思?HTTPS和HTTP的区别是什么?
  2. 欧美音乐史上最经典的歌曲
  3. 什么是uclinux?
  4. Animation 动画介绍和实现
  5. Unity 2D Animation(2D动画)学习
  6. html 判断undefined,JS中 “is not defined” 如何判断defined,defined和undefined 的区别
  7. Android中视频播放以及解码
  8. ERROR: Command errored out with exit status 1
  9. Discuz论坛超漂亮手机模板
  10. 无线信道仿真 matlab,基于Matlab的无线信道仿真.doc