gpt4 book ai didi

python - 如何用Python为游戏制作选择性RNG?

转载 作者:行者123 更新时间:2023-12-01 06:15:27 26 4
gpt4 key购买 nike

这几乎肯定是一个非常新手的问题,但由于我是一个完全的新手,所以我对此很满意。

简单地说,我想知道如何在一个简单的游戏中制作一个战利品掉落系统,当你实现某个目标时,你有机会比其他人获得更多的某些元素。如果有任何开源Python游戏有这个功能,请推荐给我。

这是我所知道的做法:给定一个示例 [A,B,C,D,E,F],选择 3 项。

这确实很简单,但是,当我希望比其他样本更频繁地选择样本中的某些内容时,我该怎么办,即:给定样本 [A,B,C,D,E,F]选择 3 个,不重复,但选择 A 的时间为 30%,B 25%,C 20%,D 15%,E 5%,F 5%。

或者,也许更好的是,对所选数量没有限制(或范围限制,例如 3-5 个项目),但以不同的速率选择样本中的每个项目并且不重复,以便我可以做A 20%、B 20%、C 15%、D 10%、E 2%、F 1%。

希望这是有道理的。

最佳答案

这是一种简单、懒惰的方法。

给定一个(item,weight)对列表。

loot = [ (A,20), (B,20), (C,15), (D,10), (E,2), (F,1) ]

请注意,权重不必添加到任何特定的内容,它们只需是整数即可。

一次性准备步骤。

choices = []
for item, weight in loot:
choices.extend( [item]*weight )

现在只是random.choice(choices)

关于python - 如何用Python为游戏制作选择性RNG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3535046/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com