我正在尝试从MMO游戏或类似的游戏中创建一个随机生成的“津贴分配”。蟒蛇MMO的产生和分配
的规则如下:
- 必须具有5在一个容器中,并且可以仅具有1个容器用5
- 所有20个点都被分布
- 点具有要由分布式RNG(使用随机)
到目前为止,我们所有的是这样的:
import random
# Variables
cont = [0, 0, 0, 0, 0]
items = 20
maxNum = 5
# Start our first loop
i = 0
while items != 0:
i = 0
while i < len(cont) - 1:
num1 = random.randint(3, maxNum)
if items < 5:
if cont[i] = 00:
cont[i] += items
items = 0
break
cont[i] = num1
if cont[i] == 5:
maxNum = 4
i += 1
items = items - num1
print(items)
print(cont)
这有时会结束工作,但有时它会卡在循环中并且不起作用。
此代码可以正确的方式是,每它输出时间,将打印:
- [5,4,4,4,3]
- [4,4,4,4 4]
- [5,4,3,4,4]
- 等
请帮我解决它为什么被卡在环有时!谢谢!
修正现有的尝试你说这工作“有时” 。这表明随机语句有时会产生一个导致错误的数字。尝试在每次生成时打印“num1”,并查看循环是否总是从相同的数字中失败。如果你自己没有解决的话,把结果编辑成你的答案。 – tburrows13
你是什么意思的循环“卡住”?它会崩溃吗?如果是这样,请将完整的错误跟踪发回。 – tburrows13
@Gloin我们已经这样做了,它最终创建了一个数字更大的项目,并减去更大的数字,并使其进入负面并无限重复。 –