Files
artloglaby/java/org/artisanlogiciel/games/LabyMap.java
philippe lhardy 850744326a initial commit for labryinth project on git_hub.
Signed-off-by: philippe lhardy <philippe@pavilionartlogiciel>
2014-12-24 17:28:23 +01:00

107 lines
1.8 KiB
Java

package org.artisanlogiciel.games;
import java.util.LinkedList;
class LabyMap
implements WallsProvider
{
Brick[][] tileMap;
LinkedList<Position> exits = new LinkedList<Position>();
public LabyMap(Brick[][] tileMap, LinkedList<Position> exits)
{
this.tileMap = tileMap;
this.exits = exits;
}
Brick getAt(int x, int y)
{
return tileMap[x][y];
}
public short getWalls(int x, int y)
{
return getAt(x,y).getWalls();
}
public int getWidth()
{
return tileMap[0].length;
}
public int getHeight()
{
return tileMap.length;
}
public String toString()
{
int entryX = -1;
int entryY = -1;
for ( Position exit: exits )
{
if ( exit.getX() == -1 )
{
entryY = exit.getY();
}
if ( exit.getY() == -1 )
{
entryX= exit.getX();
}
}
String laby="H";
for ( int x=0; x < tileMap.length; x ++) {
if ( entryX == x ) { laby += " H" ; }
else { laby+="HH";}
}
laby+="\n";
for ( int y=0; y < tileMap[0].length; y++)
{
if ( entryY == y ) { laby += ">";}
else { laby += "H"; }
for ( int x=0; x < tileMap.length; x ++)
{
laby+= tileMap[x][y].getUpString();
}
laby+="\n";
laby += "H";
for ( int x=0; x < tileMap.length; x ++)
{
laby+= tileMap[x][y].getLowString();
}
laby+="\n";
}
return laby;
}
public String toShortString()
{
int entryX = -1;
int entryY = -1;
for ( Position exit: exits )
{
if ( exit.getX() == -1 )
{
entryY = exit.getY();
}
if ( exit.getY() == -1 )
{
entryX= exit.getX();
}
}
String laby="";
for ( int y=0; y < tileMap[0].length; y++)
{
for ( int x=0; x < tileMap.length; x ++)
{
laby+= "" + tileMap[x][y].getChar();
}
laby+="\n";
}
return laby;
}
}