- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
假设我们有一个“随机”生成怪物和武器的游戏。
武器可以这样定义:
其中一些值可能具有依赖性(例如类型和范围)。
使用随机生成器,我们可以获得例如一把钝火斧(射程 2)。然后我们可以有一个公式来计算这把武器的等级。示例公式:
level = floor(type * range * magic * state)
The dull Ax of Fire (range 2) 将具有等级 floor(1.2 * 2 * 10 * 0.5) = 12
。
简单,但很好!
我们还可以有一个世界,玩家从第 1 层洞穴开始,越来越深入危险的洞穴。
假设玩家在洞穴第 12 层。(S)他进入了一个房间,我们想在其中放置武器。
什么是生成 12 级武器的好算法?(或者当然是任何其他级别)
即我们有关卡并希望使用关卡计算(我们的简单计算,或另一个更复杂的计算)向后 为武器的不同元素生成良好的值。
可以对武器的定义进行细微或重大的更改,以促进更好的解决方案。
好像High Performance Mark在组合合理有限的情况下,'s 的解决方案是最好的。如果不是,或者如果我们有连续的值和一组“无限”的组合,那么其他答案之一可能更适合。我说“可能”是因为即使在连续版本中也可以使用查找表来获取值的子集来选择一个好的起点,然后可以添加一个小的随机增量来填充。
示例:范围在 10 到 200 之间是连续的。查找表包含值 (10, 20, 30, ..., 190, 200)。该算法选择 110 作为范围,然后将 random(-5.0, 5.0) 添加到它以获得最终值,例如 108.72。然后武器的最终等级将足够接近所需的值。听起来怎么样?
最佳答案
如果您在类型、射程、魔法和状态中各有 5 种选择,那么您就有 5^4 种武器选择。这是一个非常小的数字,您可以轻松地将它们全部存储在一个查找表中,并根据武器级别进行索引。当你想要一个随机的12级武器时,你在可用的12级武器中统一选择。
关于algorithm - 如何生成特定级别的怪物/武器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377020/
背景 假设我们有一个“随机”生成怪物和武器的游戏。 武器可以这样定义: 类型:斧 (1.2)/剑 (1.4)/矛 (1)/棍 (0.7) 范围:1 - 3 魔法:冰 (10)/火 (10)/无 (1)
我的任务是使用 ArrayList、hashmap、抽象类和接口(interface)在 java 中创建一个项目。我决定用 java 开发一个基于文本的 RPG。我想对怪物使用抽象类,对库存使用 A
我是一名优秀的程序员,十分优秀!