将乘数应用于随机结果数

时间:2013-02-28 20:01:33

标签: python

新手在这里。

好的这么久,我做了一个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()

1 个答案:

答案 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)