我正在尝试用python编写一个控制台(如终端,而不是游戏控制台)乒乓球游戏,但我无法确定如何最好地(重新)绘制游戏。
我正在考虑将二维数组作为一种位图,编辑数组以反映球/桨的新位置,然后将每一行转换为字符串并打印。然而,这意味着旧的“框架”将保留,如果游戏的尺寸小于控制台窗口,旧的框架仍然可见。
有没有办法从控制台中删除字符?'\b' 我听说是不可靠的。
或者是否有更简单的替代方法可以将此类应用程序输出到控制台?
看起来 Python 有一个curses端口/库:
我最近一直在开发一个面临类似问题的 ASCII 动画包( https://github.com/peterbrittain/asciimatics )。虽然它没有您编写游戏所需的一切,但它应该可以满足您的大部分需求。
特别是 Sprite 类将帮助您处理重绘问题。有大量示例可帮助您掌握使用它们的各种方法以及包中的其他效果。这是我整理的一个小演示,以向我过去最喜欢的游戏之一致敬...
You can use curses.
It has a Windows Port and Unix Port, and plenty of documentation. You can also use some helper libs.
我会使用curses模块进行调查。它会处理很多细节,让你专注于更高层次的东西。