add Save Text support and rework package
- move maze within package maze
This commit is contained in:
119
java/org/artisanlogiciel/games/maze/Brick.java
Normal file
119
java/org/artisanlogiciel/games/maze/Brick.java
Normal file
@@ -0,0 +1,119 @@
|
||||
package org.artisanlogiciel.games.maze;
|
||||
|
||||
/*
|
||||
|
||||
2x2 Tile to represent a labyrinth position with some walls
|
||||
|
||||
this is 2x2 downright most part of 3x3 centered tile.
|
||||
|
||||
center right
|
||||
down downright
|
||||
|
||||
ab
|
||||
cd
|
||||
|
||||
a is 'H' or '.' or ' '
|
||||
bcd is within 'H' or ' '
|
||||
|
||||
*/
|
||||
public class Brick
|
||||
{
|
||||
|
||||
public final static short LEFT = 1;
|
||||
public final static short DOWN = 2;
|
||||
public final static short RIGHT = 4;
|
||||
public final static short UP = 8;
|
||||
public final static short ENTRY = 16;
|
||||
public final static short GOAL = 32;
|
||||
|
||||
char a;
|
||||
char b;
|
||||
char c;
|
||||
char d;
|
||||
short walls; // according to LabyModel.getWalls();
|
||||
|
||||
public Brick(char center, char right, char down, char downright, short walls)
|
||||
{
|
||||
a = center;
|
||||
b = right;
|
||||
c = down;
|
||||
d = downright;
|
||||
this.walls = walls;
|
||||
}
|
||||
|
||||
public Brick(String up, String low, short walls)
|
||||
{
|
||||
a = up.charAt(0);
|
||||
b = up.charAt(1);
|
||||
c = low.charAt(0);
|
||||
d = low.charAt(1);
|
||||
this.walls = walls;
|
||||
}
|
||||
|
||||
private boolean check()
|
||||
{
|
||||
// Not Yet Implemented
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getUpString()
|
||||
{
|
||||
return "" + a + b;
|
||||
}
|
||||
|
||||
public String getLowString()
|
||||
{
|
||||
return "" + c + d;
|
||||
}
|
||||
|
||||
public static String getDirLine()
|
||||
{
|
||||
char dir[] = new char[16];
|
||||
String s = "";
|
||||
|
||||
/*
|
||||
* dir[LEFT | DOWN | RIGHT | UP]='O'; dir[LEFT | DOWN | RIGHT]='U';
|
||||
* dir[LEFT | UP | RIGHT]='M'; dir[LEFT | UP | DOWN]='['; dir[RIGHT | UP
|
||||
* | DOWN]=']'; dir[UP | DOWN]='='; dir[LEFT | RIGHT]='|'; dir[RIGHT |
|
||||
* DOWN]='J'; dir[LEFT | DOWN]='L'; dir [LEFT | UP]='T'; dir[UP |
|
||||
* RIGHT]='7'; dir[LEFT] = '!'; dir[RIGHT] ='|'; dir[DOWN]= '_';
|
||||
* dir[UP]= '¨'; dir[0]=' ';
|
||||
*/
|
||||
|
||||
dir[LEFT | DOWN | RIGHT | UP] = 'O';
|
||||
dir[LEFT | DOWN | RIGHT] = 'U';
|
||||
dir[LEFT | UP | RIGHT] = 'M';
|
||||
dir[LEFT | UP | DOWN] = '[';
|
||||
dir[RIGHT | UP | DOWN] = ']';
|
||||
dir[UP | DOWN] = '=';
|
||||
dir[LEFT | RIGHT] = 226;
|
||||
dir[RIGHT | DOWN] = 'J';
|
||||
dir[LEFT | DOWN] = 'L';
|
||||
dir[LEFT | UP] = 169;
|
||||
dir[UP | RIGHT] = 170;
|
||||
dir[LEFT] = 173;
|
||||
dir[RIGHT] = '|';
|
||||
dir[DOWN] = '_';
|
||||
dir[UP] = '¨';
|
||||
dir[0] = ' ';
|
||||
|
||||
for (int i = 0; i < 16; i++)
|
||||
{
|
||||
s = s + dir[i];
|
||||
}
|
||||
|
||||
return s;
|
||||
|
||||
}
|
||||
|
||||
public char getChar()
|
||||
{
|
||||
// return getDirLine().charAt(walls & 0xFFF0);
|
||||
return getDirLine().charAt(walls);
|
||||
}
|
||||
|
||||
public short getWalls()
|
||||
{
|
||||
return walls;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user