package cicaprojekt; import java.io.IOException; /** * Egy személy kirajzolásáért felelős osztály. */ public class PlayerBaseDrawer extends AbstractDrawer implements Drawer { /** * Egy személypéldány, amelyet kirajzolunk. */ private PlayerBase playerbase; /** * Az osztály konstruktora. A kapott személypéldányhoz kirajzol * egy személyt, alapértelmezett esetben a Replikátort. * * @param pb a kapott személypéldány * @throws IOException Ha nem található a kép. */ public PlayerBaseDrawer(PlayerBase pb) throws IOException { super("Replicator_Down.png"); playerbase = pb; } /** * A személy képét megváltoztatja annak megfelelően, hogy merre néz, illetve, * hogy él-e még. * Alapesetben a Replikátor különböző nézeteit kezeli le. * * @throws IOException Ha nem találhatóak a képek. */ @Override public void draw() throws IOException { switch(playerbase.name){ case "Replicator": switch(playerbase.facingDirection){ case NORTH: changeImage("Replicator_Up.png"); break; case EAST: changeImage("Replicator_Right.png"); break; case SOUTH: changeImage("Replicator_Down.png"); break; default: changeImage("Replicator_Left.png"); break; } } if(playerbase.isDestroyed()) changeImage("Empty.png"); } /** * A személy x-koordinátájával tér vissza. * * @return x-koordináta */ @Override public int getTileX() { return playerbase.currentTile.getX(); } /** * A személy y-koordinátájával tér vissza. * * @return y-koordináta */ @Override public int getTileY() { return playerbase.currentTile.getY(); } }