我正在开发一种优化游戏设备的工具,我不知道如何解决这个问题。它的游戏中包含头盔,盔甲和靴子等物品。每个项目都有攻击,防御和健康等统计数据。有关如何对大量项目进行排序以找到最佳组合的任何建议吗?
我目前的想法是为每个项目类别制作单独的数组:
helmets = [{id:0, health:100, attack:150}, {} ...];
armor = [{id:23, health:200, attack:70}, {} ...];
然后按特定的数据对每个阵列进行排序(找到最多的健康头盔,大多数防御装甲)。这显然是一种可怕的排序方式,为不同类别的伟大物品留出空间不受影响。我还计划实现“焦点过滤器”,因此可以为用户提供专注于攻击或防御等属性的项目。
总体而言,我不确定使用什么样的高级策略以及如何执行此操作,并且对所有建议持开放态度。
答案 0 :(得分:1)
我认为最佳实践是一个肮脏的术语,因为它是基于意见的。
我在想一个包装你的物品的单身人士可能是一个好主意。它将允许您创建一个可用的API,使您的代码库更易于维护和更好看。
我喜欢将这些类型的项目中的数据保持规范化。这意味着一切都是关系型的,它使得以常见方式访问不同位数据变得非常容易。我创建了一个REPL for you to play around with
messages.foreachRDD{ rdd =>
val f = Future {
// sleep(100)
val newRDD = rdd.map{message =>
val req_message = message.value()
(message.value())
}
println("Request messages: " + newRDD.count())
var resultrows = newRDD.collect()//.collectAsList()
processMessage(resultrows, mlFeatures: MLFeatures, conf)
println("Inside scala future")
1
}
f.onComplete {
case Success(messages) => println("yay!")
case Failure(exception) => println("On no!")
}
}
遵循说明