package ge.edu.freeuni.sdp.snake.model;
public class WormHolePopulator extends RandomPositionPopulator {
private final RandomWormHole _wormhole;
public WormHolePopulator(RandomWormHole wormhole) {
_wormhole = wormhole;
}
private boolean _isSurrounded;
@Override
public void populate(Universe universe) {
if (!_isSurrounded){
surroundWithPoisons(universe);
_isSurrounded = true;
}
}
private void surroundWithPoisons(Universe universe){
Point left = _wormhole.getLeft();
Point right = _wormhole.getRight();
PoisonBeing p1 = new PoisonBeing(new Point (left.X+1,left.Y));
universe.addBeing(p1);
PoisonBeing p2 = new PoisonBeing(new Point (left.X,left.Y-1));
universe.addBeing(p2);
PoisonBeing p3 = new PoisonBeing(new Point (left.X,left.Y + 1));
universe.addBeing(p3);
PoisonBeing p4 = new PoisonBeing(new Point (left.X+1,left.Y-1));
universe.addBeing(p4);
PoisonBeing p5 = new PoisonBeing(new Point (left.X+1,left.Y+1));
universe.addBeing(p5);
PoisonBeing p6 = new PoisonBeing(new Point (right.X-1,right.Y));
universe.addBeing(p6);
PoisonBeing p7 = new PoisonBeing(new Point (right.X-1,right.Y-1));
universe.addBeing(p7);
PoisonBeing p8 = new PoisonBeing(new Point (right.X-1,right.Y+1));
universe.addBeing(p8);
PoisonBeing p9 = new PoisonBeing(new Point (right.X,right.Y-1));
universe.addBeing(p9);
PoisonBeing p10 = new PoisonBeing(new Point (right.X,right.Y+1));
universe.addBeing(p10);
}
}