如何在c ++中在屏幕上移动文本字符

时间:2014-01-05 14:24:39

标签: c++

我正在尝试制作一个程序,我可以使用箭头键或WASD键在屏幕上移动角色(RPG风格)。我不知道如何以简单的方式重新绘制电路板,因为会有很多可能的位置。我正在考虑创建一个可以保持位置的二维数组。我不是要求你们所有人编写代码,我只是简单地问。是否可以使文本字符沿阵列中的位置移动?

2 个答案:

答案 0 :(得分:2)

一种方法是清除“屏幕”并在每次更改时重绘“地图”。另一种可能是仅重绘已更改的行。还有一种可能是将光标定位在你想要“移动”的字符之后,打印一个退格,然后是一个空格,然后将光标重新定位到你想要新角色的位置之后,打印另一个退格然后打印角色。

或者只使用ncurses等库。

答案 1 :(得分:0)

在Windows上,您可以使用SetConsoleCursorPosition功能将光标移动到您喜欢的任意XY坐标。

要做到这一点,你需要一个HANDLE到控制台,这很容易获得

HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);

More Windows Console functions

See here for an example