我正在尝试制作一个不和谐机器人游戏,其中玩家说“击中”并且怪物会受到随机的伤害。在怪物受到一定程度的伤害后,它们会死亡并出现一个新怪物。 但是,当我输入“命中”成不和谐时,我收到错误说
TypeError: send_message() takes from 2 to 3 positional arguments but 7 were given
这是我的代码:
@client.command(pass_context=True)
async def hit (ctx):
global HP
damage = random.randrange(50,500)
HP -= damage
if HP > 0 :
await client.say('The monster took', damage, 'damage and has', HP, 'health left')
else :
await client.say('The monster has died! Another one approaches...')
HP = random.randrange(600,1000)
有人请告诉我什么是错的以及如何解决它。谢谢!
答案 0 :(得分:0)
将字符串传递给client.say()
client.say('The monster took', damage, 'damage and has', HP, 'health left')
每次在这里使用逗号时,都会将其视为传递给函数的新参数。
您需要创建字符串并将其作为一个变量传递:
client.say('The monster took ' + damage + ' damage and has ' + HP + ' health left')
请注意,这使用+
而不是,
来加入字符串。