<p>我会去掉全局变量,只是传入并返回变量。你知道吗</p>
<pre><code>import random
currentxp = 0
level = 1
def exp_system(currentxp, level):
mobxp = random.randrange(1, 20, 1)
currentxp = currentxp + mobxp
if currentxp >= 100:
print("You Leveled Up!")
level_up = True
if currentxp < 100:
level_up = False
print("You need more xp to level up!")
if level_up:
currentxp = 0
print("Your Current XP is now:")
print(currentxp)
level = level + 1
print("You current level is now:")
print(level)
improvestst = input(
"Choose a stat to improve:(Health or Attack Power)")
else:
print("Your Current XP is now:")
print(currentxp)
print("You current level is now:")
print(level)
return currentxp, level
mobhealth = 0
if mobhealth >= 0:
victory = True
if victory:
currentxp, level = exp_system(currentxp, level)
victory = False
</code></pre>
<blockquote>
<p>Output:</p>
<p>You need more xp to level up! Your Current XP is now: 17 You</p>
<p>current level is now: 1</p>
</blockquote>
<p>你的条件太复杂了。对程序员来说,保持简单是一条很好的规则。你知道吗</p>
<pre><code>if currentxp >= 100:
print("You Leveled Up!")
currentxp = 0
level = level + 1
improvestst = input("Choose a stat to improve:(Health or Attack Power)")
else:
print("You need more xp to level up!")
print("Your Current XP is now:")
print(currentxp)
print("You current level is now:")
print(level)
</code></pre>
<p>上面的代码用更少的代码做同样的事情(顺序略有不同)。你知道吗</p>