From: Jean Privat Date: Tue, 5 Aug 2014 02:57:35 +0000 (-0400) Subject: friendz: add solver_cmd for solve from command line X-Git-Tag: v0.6.8~31^2 X-Git-Url: http://nitlanguage.org?hp=57959d77406c190954b00cdc1e5fddb54a2d55d0 friendz: add solver_cmd for solve from command line Signed-off-by: Jean Privat --- 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|