cicaprojekt/cicaprojekt/Field.java

62 lines
1.7 KiB
Java

package cicaprojekt;
/**
* A játékban megjelenő mezőket reprezentáló osztály.
*/
public class Field extends cicaprojekt.Tile {
/**
* Az osztály konstruktora.
*/
public Field() {
super();
}
/**
* Igazzal tér vissza, ha rá lehet lépni a mezőre, hamissal, ha nem.
* A rajta lévő dobozok szerint dönti el, hoyg rá lehet-e lépni.
*
* @return igaz, ha nincsenek dobozok rajta
* hamis, ha vannak dobozok rajta
*/
@Override
public boolean isSteppable() {
return boxStack.isEmpty();
}
/**
* A függvény akkor hívódik meg, ha egy személy rá akar lépni a mezőre.
* Ha a mezőn vannak dobozok, akkor nem engedi rálépni a személyt,
* ha nincsenek, akkor engedi. Ekkor átállítja a személy helyét a mezőre,
* és ha azon volt ZPM, akkor azt a személy felveszi.
*
* @param playerBase a személy, aki rá akar lépni a mezőre
*/
@Override
public void onEntry(PlayerBase playerBase) {
super.onEntry(playerBase);
if (boxStack.size() > 0)
return;
playerBase.setCurrentTile(this);
if (zpmOnTile != null)
playerBase.pickZPM(this);
}
/**
* A függvény akkor hívódik meg, ha egy személy le akar lépni róla.
*
* @param playerBase a személy, aki le akar lépni a mezőről
*/
@Override
public void onExit(PlayerBase playerBase) {}
/**
* A függvény azt adja meg, hogy lehet-e a mezőn ZPM.
*
* @return true
*/
@Override
public boolean canHazZPM() {
return true;
}
}