You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在RPG游戏角色命名功能中实现空输入时重复请求用户输入?

解决RPG角色命名空输入的问题

嘿,我完全懂你遇到的小麻烦啦!当玩家直接按回车没输入任何内容时,角色就没了名字,这确实有点破坏游戏体验~作为编程新手,咱们用一个简单的循环就能轻松搞定——让程序一直请求输入,直到玩家给出有效的名字为止。

核心思路

咱们可以用while循环来实现“重复请求输入”的逻辑:

  • 先进入一个无限循环,每次让玩家输入名字
  • 检查输入的内容是不是空的(或者只有空格)
  • 如果是空的,就提示玩家重新输入;如果有有效内容,就跳出循环,继续后面的欢迎流程

修改后的完整代码

import time  # 别忘了导入time模块,不然time.sleep()会报错哦

# 用while循环持续获取输入,直到得到有效名字
while True:
    print('\n > what should your hero be named?\n ')
    name = input('> ')
    # strip()会去掉输入内容前后的空格/回车等空白字符,判断处理后是否为空
    if name.strip():
        # 输入有效,跳出循环
        break
    # 输入为空,提示玩家重新输入
    print('\n > Oops! You didn\'t enter a name. Please give your hero a name!\n ')

time.sleep(1)
print(f'\n > welcome mighty hero! you shall be named: {name} !!!\n ')
print(' > a fine choice')
print('\n')

关键部分解释

  • while True:这是一个无限循环,除非遇到break语句,否则会一直重复执行循环里的代码
  • name.strip():这个方法能把输入字符串前后的空白字符(比如空格、回车)都去掉,如果处理后的字符串不为空,就说明玩家输入了有效的名字
  • 当玩家输入为空时,程序会打印提示信息,然后回到循环开头,再次请求输入,直到玩家输入了名字为止

这样修改后,玩家就没法直接按回车跳过命名啦,必须输入一个有效的名字才能继续游戏~

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

火山引擎 最新活动