我正在尝试制作一个程序,我可以使用箭头键或WASD键在屏幕上移动角色(RPG风格)。我不知道如何以简单的方式重新绘制电路板,因为会有很多可能的位置。我正在考虑创建一个可以保持位置的二维数组。我不是要求你们所有人编写代码,我只是简单地问。是否可以使文本字符沿阵列中的位置移动?
答案 0 :(得分:2)
一种方法是清除“屏幕”并在每次更改时重绘“地图”。另一种可能是仅重绘已更改的行。还有一种可能是将光标定位在你想要“移动”的字符之后,打印一个退格,然后是一个空格,然后将光标重新定位到你想要新角色的位置之后,打印另一个退格然后打印角色。
或者只使用ncurses等库。
答案 1 :(得分:0)
在Windows上,您可以使用SetConsoleCursorPosition功能将光标移动到您喜欢的任意XY坐标。
要做到这一点,你需要一个HANDLE
到控制台,这很容易获得
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);