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; } }