fixed bug where Tiles would be replaced with Fields on PlayerBase.destroy()

This commit is contained in:
Kjistóf 2016-05-14 16:16:59 +02:00
parent 55cae38f5f
commit 23271cc086
3 changed files with 26 additions and 14 deletions

View File

@ -22,27 +22,29 @@ public class Game {
private Game() {}
public void playerBaseDestroyed(PlayerBase caller) {
Field field = new Field();
Tile callertile = caller.getCurrentTile();
if (caller.getCurrentTile().isGap()) {
Field field = new Field();
Tile callertile = caller.getCurrentTile();
field.setX(callertile.getX());
field.setY(callertile.getY());
field.setX(callertile.getX());
field.setY(callertile.getY());
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.NORTH), Direction.NORTH);
callertile.getAdjacentTile(Direction.NORTH).setAdajacentTile(field, Direction.SOUTH);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.NORTH), Direction.NORTH);
callertile.getAdjacentTile(Direction.NORTH).setAdajacentTile(field, Direction.SOUTH);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.SOUTH), Direction.SOUTH);
callertile.getAdjacentTile(Direction.SOUTH).setAdajacentTile(field, Direction.NORTH);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.SOUTH), Direction.SOUTH);
callertile.getAdjacentTile(Direction.SOUTH).setAdajacentTile(field, Direction.NORTH);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.WEST), Direction.WEST);
callertile.getAdjacentTile(Direction.WEST).setAdajacentTile(field, Direction.EAST);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.WEST), Direction.WEST);
callertile.getAdjacentTile(Direction.WEST).setAdajacentTile(field, Direction.EAST);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.EAST), Direction.EAST);
callertile.getAdjacentTile(Direction.EAST).setAdajacentTile(field, Direction.WEST);
field.setAdajacentTile(caller.getCurrentTile().getAdjacentTile(Direction.EAST), Direction.EAST);
callertile.getAdjacentTile(Direction.EAST).setAdajacentTile(field, Direction.WEST);
display.gapMagic((Gap)callertile, field, dungeon.getMapWidth());
display.gapMagic((Gap) callertile, field, dungeon.getMapWidth());
Game.instance.updateDisplay();
Game.instance.updateDisplay();
}
}
public void playerDestroyed(Player caller) {

View File

@ -11,6 +11,12 @@ public class Gap extends cicaprojekt.Tile {
return true;
}
@Override
public boolean isGap()
{
return true;
}
@Override
public void onEntry(PlayerBase playerBase) {
super.onEntry(playerBase);

View File

@ -65,6 +65,10 @@ public abstract class Tile {
return zpm;
}
public boolean isGap() {
return false;
}
public void putABox(Box box) {
if (box == null)
return;