• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C语言代码实现飞机大战

c语言 搞代码 4年前 (2022-01-06) 135次浏览 已收录 0个评论

这篇文章主要为大家详细介绍了C语言实现简单飞机大战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小

来源gao!%daima.com搞$代*!码网

伙伴们可以参考一下

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

这个游戏的功能很单一,也就是“飞机大战”,哈哈哈哈。总共只有300多行代码左右,你也可以想想它会有多简陋,把它复制下来编译一下可以直接执行,需要的同学可以自取~

PS:我运行的环境是 dev c++,前提你要在C99的环境中执行

以下是源代码

 #include #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)位置 void welcometogame();     //初始化界面 int color(int c);       //更改文字颜色 void explation();   //游戏右侧显示 void scoreandtips();  //显示游戏提示 void show();   //显示游戏界面 void endgame();   //游戏结束 /** * 文字颜色函数 */ int color(int c) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);    //更改文字颜色 return 0; } /** * 设置光标位置 */ void gotoxy(int x,int y) { COORD c; c.X=x; c.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c); } void welcometogame() //开始界面 { int n; color(15); gotoxy(43,10); printf("飞 机 大 战"); color(11); gotoxy(25, 22); printf("1.开始游戏"); gotoxy(45, 22); printf("2.游戏说明"); gotoxy(65, 22); printf("3.退出游戏"); gotoxy(40,27); color(3); printf("请选择 1 2 3:"); color(14); scanf("%d", &n);   //输入选项 switch (n) { case 1: system("cls"); show(); break; case 2: explation();    //游戏说明函数 break; case 3: exit(0);    //退出游戏 break; default: color(12); gotoxy(40,28); printf("请输入1-3之间的数!"); _getch();  //输入任意键 system("cls"); //清屏 welcometogame(); } } void explation() //游戏提示 { int i,j = 1; system("cls"); color(10); gotoxy(44,1); printf("游戏说明"); color(2); for (i = 3; i <= 28; i++)  //输出上下边框=== { for (j = 6; j <= 80; j++) //输出左右边框|| { gotoxy(j, i); if (i == 3 || i == 28) printf("="); else if (j == 6 || j == 80) printf("||"); } } color(3); gotoxy(20,5); printf("1. W,A,S,D 分别控制飞机的上下左右移动"); color(10); gotoxy(20,8); printf("2. 按空格发射子弹,打中敌机即可得到一分"); color(14); gotoxy(20,11); printf("3.碰到敌机子弹死亡"); color(11); gotoxy(20,14); printf("4. ESC :退出游戏"); color(4); gotoxy(20,17); printf("5. 玩的愉快!!!"); color(7); gotoxy(20,20); printf("/*****按任意键返回主页面*****/"); _getch();        //按任意键返回主界面 system("cls"); welcometogame(); } void scoreandtips()//游戏侧边提示 { gotoxy(50,8); color(14); printf("游戏得分:%d ",score); gotoxy(50,10); printf("用W A S D 分别控制飞机的移动"); gotoxy(50,12); printf("按下空格键即为发射炮弹"); gotoxy(50,14); printf("@ 的样子就是敌人的飞机"); } void HideCursor() // 用于隐藏光标 { CONSOLE_CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info); } void startup()   //数据初始化 { high=20;   //定义游戏界面的高度 width=40;   //游戏界面的宽度 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,k; for(i=0;i<high;i++) { for(j=0;j0)    //子弹上升效果 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_x1) position_x--; if((input=='s')&&position_x1) position_y--; if((input=='d')&&position_y<width-2) position_y++; if(input==' ') { bullet_x=position_x-1; bullet_y=position_y; } } } int main() { system("mode con cols=100 lines=30");  //设置控制台的宽高 welcometogame(); startup();   // 数据初始化 //explation(); while(1)   // 游戏循环执行 { gotoxy(0,0); show();   // 显示画面 scoreandtips(); if(flag == 1) { endgame(); } withoutInpute(); // 与用户输入无关的更新 withInpute();  // 与用户输入有关的更新 } return 0; } 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持gaodaima搞代码网

以上就是C语言代码实现飞机大战的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C语言代码实现飞机大战

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址