package org.artisanlogiciel.games; import java.util.LinkedList; class LabyMap implements WallsProvider { Brick[][] tileMap; LinkedList exits = new LinkedList(); public LabyMap(Brick[][] tileMap, LinkedList 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; } }