c语言 飞机,C语言写的飞机源码
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#define N 35
void print(int [][N]);//输出函数
void movebul(int [][N]);//子弹移动函数
void movepla(int [][N]);//敌机移动函数
void setting(void);//设置函数
void menu(void);//菜单函数
int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局变量:界面、我机初始位、界面宽度、敌机速度、敌机密度、得分、死亡
main(void)
{
menu();
int i=0,j=0;
scr[21][pl]=1;
scr[0][5]=3;
while(1){if(kbhit())switch(getch())//控制左右移动和进入菜单
{case 'a':case 'A':if(pl>0)scr[21][pl]=0,scr[21][--pl]=1;break;
case 'd':case 'D':if(pl
break;
case 'w':case 'W':scr[20][pl]=2;break;case 27 :setting();
break;
}
if(++j%density==0)//控制生产敌机的速度
{j=0;srand(time(NULL));
scr[0][rand()%width]=3;
}
if(++i%speed==0)//控制敌机移动速度,相对于子弹移动速度
movepla(scr);
movebul(scr);
print(scr);
if(i==30000)i=0;//以免i 越界
}
}
void print(int a[][N]){system("cls");
int i,j;
for(i=0;i<22;i++){a[i][width-1]=4;
for(j=0;j
if(a[i][j]==1)printf("\5");//输出我机的符号
if(a[i][j]==2)printf(".");//子弹
if(a[i][j]==3)printf("\3"); //输出敌机符号
if(a[i][j]==4)printf("|");
if(i==0&&j==width-1)printf("得分:%d",score);//右上角显示得分
if(i==1&&j==width-1)printf("死亡:%d",death);
if(i==2&&j==width-1)printf("设置:Esc");
if(i==3&&j==width-1)printf("Copyright:金圣贤");
}
printf("\n");
}
}
void movebul(int a[][N]){int i,j;
for(i=0;i<22;i++)
for(j=0;j
{
if(i==0&&a[i][j]==2)a[i][j]=0;if(a[i][j]==2)
{
if(a[i-1][j]==3)score+=10,printf("\7");
a[i][j]=0,a[i-1][j]=2;
}
}
}
void movepla(int a[][N])
{
int i,j;
for(i=21;i>=0;i--)//从最后一行往上是为了避免把敌机直接冲出数组。
for(j=0;j
{
if(i==21&&a[i][j]==3)a[i][j]=0;//底行赋值0 以免越界。
if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;
}
if(a[20][pl]==3&&a[21][pl]==1)death++;
}
void setting(void)
{
int sw=0,i,j;
system("cls");
do{sw=0;printf("\n 游戏界面的大小:1.大2.小>> ");
switch(getche())
{
case '1':width=34;break;
case '2':width=24;break;
default:printf("\n 错误,请重新选择...\n");
sw=1;
}
}
while(sw);
do
{
sw=0;
printf("\n 请选择敌机密度:1.大2.中3.小>> ");
switch(getche())
{
case '0':density=10;
break;
case '1':density=20;
break;case '2':density=30;
break;case '3':density=40;break;
default:printf("\n 错误,请重新选择...\n");
sw=1;
}
}
while(sw);
do
{
sw=0;
printf("\n 敌机的飞行速度:1.快2.中3.慢>> ");
switch(getche())
{
case '1':speed=2;
break;
case '2':speed=3;
break;
case '3':speed=4;
break;
default:printf("\n 错误,请重新选择...\n");
sw=1;
}
}
while(sw);
for(i=0;i<22;i++)
for(j=0;j<45;j++)
scr[i][j]=0;
scr[21][pl=9]=1;
printf("\n 按任意键保存...");
getch();
}
void menu(void)
{
printf("说明:按A D 控制我机左右飞行,W 发射子弹\n 设置:请按Esc\n 开始游戏:任意键");
if(getch()==27)setting();
}
c语言 飞机,C语言写的飞机源码相关推荐
- JAVA毕业设计飞机航班信息查询系统计算机源码+lw文档+系统+调试部署+数据库
JAVA毕业设计飞机航班信息查询系统计算机源码+lw文档+系统+调试部署+数据库 JAVA毕业设计飞机航班信息查询系统计算机源码+lw文档+系统+调试部署+数据库 本源码技术栈: 项目架构:B/S架构 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- mysql 线程池源码模块_易语言Mysql线程池2.0模块源码
易语言Mysql线程池2.0模块源码 易语言Mysql线程池2.0模块源码 系统结构:GetThis,初始化,关闭类线程,线程_测试,其他_附加文本,连接池初始化,取mysql句柄,释放mysql句柄 ...
- C语言实现哈希表(附完整源码)
C语言实现哈希表 C语言实现哈希表附完整源码 C语言实现哈希表附完整源码 #include<stdio.h> #include<stdlib.h> #define SUCCES ...
- WoShop跨境电商USDT支付语言插件全开源无加密商城源码
WoShop跨境电商USDT支付语言插件全开源无加密商城源码 基于现场直播+购物模式,用户可以"边看边买"现场直播商城平台,全终端支持,统一管理后台,传播更强,管理更方便,支持私有 ...
- 通过语言包,让云豹短视频源码实现国际化运营
本文以ios版本的云豹短视频源码为例,讲述如何通过加入语言包,让云豹短视频源码实现国际化运营. 一.配置 在Xcode中依次选中 projext – Localizations – 自己需要的语言[e ...
- 易语言从html中获取验证码,易语言过腾讯滑块验证码模块源码和调用例程
易语言过腾讯滑块验证码模块源码和调用例程.版本 2 .支持库 BmpOperate .支持库 spec .程序集 程序集1 .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码 ...
- JAVA多语言多商户跨境电商源码
多语言无货源跨境电商源码是一个功能强大的电子商务平台,该平台具有许多先进的功能和特点,可以帮助用户轻松地开展跨境电商业务. 一.主要功能介绍 多语言支持:该平台支持多语言,包括英语.中文.法语.西班牙 ...
- C语言小游戏大全,C语言贪吃蛇小游戏(附源码)
一.C语言小游戏大全,C语言贪吃蛇小游戏(附源码) 贪吃蛇小游戏源码和更多C语言课设项目小游戏源码免 费 下 载 链 接 如下: c语言项目课设小游戏源码资料压缩包.zip-C文档类资源-CSDN下载 ...
- Opencv多语言自然场景文本识别系统(源码&教程)
1. 研究背景 人类在自然场景中可以快速定位并识别看到的文字信息,但是想要计算机做到和人类一样是比较困难的.开发人员一直想要让机器也能识别图像中的文字信息.当然,对于自然场景来说,图像中的信息复杂甚至 ...
最新文章
- Linux实战教学笔记32:企业级Memcached服务应用实践
- char[],char *,string之间转换
- (1)kendo UI使用基础介绍与问题整理——简单说明
- 讲师征集| .NET Conf China 2021正式启动!
- [Leetcode][第546题][JAVA][移除盒子][递归][动态规划]
- 聊一下CPU占用高的解决方案
- oracle将字符串转化为blob,oracle String类型转换成blob类型插入
- Interface的精髓——《Thinking in Java》随笔025
- 自定义服务器控件的元数据属性(MSDN)
- java web教程下载_Java Web云应用开发项目式教程 中文pdf扫描版[208MB]
- 2022-08-22 步进电机驱动程序
- 【微信小程序】微信小程序接口数据加密、解密算法
- 如何提高自身数学分析水平
- 计算字符串出现的次数
- 显著性检测的四种经典方法
- html5 自动点击按钮,自动击键神器!一键实现自动点击功能!关键模拟应用
- 大师系列彼•奇层查股
- qq飞车前瞻版服务器维护,QQ飞车手游前瞻版
- 洛谷P1004方格取数
- Python常用库大全(转)
热门文章
- visu studio编程中L、TEXT、_TEXT、_T 用法说明
- ibm bpm开发 手册_使用定制的IBM BPM数据处理程序简化管理复杂输入数据的方式
- python 企业发放的奖金根据利润提成
- 记一次amd平台win10/win11随机死机蓝屏重启的问题
- 埃拉托斯特尼筛法算法复杂度(n*lnlnn)的证明([欧拉数学]素数倒数之和)
- dw中css规则定义中文,Dreamweaver编辑CSS规则
- catia画变截面弯管
- go语言 golang中 关于json数据的处理 动态key 动态字段
- c语言编程题狗熊掰棒子,狗熊掰棒子:掰一棒扔一棒
- Qt/C++编写自定义控件48-面板窗体控件