public virtual object getMove(global::game.Game game, int punter) { global::Array <object> livingRivers = game.getLivingRivers(); global::Array <object> moves = new global::Array <object>(new object[] {}); { int _g = 0; while ((_g < livingRivers.length)) { global::game.River river = ((global::game.River)(livingRivers[_g])); ++_g; object __temp_stmt3 = null; { object __temp_odecl1 = new global::haxe.lang.DynamicObject(new int[] {}, new object[] {}, new int[] { 116192081, 842117339, 1860705976 }, new double[] { ((double)(river.b)), ((double)(river.a)), ((double)(punter)) }); __temp_stmt3 = new global::haxe.lang.DynamicObject(new int[] { 1213755260 }, new object[] { __temp_odecl1 }, new int[] {}, new double[] {}); } moves.push(new global::search.MoveAndScore(((object)(__temp_stmt3)))); } } object __temp_stmt4 = null; { object __temp_odecl2 = new global::haxe.lang.DynamicObject(new int[] {}, new object[] {}, new int[] { 1860705976 }, new double[] { ((double)(punter)) }); __temp_stmt4 = new global::haxe.lang.DynamicObject(new int[] { 1246880977 }, new object[] { __temp_odecl2 }, new int[] {}, new double[] {}); } moves.push(new global::search.MoveAndScore(((object)(__temp_stmt4)))); { int _g1 = 0; while ((_g1 < moves.length)) { global::search.MoveAndScore move = ((global::search.MoveAndScore)(moves[_g1])); ++_g1; game.addMove(move.move); move.score = this.evaluter.eval(game); game.undoMove(); } } int id = punter; moves.sort(new global::search.BeamSearcher_getMove_45__Fun(id)); return(((global::search.MoveAndScore)(moves[0])).move); }
public static void __hx_ctor__BattleMain(global::BattleMain __hx_this, string mapPath) { unchecked { global::haxe.Log.trace.__hx_invoke2_o(default(double), mapPath, default(double), new global::haxe.lang.DynamicObject(new int[] { 302979532, 1547539107, 1648581351 }, new object[] { "new", "BattleMain", "BattleMain.hx" }, new int[] { 1981972957 }, new double[] { ((double)(29)) })); global::game.Game game1 = new global::game.Game(); object map = new global::haxe.format.JsonParser(((string)(global::sys.io.File.getContent(mapPath)))).parseRec(); global::eval.Evaluter evaluter = new global::eval.Evaluter(((global::Array <double>)(global::eval.Evaluter.MS_TABLE))); global::search.BeamSearcher sercher = new global::search.BeamSearcher(0.1, evaluter); game1.setupMap(map); game1.setupPunters(global::BattleMain.PUNTERS); { int _g1 = 0; int _g = game1.riverCount; while ((_g1 < _g)) { int i = _g1++; int punter = global::game._PunterId.PunterId_Impl_._new((i % global::BattleMain.PUNTERS)); object move = sercher.getMove(game1, punter); game1.addMove(move); global::haxe.Log.trace.__hx_invoke2_o(default(double), global::haxe.lang.Runtime.concat("move", global::haxe.lang.Runtime.toString(i)), default(double), new global::haxe.lang.DynamicObject(new int[] { 302979532, 1547539107, 1648581351 }, new object[] { "new", "BattleMain", "BattleMain.hx" }, new int[] { 1981972957 }, new double[] { ((double)(42)) })); } } } }