使用C语言怎么编写一个飞机大战小游戏
发表于:2022-08-12 作者:安全数据网编辑
编辑最后更新 2022年08月12日,使用C语言怎么编写一个飞机大战小游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体内容如下#include#include int
使用C语言怎么编写一个飞机大战小游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体内容如下
#include#include int zdj_x,zdj_y;int zd_x,zd_y;int dj_x,dj_y;int speed;int map[21][41];int score;int H=20,C=40;//墙是1;飞机2;子弹3;敌机4; void start()//设置初始值{ zdj_x=15; zdj_y=20; zd_x=0; zd_y=20; dj_x=2; dj_y=15; score=0;} void startMAP()//绘制战场框架{ int i, j; for (i = 1; i <=19; i++) { map[i][1] = 1; for (j = 2; j <=39; j++) { map[i][j] = 0; map[i][40] = 1; } } i = 20; for (j = 1; j <= 40; j++) { map[i][j] = 1; } map[zd_x][zd_y] = 3; map[zdj_x ][zdj_y] = 2; map[dj_x][dj_y+1] = 4;} void HideCursor()//隐藏光标 { CONSOLE_CURSOR_INFO cursor_info={1,0};//0表示对光标的隐藏 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_info);}void gotoxy(int x,int y)//清屏,使屏幕保持 { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos); }void upguize()//游戏规则(不唯一)如果有其他想法可以加入{ int i,j; if(zd_x>0)//子弹单轨 { zd_x--; } if((zd_x==dj_x)&&(zd_y==dj_y+1))//打中规则 { score++; dj_x=0; dj_y=rand()%40; zd_x=0; } if(dj_x>20)//敌机出界 { dj_x=0; dj_y=rand()%40; } static int speed=0;//静态控制speed if(speed<10)//速度控制 { speed++; } if(speed==10) { if(dj_x<20) dj_x++; else { dj_x=0; dj_y=rand()%39+1; } speed=0; }}void upinput()//对按键的处理以{ char input; if(kbhit())//if(kbhit)判断键盘是否进行操作 { input=getch(); if((input=='w')&&(zdj_x>1))//防止飞机走出战场框架 { zdj_x--; } if((input=='a')&&(zdj_y>2)) { zdj_y--; } if((input=='s')&&(zdj_x<19)) { zdj_x++; } if((input=='d')&&(zdj_y<39)) { zdj_y++; } if(input==' ') { zd_x=zdj_x-1; zd_y=zdj_y; } }}void show()//对数组中对应数的字符表达,绘制地图{ int i,j; for(i=1;i<=20;i++) { for(j=1;j<=40;j++) { if(map[i][j]==0) { printf(" "); } if(map[i][j]==1) { printf("+"); } if(map[i][j]==2) { printf("*"); } if(map[i][j]==3) { printf("|"); } if(map[i][j]==4) { printf("#"); } } printf("\n"); } printf("\n%d\n",score); printf("按'w''a''s''d'进行移动"); }int main()//代码总运行{ system("color a4");//a控制背景色4控制前景色 start(); while(1) { gotoxy(0,0);//使光标处于(0,0)位置 HideCursor(); startMAP(); show(); upguize(); upinput(); } return 0;}
看完上述内容,你们掌握使用C语言怎么编写一个飞机大战小游戏的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
软件开发需求怎么提出
如何引导网络安全舆论环境
have服务器
四川口碑好服务器机柜云主机
mysql大数据库
传奇世界电脑版怎么选不了服务器
供热收费软件开发
关系数据库选择关系运算方法
数据库数据概论第五版答案
杭州绿金互联网科技有限公司
无法与网络连接到服务器
福州拔萃网络技术
服务器监控软件中文
口碑好的网络技术开发价位
数据库 在某一年
北京彩票网络技术有限公司
2u服务器托管
网络安全教育视频教案
未履行网络安全等级保护
虹口区智能软件开发销售厂
网络安全花边
hi数据库管理软件
记算机网络技术专业
网络安全威胁发现态势
杨浦区网络技术服务推荐咨询
软件开发在大学的就业前景
软件开发教程学习网站
充电桩软件开发怎么跟充电桩连接
湖北发货单管理软件开发
怎么样学好软件开发