77 lines
1.8 KiB
Java
77 lines
1.8 KiB
Java
package cicaprojekt;
|
|
|
|
import java.io.IOException;
|
|
|
|
/**
|
|
* Egy fal kirajzolásáért felelős osztály.
|
|
*/
|
|
public class WallDrawer extends AbstractDrawer implements Drawer {
|
|
/**
|
|
* Egy falpéldány, amelyet kirajzolunk.
|
|
*/
|
|
private Wall wall;
|
|
|
|
/**
|
|
* Az osztály konstruktora. A kapott falpéldányhoz kirajzol
|
|
* egy falat.
|
|
*
|
|
* @param s a kapott falpéldány
|
|
* @throws IOException Ha nem található a kép.
|
|
*/
|
|
public WallDrawer(Wall w) throws IOException {
|
|
super("Wall.png");
|
|
wall = w;
|
|
}
|
|
|
|
/**
|
|
* A fal képét megváltoztatja annak megfelelően, hogy van-e rajta csillagkapu.
|
|
*
|
|
* @throws IOException Ha nem találhatóak a képek.
|
|
*/
|
|
@Override
|
|
public void draw() throws IOException {
|
|
if(wall.getStargate() == null)
|
|
changeImage("Wall.png");
|
|
else{
|
|
switch(wall.getStargate().getName()){
|
|
case "Blue Stargate":
|
|
changeImage("BlueStargate.png");
|
|
break;
|
|
case "Yellow Stargate":
|
|
changeImage("YellowStargate.png");
|
|
break;
|
|
case "Red Stargate":
|
|
changeImage("RedStargate.png");
|
|
break;
|
|
case "Green Stargate":
|
|
changeImage("GreenStargate.png");
|
|
break;
|
|
default:
|
|
changeImage("Wall.png");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* A fal x-koordinátájával tér vissza.
|
|
*
|
|
* @return x-koordináta
|
|
*/
|
|
@Override
|
|
public int getTileX() {
|
|
return wall.getX();
|
|
}
|
|
|
|
/**
|
|
* A fal y-koordinátájával tér vissza.
|
|
*
|
|
* @return y-koordináta
|
|
*/
|
|
@Override
|
|
public int getTileY() {
|
|
return wall.getY();
|
|
}
|
|
|
|
}
|