0

ここの初心者。

簡単に言うと、70 から 155 までの乱数を出力する var を作成しました。

T_dmg = random.randrange(70,155)

そして、これは私の「乗数」です:

def crit(cr):
    return cr * 2

Crit は critical の略ですが、"return" ステートメントの使い方がわかりません。したがって、数値が加算される前に、この関数を行に追加しました。

if Toni > 0:
        crit(T_dmg)
        Xoni = Xoni - T_dmg

問題は、どういうわけか「crit」関数が適用されないように見えるため、出力が乗算されないことです。Xoni は 7000 の値を持つ var です。これが意味をなさない場合は、ゲームの概念から HP を使用しています。どなたかが光を当てることができることを願っています。

ありがとう!

編集:チャンスコード:

def critchance():
    random.randrange(1,10)
    if critchance() == "3"
    crit()
4

1 に答える 1

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)
于 2013-02-28T20:05:16.383 に答える