You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用hud()刷新游戏HUD时内容重复显示的问题求助

游戏HUD刷新重复显示问题求助

我正在开发一款游戏,尝试在数据变更时调用hud()函数刷新HUD界面,但出现信息重复显示的问题:HUD顶部额外显示了玩家的手牌,而我仅需要显示“Rodada: 2”。怀疑是两次调用hud()函数导致该问题,现寻求正确的HUD刷新方法。

相关代码

def hud(nickname):
    os.system('cls')

    global rodada
    rodada += 1

    print(f'\033[33mRodada\033[m: {rodada}')

    print(f'\033[92m{nickname}\033[m: {pontos_jogador_total} | \033[92mComputador\033[m: {pontos_computador_total}')

    # Opção de ajuda com manilhas
    if modo_ajuda_manilhas == False:
        print(f'\033[91mVira\033[m: {vira[0]}')
    else:
        for i in baralho_check:
            if vira[0] in i:
                print(f'\033[91mVira\033[m: {vira[0]} | \033[91mTodas manilhas\033[m: ', end='')
                for i in baralho_check[baralho_check.index(i)]:
                    print(f'{i}', end=' ')

    if ver_cartas_adversario:
        print("\n\033[33mMão computador:\033[m")
        for i in cartas_mao_computador:
            print(f'| {i}', end=' | ')

    # Mostrar as cartas na mesa
    if len(cartas_na_mesa) == 0:
        print(f'\n\n\033[91mMesa\033[m:\n|   | |   |')
    else:
        print(f'\n\n\033[91mMesa\033[m:')
        for i in cartas_na_mesa:
            print(f'| {i}', end=' | ')

    # Mostrar mão Jogador
    print(f'\n\033[92mSua mão\033[m:')
    for i in cartas_mao_jogador:
        print(f'| {i}', end=' | ')

函数调用流程

  • começar_novo_jogo():开启新游戏函数
  • distribuir_cartas():给玩家发牌函数
  • hud(nickname):HUD函数,传入nickname参数
  • jogador_joga(1):将手牌中的第一张牌放到桌面(mesa)
  • hud(nickname):刷新HUD以显示手牌减少一张、桌面增加一张牌

当前输出

| 4 ♦ | | 4 ♠ | | 5 ♥ | Rodada: 2
Gustavo: 0 | Computador: 0
Vira: 2 ♥


Mesa:
| 4 ♦ |
Sua mão:
| 4 ♠ | | 5 ♥ |

问题点

| 4 ♦ | | 4 ♠ | | 5 ♥ | Rodada: 2 <--- 此处仅需显示“Rodada: 2”,不希望显示手牌

内容的提问来源于stack exchange,提问作者Gustavo Gutierrez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:25:17