From 2dce2dc31b3c6ff735c9207014eda8c8984588cf Mon Sep 17 00:00:00 2001 From: Jean Privat Date: Mon, 4 Aug 2014 22:57:35 -0400 Subject: [PATCH 1/1] friendz: add solver_cmd for solve from command line Signed-off-by: Jean Privat --- contrib/friendz/src/solver_cmd.nit | 41 ++++++++++++++++++++++++++++++++++++ tests/sav/solver_cmd.res | 1 + tests/sav/solver_cmd_args1.res | 12 +++++++++++ 3 files changed, 54 insertions(+) create mode 100644 contrib/friendz/src/solver_cmd.nit create mode 100644 tests/sav/solver_cmd.res create mode 100644 tests/sav/solver_cmd_args1.res diff --git a/contrib/friendz/src/solver_cmd.nit b/contrib/friendz/src/solver_cmd.nit new file mode 100644 index 0000000..5a28c8b --- /dev/null +++ b/contrib/friendz/src/solver_cmd.nit @@ -0,0 +1,41 @@ +# Monsterz - Chains of Friends +# +# 2010-2014 (c) Jean Privat +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the Do What The Fuck You Want To +# Public License, Version 2, as published by Sam Hocevar. See +# http://sam.zoy.org/projects/COPYING.WTFPL for more details. + +# Solver of levels on the command-line +module solver_cmd + +import solver +import level + + +if args.is_empty then + print "Usage: solver_cmd levelnumber" + exit 0 +end +var l = args.first.to_i +var game = new Game +var g = game.grid + +g.load(game.levels[l].str) +g.size_problem + +var p = new FriendzProblem(g) +var s = p.solve +while s.is_running do + var r = s.run_steps(500000) + if r != null then + print "WON" + break + else if s.is_running then + print s + print g + end +end +print s +printn g diff --git a/tests/sav/solver_cmd.res b/tests/sav/solver_cmd.res new file mode 100644 index 0000000..12b3a82 --- /dev/null +++ b/tests/sav/solver_cmd.res @@ -0,0 +1 @@ +Usage: solver_cmd levelnumber diff --git a/tests/sav/solver_cmd_args1.res b/tests/sav/solver_cmd_args1.res new file mode 100644 index 0000000..9750593 --- /dev/null +++ b/tests/sav/solver_cmd_args1.res @@ -0,0 +1,12 @@ +FREE: 29 +KINDS: 2 +SIZE: 68630377364883.0 +WON +#1229 d=19 +6x6 +Aaa | +Bba | +#bAaaa| + bbbba| + aAaBa| + A aaa| -- 1.7.9.5