随机技能在Python文本RPG中无法正常运行

时间:2013-04-14 11:12:27

标签: python random text-based

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

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)

运气和技能是分开的,因为我希望猎取lvl 1成为十分之一的机会,但我也想要正确地展示技能。这是一种非常好的方法,但这只是麻烦的一部分。

所有内容都打印正确,但是当用户成功时,大约有50/50的机会技能等级不会上升。

  

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

     

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

     

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

     

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

     

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

     

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

我打算每次玩家成功狩猎时提高技能等级。显然这没有发生......

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

谢谢!

1 个答案:

答案 0 :(得分:3)

如果result等于0 大于9,则只为hunting设置新值。如果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)