6

在我说别的之前,我想提一下,我对编码几乎是全新的,对 python 的了解也很初步。

既然已经不碍事了,我的问题是我正在(尝试)编写一个文本冒险游戏,沿着 D&D 的路线。我被困在早期阶段 - 即如何将 1 到 18 之间的随机整数分配给变量。

我已经看到了一些这样做的方法,但是每次调用它时变量的值都会改变。这不可能发生。这样做的原因是因为我希望统计数据(力量、智慧、智力、敏捷、魅力和体质)是一个随机生成但固定的数字,可以调用并且每次都相同。

我尝试过Str = random.randomint(1,18)使用 random 模块来处理类似的事情。

我最接近的是使用 lambda 函数,因此当我调用变量时,它会生成一个每次都不同的随机数。这些都没有集会奏效,我真的很想知道我做错了什么。

4

2 回答 2

8

我看到你非常接近你所拥有的:

Str = random.randomint(1,18)应该Str = random.randint(1,18)

这是将随机 int 分配给变量的行Str,当您要求时,Str您每次都应该得到相同的数字。

如果你继续打电话,它每次Str = random.randint(1,18)都会改变。Str所以只做一次。

如果您知道或了解classes您应该使用它们来包含您的角色/物品/法术/冒险/怪物等,它们可以具有属性和属性以及库存等,就像在游戏本身中一样,您可以将所有事物分组在不同的类型下.

注意:您提到您使用了 lambda,这可能意味着您已分配Str给一个每次返回一个随机变量的函数,这意味着每次您要求Str您实际上是要求该函数返回一个随机数。

于 2013-01-17T14:26:31.077 回答
1

欢迎编码。

我已经做了一段时间的 Web 开发人员,最近我也开始钻研比 php 更好的东西(在我看来)。我也会使用:

Str = random.randomint(1,18)

你在使用 IDE 吗?由于代码完成,当您第一次学习新语言时,我发现它们很棒。由于不必去各种网站查找语法,它确实可以帮助您更快地了解语言。祝你好运!基于文本的冒险游戏是开始学习的好方法!

于 2013-01-17T15:00:23.233 回答