微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

做随机决策树或“ proc”的最佳方法是什么?

如何解决做随机决策树或“ proc”的最佳方法是什么?

这是我在游戏设计和游戏编程中经常看到的一种设计模式。我已经用Java编写了代码,但这更多是关于算法设计的。

我希望我的程序根据随机机会选择各种路径,并且希望能够为每个路径指定机会。

例如,我希望程序随机选择某人是否从其父亲或母亲那里获得姓氏,或者都不从中获得姓氏,

    //Last Name
    int lastNameProc = rand.nextInt(100);

    if(lastNameProc < 6){ //Orphan or disowned by father
        if(lastNameProc < 2) { //Orphan
            lName = "Smith";
        } else { //disowned
            lName = mother.lastName;
        }
    } else { //Not Orphan or disowned
        lName = father.lastName;
    }

这也可以用不等式完成,而不是嵌套if语句。这样做的问题在于,从else-if子句中不清楚事件发生的几率。

是否有常见或更好的方法

表达这个问题的另一种方法: 如果我在RPG中有一把剑,击中该剑会施加4种效果之一,火焰,冷,辐射或坏死伤害,每种伤害的概率分别为0.1、0.2、0.2和0.5。我如何在不使用嵌套if语句或基于不等式的if-else语句的情况下对此进行编程。我相信这在游戏设计方面被称为即时触发程序。

我的问题与"Generate A Weighted Random Number"非常相似,但是我无法翻译答案中的代码,因为我不知道要使用哪种类型。看到一个强类型的示例会很好。

最后,我不确定这些名称是否是此模式的正确名称,我将编辑标题以包含正确的单词。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。