Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LM-SOLVE(1)	      User Contributed Perl Documentation	   LM-SOLVE(1)

NAME
       lm-solve	- A Computerized Solver	for Logic Mazes

SYNOPSIS
       lm-solve	[options] Input	File

DESCRIPTION
       This program is a front end for the LM-Solve Perl modules that can be
       used to solve any of the	number of Logic	Mazes present on the Logic
       Mazes site (http://www.logicmazes.com/) and similar sites.

       To use this program you should create a text file describing the	layout
       of the game and your current position (most probably the	initial	one).
       Then invoke lm-solve with its path as input. Alternatively, by
       specifiying - as	the filename, then lm-solve will read the layout from
       the standard input.

       One can find an archive containing some written-down layouts for	some
       of the puzzles on the web on the	LM-Solve homepage. The format of the
       layouts for the various puzzle types is described below.

OPTIONS
       --help -h -?
	       Display a help message on the screen.

       --man   Invoke the UNIX man command to display the man-page of this
	       program.

       -g variant | --game variant
	       Specify the variant to use for the game.	Currently available
	       variants	are:

	       alice - Alice Mazes

	       minotaur	- Theseus and the Minotaur Mazes

	       numbers - Number	Mazes

	       plank - Planks in the Swamp Puzzles

	       tilt_single - Tilt Mazes	with one goal

	       tilt_multi - Tilt Mazes with multiple goals

	       tilt_rb - A Red-Blue Tilt Puzzle

       --rle --norle
	       This options toggle run-length encoding of the moves displayed
	       on and off.  What it means is that several identical
	       consecutive moves will be displayed as "move * number".

	       The default is --rle.

       --output-states --nooutput-states
	       --output-states will precede each line with the state of	the
	       game up to the move displayed on	it. The	default	is
	       --nooutput-states

       --method	scan
	       Specifies the scan to use for solving the game:

	       brfs - Breadth-First Search. Finds minimal solutions, but
	       possibly	slower than other scans.

	       dfs - Depth-First Search.

       --rtd --nortd
	       --rtd stands for	"Run-Time Display". This option	will print the
	       states of the scan that were arrived to,	as the scan encounters
	       them. The default is --nortd.

Generic	Board Format
       The format of the board is that of a file containing keys and values on
       each line, in the format	"key=value". A value can be an integer (e.g:
       "x=6"), an (x,y)	integral pair (e.g: "dims=(3,6)"), an array of pairs
       (e.g: "goals="[(5,6), (3,8), (0,	3)]"), an array	of start and end pairs
       (e.g: "Planks = [ ((0,2)	-> (3,2)) , ((6,5) -> (7,5)) ]") or a layout
       specification. The latter begins	with "<<EOF" where EOF is a terminator
       and extends from	the next line down to the first	line containing	the
       terminator.

       Whitespace and newlines are generally ignored and the keys are case-
       insensitive.

Alice Mazes Board Format
       Dims is an (x,y)	value that specifies the dimensions of the board.
       layout is the layout of the board. The cells are	specified row by row,
       from top	to bottom and from left	to right. Newlines and whitespace
       between each cell are ignored as	well as	lines beginning	with a sharp-
       sign ("#").

       Each cell is surrounded by square brackets and contains several flags
       separated by commas. The	flags are:

       N,S,E,W Specifies North,	South, East and	West arrows respectively.

       NE,NW,SE,SW
	       Likewise	for North-East,	North-West, South-East and South-West

       ADD     Specifies that this cell	increases the step by 1.

       SUB     Specifies that this cell	decreases the step by 1.

       GOAL    The goal	cell.

       START   The start cell.

       BLANK   A blank cell that may not be stepped on.

       Examples	can be found in	the layouts archive.

Theseus	and the	Minotaur Mazes Board Format
       The keys	and values required for	this format are:

       Dims    An (x,y)	pair that specifies the	(x,y) dimensions of the	board.

       Exit    An (x,y)	pair that specifies the	(x,y) coordinates of the exit.
	       (starting at (0,0) for the top-left corner.)

       Thes    (x,y) - The initial coordinates of Theseus.

       Mino    (x,y) - The initial coordinates of the Minotaur.

       layout  This is a layout	in the following format: The first line
	       contains	width characters that are either whitespace (" ") or a
	       "-" or a	"_" depending if there is a horizontal wall at that
	       position. The second line contains width+1 characters that are
	       either whitespace or a "|" sign depending if there is a
	       vertical	wall at	that position.

	       The horizontal-walls and	vertical-wall lines intermingle	this
	       way until the bottom line which specifies horizontal walls.

       Examples	can be found in	the layouts archive.

Number Mazes Board Format
       Dims is an (x,y)	key that specifies the dimensions of the board.	Start
       is an (x,y) key that specifies the starting position (starting from
       (0,0) at	the top-left corner). The key layout is	a layout key that
       contains	the layout of the board.

       The layout contains a line for every row, and every cell	is represented
       as a character. It contains a digit for its number or an	asterisk ("*")
       if it is	the goal cell.

       Examples	can be found in	the layouts archive.

Single Goal Tilt Mazes
       Dims is an (x,y)	key that speciifes the dimensions of the board.	Start
       is an (x,y) pair	that specifies the coordinates of the start (starting
       from 0).	Goal is	an (x,y) pair that determines the location of the
       single goal.

       layout contains a scheme	of horizontal and vertical walls similar to
       the Minotaur's mazes.

Multiple Goals Tilt Mazes
       Dims is an (x,y)	key that speciifes the dimensions of the board.	Start
       is an (x,y) pair	that specifies the coordinates of the start (starting
       from 0).	Goals is an (x,y) array	that determines	the locations of the
       goals.

       layout contains a scheme	of horizontal and vertical walls similar to
       the Minotaur's mazes.

Red-Blue Tilt Puzzles
       Dims is an (x,y)	key that specifies the dimensions of the board.
       Blue_Start and Red_Start	are two	(x,y) keys which specify the starting
       positiones of the red and blue markers. Red_Goal	and Blue_Goal are
       their respective	goals.

       layout contains a scheme	of horizontal and vertical walls similar to
       the Minotaur's mazes.

Planks in the Swamp Puzzles
       Dims is an (x,y)	key that specifies the dimensions of the board.	Planks
       is an array of start and	end pairs specifying the start and end
       coordinates of the planks. layout is a layout that matches the size
       specified by Dims that has an X where a stump is	present, G where the
       goal is and any other character (preferably a whitespace) where nothing
       is present.

       The first plank in "Planks" is the active plank.

SEE ALSO
       LM-Solve's Homepage:

       http://vipe.technion.ac.il/~shlomif/lm-solve/

       The Logic Mazes Homepage:

       http://www.logicmazes.com/

       Click Mazes:

       http://www.gjnem.demon.co.uk/

AUTHOR
       Shlomi Fish <shlomif@vipe.technion.ac.il>

perl v5.24.1			  2009-06-28			   LM-SOLVE(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | Generic Board Format | Alice Mazes Board Format | Theseus and the Minotaur Mazes Board Format | Number Mazes Board Format | Single Goal Tilt Mazes | Multiple Goals Tilt Mazes | Red-Blue Tilt Puzzles | Planks in the Swamp Puzzles | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=lm-solve&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help