我在处理基本技能提升方面遇到了一些麻烦。现在代码看起来像
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)
我打算每次玩家成功狩猎时提高技能等级。显然这没有发生......
你能看出我做错了什么吗?我该如何解决?我怎样才能做得更好?谢谢!
答案 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)