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

【c语言】小程序游戏——飞机游戏(一)下面来介绍一个简单的游戏,其中用到的c语言知识属于基础内容,所以特别容易上手~~~~~~~飞机游戏~~~~~~~~~首先按照常理我们知道,肯定要在界面上绘制出一个飞机,我们用“*”符号来简单代表就OK。我们知道,在窗口的坐标系原点是在窗口左上角的,…

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

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

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

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

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

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

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

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

        根据前一篇文章的介绍,如果转化为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<height;i++)
   {
		for(int j=0;j<weight;j++)
		{
			if((i == position_x) && (j == position_y))
				printf("*");
			else 
				printf(" ");
		}
		printf("\n");
   }

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

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

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

                                                                         这是为什么呢?

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

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

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

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

        还有一个叫光标移动函数

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • EVE模拟器的使用-带图超详细(学网络用)「建议收藏」

    EVE模拟器的使用-带图超详细(学网络用)「建议收藏」文章目录EVE模拟器的安装EVE模拟器的使用登陆添加一个实验退出一个实验实验分类创建任务(添加路由交换机)选择型号和种类说明修改已创建种类参数界面放大和缩小方式一方式二种类(设备)之间连线和删除连线连线删线添加注释信息(描述)设备开机开启单个设备开启所有设备设备功能配置软件抓包EVE模拟器的安装EVE模拟器的下载及安装见:EVE模拟器的使用登陆根据上面安装步骤进入到这个界面以后:用户名:admin密码:unl(小写L)登陆方式:Nativeconsole登陆成功以后就是这个界面:添

  • 5大优秀黑客必逛技术网站

    5大优秀黑客必逛技术网站5大优秀黑客必逛技术网站HackForums最理想的黑客技术学习技术根据地,也适用于开发人员游戏开发者,程序员,图形设计师以及网络营销人士HackThisSite提供合法而安全的网络安全资源,可以通过·各类挑战题目测试自己的黑客技能EnilZone一个专门面向黑科群体的论坛,其中也涉及科学,编程以及艺术等领域的内容Exploit-DB提供一整套庞大的归档体…

  • ubuntu16.04安装pycharm_pycharm32位安装包

    ubuntu16.04安装pycharm_pycharm32位安装包1)下载pycharm专业版安装包之后2)解压缩到当前文件夹3)打开终端,进入pycharm-2018.1.4/bin;cdDownloads/pycharm-2018.1.4/bin4)执行pycharm.sh命令文件,开始安装;sh./pycharm.sh5)出现Complete-Installation提示框,如图5,如果需要导入之前安装版本的配置的话,就选第一个,没有就选第二个。所以这里选第二个,直接点OK6)激活激活方式:法1:a.Activationlice

  • vue学习笔记(一)

    vue学习笔记(一)一、初使用vue1.在head中引入vue.js文件<script src=”./js/vue.js”></script>2.编写vue实例例子先通过原生js获取div并改变内容,两秒后改变值<div id=”app”> <!– {{content}} –> …

  • Java课程设计

    Java课程设计#1.团队名称、团队成员##团队名称:秃头团队|成员|任务分配|||||林小强(组长)|dao包util包可视化||陈泽役|model包可视化|#2.前期

  • 前缀和与差分数组[通俗易懂]

    前缀和与差分数组[通俗易懂]文章目录适合解决的问题差分数组的定义解释借教室(二分加差分数组)适合解决的问题例:n个数,m次操作。每一次操作都给定区间和数值[l,r]+del.最后有q个询问,问[l,r]点的值或者单点查值。注:先进行m个修改操作,后进行查询操作。(离线的区间区间修改问题)差分数组的定义记录当前位置与上一位置数的差值解释原数组a[5]=9,3,5,4,2差分数组b[5]=9,-6,2,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号