最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

【趣味程序】C++在指定位置输出符号

XAMPP案例 admin 87浏览 0评论

前言

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

过程实现

在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>头文件。

屏幕坐标系

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

可以想象成二维数组。

指定位置输出符号

先在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;
 }

运行结果:

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

结论与问题

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


注:本文章《师享空间》收集整理

转载请注明:XAMPP中文组官网 » 【趣味程序】C++在指定位置输出符号

您必须 登录 才能发表评论!