public static void Main() { var phrases = new Phrases(Phrases.DefaultPowerWords); if (Directory.Exists("logs")) Directory.Delete("logs", true); var map = Problems.LoadProblems()[9].ToMap(0); var model = new MainModel() {FastForwardSteps = 1}; var solver = new AdaptiveSolver(phrases); model.Solver = solver.fast; model.History = new History(map); var form = new TetrisForm(model) {FastForwardSteps = model.FastForwardSteps}; form.MovementRequested = dir => { map.Unit.Move(dir); }; Application.Run(form); }
static double Run(Map map, List<WeightedMetric> metric) { var finder = new BfsNoMagicFinder(); var mephala = new MephalaOracle(finder, metric); var phrases = new Phrases(Phrases.DefaultPowerWords); var solver = new Solver(phrases, finder, mephala); // Console.Write("Solving "); //Console.WriteLine(argument.Code.Select(z => Math.Round(z, 3).ToString()).Aggregate((a, b) => a + " " + b)); var result = solver.Solve(map); //Console.WriteLine("Result" + result.Score + "\n\n"); return result.Score; }
private static SubmitionJson Solve(ProblemJson p, int seed) { var phrases = new Phrases(Phrases.DefaultPowerWords); var map = p.ToMap(seed); var finder = new MagicDfsFinder(phrases); var bestRes = new Solver(phrases, finder, new MephalaOracle(finder, WeightedMetric.Keening)).Solve(map); // var s2 = new Solver(finder, new AzuraOracle()).Solve(map); // var bestRes = new[] { s1, s2 }.OrderByDescending(s => s.Score).First(); return new SubmitionJson { problemId = p.id, seed = seed, solution = phrases.ToOriginalPhrase(bestRes.Commands), tag = bestRes.Name + "-" + DateTime.Now }; }
public void ToOriginal() { var phrases = new Phrases(Phrases.DefaultPowerWords); var original = string.Join("", phrases.All); var canonical = original.ToDirections().ToPhrase(); Console.WriteLine(canonical); var converted = phrases.ToOriginalPhrase(canonical); Console.WriteLine(converted); Assert.AreEqual(original, converted); }
public void Test() { var ps = new Phrases(Phrases.DefaultPowerWords).AsDirections.Select(p => p.ToPhrase()); foreach (var p in ps) Console.WriteLine(p); }
public void Score_NestedPhrase() { var phrases = new Phrases(Phrases.DefaultPowerWords); var testPhrase = "Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn.".ToDirections().ToPhrase(); var originalPhrase = phrases.ToOriginalPhrase(testPhrase); Assert.That(phrases.GetPowerScore(originalPhrase), Is.EqualTo(714)); }
public void GetPowerScore() { var phrases = new Phrases(Phrases.DefaultPowerWords); Assert.That(phrases.GetPowerScore("Ei!"), Is.EqualTo(306)); Assert.That(phrases.GetPowerScore("Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn."), Is.EqualTo(714)); }