minor changes (format + move class in stl package )

This commit is contained in:
philippe lhardy
2016-03-28 14:39:07 +02:00
parent 9333018aff
commit 8ac4b7693c
33 changed files with 2413304 additions and 1073 deletions

40
documentation/rawformat Normal file
View File

@@ -0,0 +1,40 @@
Maze/Labyrinth raw format extension .raw
Model of labyrinth storing only paths not walls. wall are regenerated later on based on adjacent paths.
each position (x,y) stores what move can be done from here to go do deeper path.
a node is tagged OPEN and contained in openList if all moves from its position have not been resolved
a node is tagged CLOSED when fully processed
position is (x,y)
See org.artisanlogiciel.games.WallsProvider
file starts with
'LAB0'
32bits Width
32bits Height
Width * ( 16bits )
*
Height.
/** WARNING don't change those values, they are used as it is for optimisation */
private final static short FLAGLENGTH=7;
private final static short CLEAR=0; // mandatory 0 since array creation is initialized with 0.
private final static short HORIZONTAL=1;
private final static short VERTICAL=2;
private final static short DIRECTION=4; // could we get rid of that to free one bit for other purpose ?
private final static short POSITIVE=8;
private final static short NEGATIVE=16;
private final static short OPEN=32; // can be reused once generation is completed
private final static short CLOSED=64; // can be reused once generation is completed
private final static short LEFT=Brick.LEFT<<FLAGLENGTH|DIRECTION|HORIZONTAL|NEGATIVE;
private final static short DOWN=Brick.DOWN<<FLAGLENGTH|DIRECTION|VERTICAL|POSITIVE;
private final static short RIGHT=Brick.RIGHT<<FLAGLENGTH|DIRECTION|HORIZONTAL|POSITIVE;
private final static short UP=Brick.UP<<FLAGLENGTH|DIRECTION|VERTICAL|NEGATIVE;
private final static short ENTRY=Brick.ENTRY<<FLAGLENGTH; // flag when a wall should be open to access this.
private final static short GOAL=Brick.GOAL<<FLAGLENGTH; // flag when a wall should be open to access this.
private final static short SOLVED=64<<FLAGLENGTH; // flag when solution is on this path.
private final static short FREE=128<<FLAGLENGTH; // free flag