【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语言】小程序游戏——飞机游戏(三)

猜你喜欢

转载自blog.csdn.net/qq_41884002/article/details/82965779