[Test] public void TestMove5x3AndShoot() { var x = new SentinelModel((Transform)null, new SentinelModel.Target(5, 3), ground); o(x.target != null); var p = new Solver <SentinelModel>(); p.maxIter = 10000; p.maxNodes = 100000; var g = Goal(); var s = p.Next(x, in g); print($"Iter: {p.iteration}, max fringe: {p.peak}"); var path = s.Path(); o(path.Length, 6); print(p.status.ToString()); foreach (var n in path) { print(n.ToString()); } }
[Test] public void TestMoveAndShoot() { var x = new SentinelModel((Transform)null, new SentinelModel.Target(4, 0), ground); o(x.target != null); var p = new Solver <SentinelModel>(); var g = Goal(); var s = p.Next(x, in g); var path = s.Path(); o(path.Length, 3); foreach (var n in path) { print(n.ToString()); } }
[Test] public void Test_x_100() { var z = 0; for (int i = 0; i < 100; i++) { // -4, 2 Puts the sentinel top-right // -3, -2 Is on left side, faster var x = new SentinelModel((Transform)null, // -4, 2 new SentinelModel.Target(-4, 2), ground); o(x.target != null); var p = new Solver <SentinelModel>(); p.maxIter = 2000; p.maxNodes = 512; p.tolerance = 1.75f; var g = HGoal(); var s = p.Next(x, in g); z += p.iteration; o(s.Path().Length, 33); } print($"Iter x: {z/10}"); // 1166 x 790 }