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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 欧拉函数及其计算_计算n的欧拉函数

    欧拉函数及其计算_计算n的欧拉函数欧拉函数1.定义什么是欧拉函数?任意给定正整数n,请问在小于等于n的正整数之中,有多少个与n构成互质关系?(比如,在1到8之中,有多少个数与8构成互质关系?)计算这个值的方法就叫做欧拉函数,用φ(n)表示。在1到8之中,与8形成互质关系的是1、3、5、7,所以φ(n)=4。2.计算欧拉函数计算公式这个p是什么呢?一个正整数n可以通过分解质因数得到例如n=…

    2022年8月22日
    7
  • 微信web开发者工具详解_微信web开发者工具官方下载

    微信web开发者工具详解_微信web开发者工具官方下载一、微信小程序web开发工具下载地址 1.1 在微信公众平台-小程序里边去下载开发工具下载地址。1.2下载后安装一下就可以使用了:二、创建项目 2.1 微信小程序web开发工具需要扫码登陆,所以必…

    2025年5月27日
    4
  • Java类加载,getClassLoader()

    Java类加载,getClassLoader()转自【java类加载的深入研究1】loadClass()的研究,IBM深入探讨Java类加载器类加载器基本概念顾名思义,类加载器(classloader)用来加载Java类到Java虚拟机中。一般来说,Java虚拟机使用Java类的方式如下:Java源程序(.java文件)在经过Java编译器编译之后就被转换成Java字节代码(.class文件)。类加载…

    2022年5月27日
    30
  • 什么是5g微基站(三大运营商基站数量)

    大家都知道,要想使用5G网络,必须要有5G基站做支撑,那么5G基站长啥样,又是如何建成的呢?▲中国移动的5G天线设备▲北斗+GPS的双星授时设备5G天线设备、北斗+GPS的双星授时设备两…

    2022年4月11日
    111
  • CareerCup它1.8 串移包括问题

    CareerCup它1.8 串移包括问题

    2022年1月2日
    45
  • 最全的android图片加密

    最全的android图片加密在android开发过程中有些时候一些重要的图片,我们不希望用户通过文件管理直接能查看,我们该怎么办呢,当然你可以把图片放在android的内部存储中,data/data/下,但毕竟androidroot用户一大堆,还是解决不了问题。那么我们就需要对图片进行加密,当然加密的方法有很多种,下面给大家推荐我常用的2中方法,基本上可以解决大部分问题。   1、国际标准的AES加密,通过加密流存储

    2022年6月21日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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