前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【c语言】小程序游戏——飞机游戏(一)

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

作者头像
全栈程序员站长
发布2022-08-31 08:47:36
2.4K0
发布2022-08-31 08:47:36
举报

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

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

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

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

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

!!!!然鹅!!!!

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

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

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

所以,初始化代码如下

代码语言:javascript
复制
int height = 20;
int weight = 20;
int position_x=height/2;
int position_y=weight/2;

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

代码语言:javascript
复制
 for(int i=0;i<height;i++)
   {
		for(int j=0;j<weight;j++)
		{
			if((i == position_x) && (j == position_y))
				printf("*");
			else 
				printf(" ");
		}
		printf("\n");
   }

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

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

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

这是为什么呢?

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

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

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

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

还有一个叫光标移动函数

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

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

代码语言:javascript
复制
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

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);//光标移动函数
}

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

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

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

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/144531.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • !!!!然鹅!!!!
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档