123 lines
2.1 KiB
Java
123 lines
2.1 KiB
Java
package org.artisanlogiciel.games;
|
|
|
|
/*
|
|
2x2 Tile to represent a labyrinth position
|
|
|
|
ab
|
|
cd
|
|
|
|
a is 'H' or '.' or ' '
|
|
bcd is '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;
|
|
}
|
|
}
|