c语言小程序
在接下来,我们需要对飞机添加一些属性:
1.利用键盘控制飞机的移动
2.按空格键可以发射激光
————————————————————————————————————————
NO.1 利用键盘控制飞机的移动
首先我们需要了解的是,如果想要通过按键来控制飞机的移动,那么我们具体要怎么控制呢?
A:需要用到按键,什么按键?
B:按键之后飞机要怎么才能移动?
我们可以利用游戏里面常用的几个按键来对飞机进行控制→“A,S,D,W”
之后我们了解到,如果飞机需要移动就需要在之前的坐标系上面进行操作,具体如下
所以,根据图片,只要在我们按下某个按键之后,飞机的坐标也随之跟着变动,就可以达到控制飞机移动的效果啦~
飞机移动代码如下
#include <conio.h>
void keytouch();
int main()
{
keytouch();
return 0;
}
void keytouch()
{
char key = 0;
if(kbhit())
{
key = getch();
if(key == 'a')
position_y --;
if(key == 's')
position_x ++;
if(key == 'd')
position_y ++;
if(key == 'w')
position_x --;
}
}
编译出来的效果不出意外的话就和我们理想的效果差不多啦
————————————————————————————————————————————————————————
当我们可以让飞机移动时,接下来我们还需要给飞机添加多一个属性,就是按空格键的时候可以发射出激光,以消灭敌机
————————————————————————————————————————————————————————
NO.2.按空格键可以发射激光
这个时候我们还是需要在坐标上找出激光的坐标位置
为了方便以后的程序调用,我们需要加多一个激光的位置变量:bullet_x,bullet_y
int bullet_x = -1;
int bullet_y = -1;//初始位置为(-1,-1),使得激光在坐标轴之外不显示出来,如果设置成(0,0),则一开始会出现在窗口的左上角处
我们设定在按空格键的时候在飞机的正上方会出现激光,所以
char key = 0;
if(kbhit())
{
key = getch();
if(key == ' ')
{
bullet_y = position_y;
bullet_x = position_x-1;
}
}
一直到这里,我们的激光就算初步完成了,编译不出错的时候,按下空格键,就可以看到激光会出现在飞机的正上方,但是飞机移动激光不会随之移动,而是留在原地,当再次按下空格键时,激光会再次出现在飞机的正上方。
——————————————————————————————————————————————————————
最后,我们需要让激光动起来,使得激光可以击中敌机
——————————————————————————————————————————————————————
实现激光移动很简单,我们只需要让激光在X轴的坐标系一直-1,一直减到-1(超出坐标系)就可以了,代码如下
if(bullet_x > -1)
bullet_x --;
当再次编译,按下空格键时,我们就可以看到,激光可以发射的效果了
———————————————————————————————————————
在接下来,我们还需要添加敌机,为敌机添加属性等,具体实现请看【c语言】小程序游戏——飞机游戏(三)
相关阅读
课程简介: ----------------------课程目录------------------------------|--|C语言 极客|----|3.C语言进阶|------|4、C
A5创业网(公众号:iadmin5)11月9日报道,据重庆警方消息,日前成功破获一起利用“早起挑战”游戏行骗的网络诈骗案,在全国多地
1.九曳供应链分类:农业、生鲜供应链解决方案运营商融资情况:完成C轮融资,金额数亿人民币,投资方正大集团。简介:“九曳供应链&r
玩客猴是一个基于迅雷玩客币钱包的在线收集养成类游戏,每一只玩客猴都是根据特定的算法自动生成,多达15*16次方随机组合方案,让每一
鉴于 Android 手机软硬件十分繁杂,导致绝大部分数据包游戏很难同时兼容全部机型,因此数据包游戏往往会分版本、机型独立提供给各位