我试图产生一个随机怪物遭遇。基本上,当按下“查找战斗!”时按钮,我想返回一个随机怪物供玩家战斗。但事情是,我想让一些怪物有更多机会出现,而有些则非常罕见。编码随机遇到
我一直在想的去做,到目前为止,我想到了3种方式的最佳途径。
给予每个怪物一个“重量”,并将它们的重量除以列表中每个怪物的总重量,给出一定百分比的机会被选中。优点:易于制作。缺点:如果我加入怪物,一些怪物可能变得对我想要的怪物太稀有。
让每一个怪物%的机会遇到,然后把他们全部名单内随机顺序。然后从列表中的第一个怪物开始,使用%遇到的机会掷骰子。如果是,则选择怪物。如果为false,则转到列表中的下一个怪物。至少有一个怪物有100%的遭遇机会来确保遇到相遇。优点:似乎很随机。缺点:与#1相同,对于它的价值可能有点太复杂。
给予每个怪物怪物类型(IE:正常,强,罕见),然后给每一个类型的一个%的几率来选择。然后掷骰子,看看在遭遇时会选择哪种类型,然后选择一种随机的怪物。优点:容易做到,会让罕见的怪物保持我希望他们成为的机会。缺点:不能让所有怪物都有自己的%机会。
我的问题:最好的方法是什么?我说的方式之一还是有更好的方法来做到这一点?
它是一个网站,我用asp.net,C#和SQL Server的工作。 Javascript和jquery都很好。如果您需要更多信息,我很乐意分享。
编辑:我认为第四办法做到这一点。这将是1和3的混合。对每个怪物使用“重量”(1到1000之间)。然后掷一个1000的骰子。然后对每个生成骰子下的重量的怪物生成一个随机数,将它们放在一个列表中,并在列表中选择一个随机怪物。
尽管我们非常感谢您的热情,但这不是问这样的开放式问题的最佳选择。 –
真的取决于你希望游戏如何工作,所有的方法都很好。如果你的怪物适合少数几个类别,并且你不想为个别怪物进行微调,那么我会去#3 – bengoesboom
你已经提出了3个解决方案,并且你对于利弊有了很好的把握。做出选择。你比我们有更好的选择装备。 –