initial commit for labryinth project on git_hub.
Signed-off-by: philippe lhardy <philippe@pavilionartlogiciel>
This commit is contained in:
106
java/org/artisanlogiciel/games/LabyMap.java
Normal file
106
java/org/artisanlogiciel/games/LabyMap.java
Normal file
@@ -0,0 +1,106 @@
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user