c语言小程序游戏飞机游戏,【c语言】小程序游戏——飞机游戏(一)

下面来介绍一个简单的游戏,其中用到的c语言知识属于基础内容,所以特别容易上手

~~~~~~~飞机游戏~~~~~~~~~

首先按照常理我们知道,肯定要在界面上绘制出一个飞机,我们用“*”符号来简单代表就OK。

我们知道,在窗口的坐标系原点是在窗口左上角的,如图所示

1435413f09fdaa789c4dff922bbf0b9c.png

所以我们如果想在这个坐标系里面的某个点上画出一个飞机,那么它的坐标系应该就是这样的

d35ee7614a27393f8380138e2ef05dfb.png

根据前一篇文章的介绍,如果转化为c语言的话,就需要:X0既是打印出X0个“\n”,Y0既是打印出Y0个空格!!!!

!!!!然鹅!!!!

我们可以使用更为简便的方式实现这个效果

可是在此之前,我们需要初始化一些数据

比如游戏的界面有多大、飞机的初始位置在什么地方等

所以,初始化代码如下

int height = 20;

int weight = 20;

int position_x=height/2;

int position_y=weight/2;

初始化完成之后,我们就可以确定飞机的初始位置了,改进后的代码如下

for(int i=0;i

{

for(int j=0;j

{

if((i == position_x) && (j == position_y))

printf("*");

else

printf(" ");

}

printf("\n");

}

编译时成功了,但是结果是你们想要的那样吗?

8afbf8d5be9caeffc643b846b8c591ae.png

由结果可知,程序是会一直往下打印“*”号,没有终点

这是为什么呢?

大神们都知道,编译器是从上往下一直执行代码的,所以打印出来的结果自然也是一直往下打印的啦!

所以,如果我们想要让飞机一直停留在窗口前面的话有什么办法呢?

vc6里面有个东西叫做清屏函数

一个用于输出完一次结果之后就把结果清除,在重新输出,再清除的函数

还有一个叫光标移动函数

一个用于把光标固定在某个位置,就不会一直闪屏的函数

VC中的清屏函数和光标移动函数(俗称gotoxy()),如下

#include

#include

#include

void gotoxy(int x,int y)

{

COORD pos;

pos.X = x;

pos.Y = y;

HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);

SetConsoleCursorPosition(out,pos);

}

void main()

{

system("cls");//清屏函数

gotoxy(0,0);//光标移动函数

}

添加完上面的函数之后,再次编译结果,就可以看到飞机已经可以正常地出现在规定的位置啦

a6b1c32b13de1f54d38c1b3cb00b7c29.png

在接下来,我们还需要对“飞机”这个类添加属性,然后增加敌机、发射激光、计算分数等,详细请看小程序游戏——飞机游戏(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值