在我说任何其他内容之前,我想提一下我对编码几乎是全新的,并且只对python有一个非常基本的了解。
现在已经不在了,我的问题是我(尝试)按照D& D的方式编写文本冒险游戏。我陷入了早期阶段 - 即如何将1到18之间的随机整数分配给变量。
我已经看到了一些这样做的方法,但变量的值每次调用时都会改变。这不可能发生。之所以这样,是因为我希望统计数据(力量,智慧,智力,灵巧,魅力和体质)是一个随机生成但固定的数字,可以被调用并且每次都相同。
我尝试使用随机模块来解决Str = random.randomint(1,18)
之类的问题。
我最接近的是使用lambda函数,因此当我调用变量时,它会生成一个随机数,每次都不同。这些都没有起作用,我真的很想知道我做错了什么。
答案 0 :(得分:8)
我发现你与你所拥有的非常接近:
Str = random.randomint(1,18)
应为Str = random.randint(1,18)
这是将随机int分配给变量Str
的行,当您要求Str
时,每次都应该得到相同的数字。
如果您继续致电Str = random.randint(1,18)
,则每次都会更改Str
。所以只做一次。
如果您了解或了解classes
,您应该使用它们来包含您的角色/物品/咒语/冒险/怪物等等,它们可能具有属性,属性和库存等等,就像游戏本身一样,你把不同类型的所有东西分组。
注意:你提到你使用了lambda,这可能意味着你已经将Str
分配给一个每次都返回一个随机变量的函数,这意味着每次你要求Str
时你实际上会问用于返回随机数的函数。
答案 1 :(得分:1)
欢迎使用编码。
我已经成为一名网络开发人员了一段时间,我最近也开始陷入比php更好的事情(在我看来)。我也会用:
Str = random.randomint(1,18)
您使用的是IDE吗?我发现,由于代码完成,你第一次学习新语言时它们很棒。它可以帮助您更快地了解语言,因为无需访问各种网站来查找语法。祝好运!基于文本的冒险游戏是开始学习的好方法!