pra*_*ths 2 javascript java playn
当我构建PlayN项目并运行java版本时,它的行为与我运行HTML版本时的行为不同.
基本上我制作了一款棋盘游戏,它使用Minimax算法的修改版本(搜索树和加权评估)来实现AI.
由于没有随机计算,如果输入相同,我希望输出也是一样的.
但是,java和javascript(HTML)版本的AI与同一输入的行为不同.
可在此处找到Html/javascript版本的链接:http: //mugle-app.appspot.com/+games/staff/fiar/
在java的:(JAR)文件,可以发现 http://ez-playn.googlecode.com/files/FiarJava.zip
它们都使用相同的代码,只有编译有所不同,但都使用提供的Ant脚本.树深度是固定的,评估者权重是固定的
我无法理解为什么会出现差异,因为除了搜索树之外,每件事情都有效......可能是因为评估很重且javascript运行资源不足?
谢谢你的帮助.
看起来你正在迭代HashMap的内容.Board定义emptyCells哪个是HashMap,然后GameSearch调用Board.getEmptyCellCollection(将HashMap的值作为集合返回),然后迭代它们.这些值没有可预测的排序,并且在从Java到JavaScript的转换中几乎肯定会改变顺序.
如果需要以可预测的顺序迭代HashMap的内容,请使用LinkedHashMap.
| 归档时间: |
|
| 查看次数: |
311 次 |
| 最近记录: |