Linux终端中的游戏:更改图像:打印已打印的文本

时间:2014-01-19 12:42:03

标签: c linux bash console printf

好吧,我只是在linux终端中实现非常简单的纸牌游戏。 我想要实现的是改变图像的效果,基本上是在已经打印的文本上进行打印(我想我不能做,除了用\ r \ n重印相同的行)。

我想要做的是获取终端高度,然后打印换行符直到终端的下边缘,然后将光标定位在终端中,以便打印的最后一行将位于顶部。

有什么好办法吗?我刚刚找到名为Ncurses的库。似乎它可以做到这一点。这是一个不错的选择吗?

1 个答案:

答案 0 :(得分:1)

Ncurses在终端中创建自己的角色窗口,允许您访问和覆盖特定位置的字符。这看起来非常适合您的游戏,您可以在屏幕上的任何位置绘制角色艺术卡片。无论如何,通过滚动()终端比模仿相同的方式更好。 - M Oehm

Curses是最佳选择,因为兼容库可用于所有操作系统(包括Windows命令行); ncurses是Linux的最佳选择。对于Linux和Unix终端,您还可以使用ANSI escape codes,通常称为terminal codes。例如,打印"\033[2;3H"会将光标移动到第二行的第三列,从顶部开始计数。无论如何,我确实建议使用Curses。 - 名义动物