我正在尝试用Python编写一个控制台(即终端,而不是游戏机)上的乒乓球游戏,并且我在想如何最好地重新绘制游戏。
我考虑使用2D数组作为位图,编辑数组以反映球/挡板的新位置,然后将每一行转换为字符串并打印出来。但是这意味着旧的“帧”将保留下来,如果游戏的尺寸小于控制台窗口,则旧的帧仍将可见。
有没有办法从控制台中删除字符? 我听说'\b'不可靠。
还是有更简单的替代路线来输出此类应用程序到控制台吗?
我正在尝试用Python编写一个控制台(即终端,而不是游戏机)上的乒乓球游戏,并且我在想如何最好地重新绘制游戏。
我考虑使用2D数组作为位图,编辑数组以反映球/挡板的新位置,然后将每一行转换为字符串并打印出来。但是这意味着旧的“帧”将保留下来,如果游戏的尺寸小于控制台窗口,则旧的帧仍将可见。
有没有办法从控制台中删除字符? 我听说'\b'不可靠。
还是有更简单的替代路线来输出此类应用程序到控制台吗?
我最近开发了一个ASCII动画包(https://github.com/peterbrittain/asciimatics),它面临着类似的问题。虽然它没有你编写游戏所需的一切,但它应该会给你想要的大部分内容。
特别是Sprite类将帮助您处理重绘问题。有很多示例可以帮助您掌握使用它们和包中其他效果的各种方法。这里是一个小演示,我为我最喜欢的旧游戏之一致以敬意...