当前位置:首页 > 趣味小程序 > 正文内容

C++在指定位置输出符号

亿万年的星光5年前 (2021-01-28)趣味小程序2865
0.前言

需要做控制台小游戏,需要获取光标在控制台的位置,从网上查到了gotoxy()函数可以实现,但是在DEVC++环境中直接调用这个gotoxy()会报错,于是查了一些资料,把过程记录下来。

1.过程实现

在DEVC++环境使用gotoxy()函数需要先定义,函数定义如下:

void gotoxy(int x, int y) {
    COORD pos = {x,y};
    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄
    SetConsoleCursorPosition(hOut, pos);//两个参数分别是指定哪个窗体,具体位置
}

调用的时候只要使用gotoxy(),函数内部加上坐标即可。需要<windows.h>和<conio.h>头文件。

2.屏幕坐标系

在编程和一些游戏中,使用的都是屏幕坐标系,类似下面这种,

可以想象成二维数组。

3.指定位置输出符号

先在0,0点输出看下:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<ctime>
#include<conio.h>
#include<windows.h>
void gotoxy();//移动函数
void gotoxy(int x, int y) {
   COORD pos = {x,y};
   HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄
   SetConsoleCursorPosition(hOut, pos);//两个参数分别是指定哪个窗体,具体位置
}
using namespace std;
int main()
{
   system("cls");
   gotoxy(0,0);
   cout<<"■";
   gotoxy(0,1);
   cout<<"■";
   return 0;
}

运行结果:

可以看出在指定位置画出了图形。

4.结论与问题

gotoxy()函数可以在将光标移动到指定位置上,但是在测试中遇到一些奇怪现象,就是不同的坐标会出现在同一个位置上,不知道是不是编译的问题。


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    C++产生随机数

    0.前言想做一个掷骰子的小游戏,需要用到随机数函数,于是查了一些资料,整理了一下。1.随机数函数C++产生随机数需要用到rand()和srand()函数。期中,(1)rand()叫随机数发生器,所在头...

    【C++图形化编程】EasyX函数~文字输出相关函数

    文字输出相关函数:函数或数据类型描述gettextcolor获取当前文字颜色gettextstyle获取当前字体颜色LOGFONT保存字体样式的结构体outterxtxy指定位置输出字符串drawte...

    C++实现弹窗效果

    C++实现弹窗效果

    1.格式C++实现弹窗效果需要用到messagebox,这个我在C#中用过,C++也有类似用法。messagebox函数,需要引入<windows.h>头文件2.简单用法#include&...

    【C++图形化编程】flappy bird(1)—基础框架及图形图像

    【C++图形化编程】flappy bird(1)—基础框架及图形图像

    0.前言    前面一篇文章,我们简单介绍了鼠标的一些操作, 这篇文章,我们还是一个实战教程,flappy bird的小游戏。1.导入背景和音乐  &...

    【C++图形化编程】播放背景音乐

    再做小游戏的时候有的时候需要背景音乐,这一点EasyX也可以实现。需要的头文件#include <mmsystem.h>  //多媒体设备接口 #pragm...

    【C++图形化编程】EasyX函数~图像操作相关函数

    【C++图形化编程】EasyX函数~图像操作相关函数

    图像处理相关函数函数或数据类型描述IMAGE保存图像的对象loadimage读取图片文件saveimage保存绘图内容至图片文件getimage从当前绘图设备种获取图像putimage在当前绘图设备上...