擅长:python、mysql、java
<p>正如Oliver指出的,之所以总是得到一个空的<code>entities</code>数组是因为<code>self.entities</code>在<code>generate</code>内被设置为<code>randList([goblin, dwarf, slime, naga, troll, beholder], 1)</code>(我假设在测试中全局变量<code>enemiesBeat</code>小于500)。你知道吗</p>
<p>在<code>randList</code>函数中有一个off by one错误,我在注释中提到了这个错误,这意味着生成的列表包含的项将比<code>num</code>指定的项少一个。当您试图为<code>self.entities</code>(<code>num</code>=1)生成一个单例列表时,实际上会将它分配给一个空列表。你知道吗</p>
<p>您可以通过在<code>randList</code>函数中将<code>for i in range(num - 1)</code>更改为<code>for i in range(num)</code>来更正此问题。你知道吗</p>
<hr/>
<p>另外,我认为不需要将<code>entities</code>和<code>floor</code>作为参数传递给<code>roomParent</code>构造函数,因为它似乎没有任何效果。相反,您可以修改类定义:</p>
<pre><code>class roomParent(object):
def __init__(self):
self.entities = []
self.floor = []
...
</code></pre>
<p>将其实例化如下:</p>
<pre><code>room = roomParent()
</code></pre>