1

我在处理基本技能提升时遇到了一些麻烦。现在代码看起来像

huntluck = 11
huntskill = 1

def hunt(self):
    global result, huntluck, huntskill

    hunting = random.randint(0, huntluck)

    if hunting == 0:
        result = "You couldn't find anything."
    elif hunting >=10:
        huntluck += 1
        huntskill += 1
        result = ("You succeeded in hunting. Your hunting skill increases. " +
        "(%s)" %huntskill)

运气和技能是分开的,因为我希望猎杀1级成功的机会是十分之一,但我也想正确地发挥技能。这是一种非常笨拙的方法,但这只是问题的一部分。

一切都打印正确,但是当用户成功时,技能水平大约有 50/50 的机会不会上升。

你打猎成功了。你的狩猎技能增加。(2)

你打猎成功了。你的狩猎技能增加。(2)

你打猎成功了。你的狩猎技能增加。(3)

你打猎成功了。你的狩猎技能增加。(3)

你打猎成功了。你的狩猎技能增加。(3)

你打猎成功了。你的狩猎技能增加。(4)

我打算每次玩家成功狩猎时提高技能水平。显然这不会发生......

你能看出我做错了什么吗?我该如何解决?我怎样才能把事情做得更好?

谢谢!

4

1 回答 1

3

result您只需为ifhunting等于 0大于 9设置一个新值。如果hunting等于 1-9,则result保留旧值,然后重新打印。

改变你的hunting测试:

if hunting < 10:
    result = "You couldn't find anything."
else:
    huntluck += 1
    huntskill += 1
    result = ("You succeeded in hunting. Your hunting skill increases. " +
    "(%s)" %huntskill)
于 2013-04-14T11:17:53.977 回答