我的问题对我来说似乎很简单,但我无法将其分解为最基本的要素,以便能够将其编程到我的游戏中。
首先,不同的职业需要不同的技能,这些技能包含在Person类中。我有一个world map,我可以在其中询问所有空置的建筑物,从而找到所有可用的工作。
有了这些信息,我想根据球员可以修改的每个职业的权重来计算填补某个职位的重要性。
所以我现在的方法是这样的伪代码:
Job findJob(wm : WorldMap) {
Queue priority <- empty;
for each building {
queue.add(skill * need);
}
return prority.max();
}这是不是听起来很低效,很愚蠢,或者你有没有看到任何你认为我应该注意的特殊情况?
发布于 2013-05-05 20:38:20
因为你只想找到最大的建筑,所以你不需要任何队列。只需将当前最大值保存在变量中,如果找到更好的值,则将其替换。
发布于 2013-11-17 07:00:49
Probably this would be another pseudo code which may help:
Job findJob(wm : WorldMap) {
for each portals from job portal1 to http://9kriwala.com
Queue priority <- empty;
for each building {
queue.add(skill * need);
}
return prority.max();
}https://stackoverflow.com/questions/16384500
复制相似问题