为我的python文本冒险清除终端



在快速谷歌搜索和仔细阅读堆栈溢出后,使用当前版本的python,我看不出我在寻找什么。我正试图找到一种方法来清除屏幕上的每一个新打印。所以你会得到一个房间的介绍文本,而房间里有一个怪物,所以当你按下攻击键时,它会删除介绍文本,并打印出新的文本,说明你使用了什么武器以及你造成了多大的伤害。然后当怪物死亡时,伤害提示会消失,你会得到死亡敌人的空房间文本,按下这些键进入方向文本。我的游戏的当前版本在这里https://github.com/GusRobins60/AdventureGame.git希望这能让你了解我要展示的文本。谢谢你的帮助。

对于windows,您可以使用lambda函数轻松创建一个匿名函数,可以使用该函数一次又一次地清除终端:

clear = lambda: os.system('cls')
clear()

或者,如果您使用的是Linux,则将cls替换为clear。

您在使用windows吗?如果是,您可以尝试:

import os
os.system('cls')

或者在每个页面完成并需要清除后进行类似操作。

使用ANSI转义码清除终端:

import sys
sys.stdout.write("33[H33[2J") #"33" is the ESC character
sys.stdout.flush()

33[H将光标移动到终端的左上角,33[2J清除屏幕。在这里使用sys.stdout.write而不是print可以避免写入换行符,因此当使用print()时,光标停留在屏幕的第一行,而不是第二行。

最新更新