【发布时间】:2020-11-15 01:29:53
【问题描述】:
我正在制作一个格斗游戏命令,并希望它在你使用命令时会带走随机数量的生命值。他们再次使用它,我希望它从之前的数量中取出另一个随机数量。所以,假设他们有 100 点生命值。我打他们。他们失去 20 点生命值,剩下 80 点生命值。我再次使用该命令,我希望从一个随机数中减去 80 生命值
我应该提一下,现在发生的情况是,它只是不断地拿走随机数量。所以,如果他们有 80,而你再次使用该命令,下次他们可能有 95
punch_damage = random.randint(1, 30)
punch_damage1 = member_hp - punch_damage
cursor.execute('SELECT user_id FROM fightgame WHERE user_id = %s AND guild_id = %s',
(user_id, guild_id))
result = cursor.fetchone()
if result is None:
cursor.execute('INSERT INTO fightgame(name, member_name, user_id, guild_id, attacker_hp, member_hp) VALUES (%s, %s, %s, %s, %s, %s)',
(name, member_name, user_id, guild_id, attacker_hp, member_hp))
conn.commit()
if msg == 'punch':
await ctx.send(
f'{ctx.author.name} punched {member.mention} and took away {punch_damage} hp from them! They now have {punch_damage1} hp')
cursor.execute('UPDATE fightgame SET member_hp = %s WHERE user_id = %s AND guild_id = %s',
(punch_damage1, user_id, guild_id))
conn.commit()
cursor.execute('SELECT member_hp FROM fightgame WHERE user_id = %s AND guild_id = %s',
(user_id, guild_id))
result = cursor.fetchone()
if result[0] < 100:
cursor.execute('UPDATE fightgame SET member_hp = %s WHERE user_id = %s AND guild_id = %s',
(punch_damage1, user_id, guild_id))
conn.commit()```
【问题讨论】:
标签: python postgresql discord.py