如何让 Python (2.7.x) 程序输出类似 nethack 的 ASCII 图形?
Posted
技术标签:
【中文标题】如何让 Python (2.7.x) 程序输出类似 nethack 的 ASCII 图形?【英文标题】:How to make a Python (2.7.x) program output nethack-like ASCII graphics? 【发布时间】:2014-08-26 13:56:32 【问题描述】:我正在寻找一个控制台游戏,它需要不断地输出 ASCII 图形帧,但我想知道如何使这个功能更加流畅。虽然我不相信nethack-console
游戏不是用 Python 编写的,但我正在研究它如何能很好地显示似乎不会四处移动的“动画”帧,并且没有清楚地显示图形是“ reprinted”,从而使图形非常一致,并且发生的任何动画“似乎都是在单个打印输出上完成的”。如果描述不够清楚,让我举个例子:
000X
如果“x”将向左移动一个单位,我想在控制台上看到这个:
00X0
而不是:
000X
00X0
【问题讨论】:
How to create ASCII animation in a console application using Python 3.x?的可能重复 最终你可以尝试使用\r
代替\n
- 你将不得不在print
中使用,
- 比如print '\r000X',
然后print '\r00X0',
。但是有更好的解决方案,比如curses
【参考方案1】:
查看curses 模块或urwid 库,非常适合开始使用控制台应用程序。 Curses(和 urwid)允许您在缓冲区中绘制帧,然后仅在需要的地方更新屏幕。
【讨论】:
根据我的经验,curses 通常是做这些事情的最佳选择。以上是关于如何让 Python (2.7.x) 程序输出类似 nethack 的 ASCII 图形?的主要内容,如果未能解决你的问题,请参考以下文章