【发布时间】:2020-02-13 10:06:44
【问题描述】:
Discord.py 摇滚、剪纸、剪纸游戏的用户输入。
我想创建一个Discord Bot,它可以玩石头、剪纸、玩剪刀。我认为游戏的基本代码并不复杂,但discord.py 的实现对我来说很难。
问题可能是这行代码player = await bot.wait_for('message')。我已阅读 discord.py 文档,但它似乎无法正常工作。
这是我的代码:
@bot.command(pass_context=True, aliases=['g', 'ga', 'gam'])
@commands.guild_only()
async def game(ctx):
await ctx.send(
'Hallo, wie gehts denn so ' + ctx.message.author.mention + '? Lust auf eine Runde Schere, Stein, Papier?')
wins = 0
losses = 0
ties = 0
while True:
await ctx.send('%s Siege, %s Niederlagen, %s Unentschieden \n' % (wins, losses, ties))
while True:
await ctx.send('Auf was setzt du? (s)tein, (p)apier, (sc)here oder (q)uit')
player = await bot.wait_for('message')
print(str(player))
if player == 'q':
return
if player == 's' or player == 'p' or player == 'sc':
break
await ctx.send('Schreib s, p, sc oder q!')
if player == 's':
await ctx.send('Stein gegen...')
elif player == 'p':
await ctx.send('Papier gegen...')
elif player == 'sc':
await ctx.send('Schere gegen...')
randomnum = random.randint(1, 3)
if randomnum == 1:
computer = 's'
await ctx.send('Stein!')
elif randomnum == 2:
computer = 'p'
await ctx.send('Papier!')
elif randomnum == 3:
computer = 'sc'
await ctx.send('Schere!')
if player == computer:
await ctx.send('Unentschieden!')
ties = ties + 1
elif player == 's' and computer == 'sc':
await ctx.send('Du gewinnst!')
wins = wins + 1
elif player == 's' and computer == 'p':
await ctx.send('Ich habe gewonnen!')
losses = losses + 1
elif player == 'p' and computer == 's':
await ctx.send('Du gewinnst!')
wins = wins + 1
elif player == 'p' and computer == 'sc':
losses = losses + 1
await ctx.send('Ich habe gewonnen!')
elif player == 'sc' and computer == 'p':
await ctx.send('Du gewinnst!')
wins = wins + 1
elif player == 'sc' and computer == 's':
await ctx.send('Ich habe gewonnen!')
losses = losses + 1
【问题讨论】:
-
你说的它似乎不能正常工作是什么意思?
-
好吧,它没有用,因为我忘了澄清我想通过 message.content 使用用户输入。
标签: python python-3.x discord.py discord.py-rewrite