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

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

亿万年的星光4年前 (2021-01-28)趣味小程序2036
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++ 实用趣味小程序(1)

1.仿动画效果#include <cstdio>#include <windows.h>  //内含延时函数 #include <process.h> /...

【C++图形化编程】飞机大战2——运动与碰撞检测

上一篇中,简单实现了飞机大战的基本框架,这篇文章继续完善,使其可以进行游戏。#include <graphics.h> #include <conio.h>...

C++小游戏—猜数游戏

0.游戏内容玩家猜电脑产生的数字,一个两次机会,才对了给提示,猜错减去一次机会。1.参考代码#include<iostream>#include<cstdlib>#includ...

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

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

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

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

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

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

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

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