Files
artloglaby/java/org/artisanlogiciel/games/maze/BrickTextMapping.java
philippe lhardy afbe26065b prepare for hexagon display & other models
- display cell as hexagon is Display.mHexagon if set ( not default )
will need a checkbox to set this
- various new models preparation...
2020-12-27 15:41:27 +01:00

73 lines
1.8 KiB
Java

package org.artisanlogiciel.games.maze;
import static org.artisanlogiciel.games.maze.Brick.*;
public class BrickTextMapping {
private String charmap;
public BrickTextMapping(String pCharMap)
{
charmap = pCharMap;
}
public static String getDefaultDirLine()
{
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 static char getDefaultChar(short walls)
{
// return getDirLine().charAt(walls & 0xFFF0);
return getDefaultDirLine().charAt(walls);
}
public static char getDefaultChar(Brick brick)
{
// return getDirLine().charAt(walls & 0xFFF0);
return getDefaultChar(brick.walls);
}
public char getChar(Brick brick)
{
return charmap.charAt((brick.walls)*0xf);
}
}