调用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
相关产品推荐
相关产品推荐

