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

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

亿万年的星光5年前 (2021-01-28)趣味小程序2931
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++图形化编程】使用键盘做一个简单画板

    【C++图形化编程】使用键盘做一个简单画板

    参考代码#include <graphics.h> // 引用图形库头文件 #include<cstdio> #include<conio.h&...

    【C++图形化编程】C++图形库的引入

    【C++图形化编程】C++图形库的引入

    0.前言前面的文章用C++的控制台完成了小游戏,但是我们平常玩的游戏都是有图形化界面,我们从这篇文章开始就引入一个C++图形库—EasyX。C++的图形库有很多,EasyX是最适合上手的图形库。1.简...

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

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

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

    C++实现走迷宫小游戏

    1.简单版本简单版本是利用字符数组实现的,利用字符数组设定入口和出口,用户每次按键就刷新一下当前字符数组。参考代码:#include<stdio.h>#include<stdlib....

    【C++图形化编程】flappy bird(2)—游戏逻辑与完善

    【C++图形化编程】flappy bird(2)—游戏逻辑与完善

    0.前言    上一篇中,我们简单完成了flappy的图像导入和基本架构。这一篇文章中,我们继续完善。1.游戏逻辑这个游戏的简单逻辑就是:(1)初始状态(游戏一...

    EasyX—制作复杂动画效果

    这篇文章来简单学习一下复杂动画效果。本文资源下载地址:这里参考代码#include <graphics.h> #include <conio.h> in...