【问题标题】:clearing the terminal for my python text adventure为我的 python 文本冒险清除终端
【发布时间】:2020-09-12 00:03:58
【问题描述】:

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

【问题讨论】:

标签: python adventure


【解决方案1】:

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

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

或者,如果您在 Linux 上,则将 'cls' 与 'clear' 交换。

【讨论】:

  • 这是关于我现在正在寻找实现它的内容。谢谢
【解决方案2】:

你在用windows吗?如果是这样,您可以尝试:

import os

os.system('cls')

或每页完成后需要清除类似的东西。

【讨论】:

    【解决方案3】:

    使用ANSI escape codes清除终端:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多