新手在这里。
好的这么久,我做了一个var,输出70到155之间的随机数:
T_dmg = random.randrange(70,155)
这是我的“乘数”:
def crit(cr):
return cr * 2
Crit代表批评,但我不确定如何使用“return”语句。所以我在添加数字之前将此函数添加到该行:
if Toni > 0:
crit(T_dmg)
Xoni = Xoni - T_dmg
问题是输出永远不会成倍增加,因为某种程度上,“暴击”功能似乎并不适用于它。 Xoni是一个值为7000的var。如果这没有意义,我会从游戏概念中使用HP。我希望你们中的任何一个都能解释一下。
谢谢!
编辑:机会代码:
def critchance():
random.randrange(1,10)
if critchance() == "3"
crit()
答案 0 :(得分:1)
该函数返回一个值 - 它不会更改输入变量。您仍然必须将T_dmg
分配给函数的输出。
T_dmg = crit(T_dmg)
否则T_dmg
将保持不变,给你“奇怪”的结果。
您的critchance
功能也已关闭 - 它是无限递归的。我们需要解决这个问题。此外,您似乎在没有参数的情况下调用crit
函数。您应该将T_dmg
作为参数传递给此函数。
def critchance(cr):
if random.randrange(1, 10) == 3:
return crit(cr)
return cr
然后调用它,执行此操作。
T_dmg = critchance(T_dmg)