62 lines
1.7 KiB
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;
|
|
}
|
|
}
|