Comments added and IllegalStateException removed from Gate.java
This commit is contained in:
parent
33c3bce6e2
commit
793761083a
@ -1,36 +1,81 @@
|
|||||||
package cicaprojekt;
|
package cicaprojekt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A játékban megjelenő kapukat reprezentáló osztály.
|
||||||
|
*/
|
||||||
public class Gate extends Tile {
|
public class Gate extends Tile {
|
||||||
|
/**
|
||||||
|
* A kapu nyitottságát jelzi, alapértelemezett értéke csukva.
|
||||||
|
*/
|
||||||
private boolean open = false;
|
private boolean open = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Az osztály konstruktora.
|
||||||
|
*/
|
||||||
public Gate() {
|
public Gate() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Akkor hívódik meg, ha a kapu felé egy csillagkaput lőnek.
|
||||||
|
* Ha a kapu nyitva van, akkor továbbítja a csillagkaput a megfelelő irányba.
|
||||||
|
*
|
||||||
|
* @param stargate a <code>Stargate</code> példány, amely a kapuhoz érkezik
|
||||||
|
* @param direction az a <code>Direction</code>, amerről jön a csillagkapu-
|
||||||
|
* lövedék, és amerre tovább kell mennie.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void spawnStargate(Stargate stargate, Direction direction) {
|
public void spawnStargate(Stargate stargate, Direction direction) {
|
||||||
if (this.open) adjacentTile.get(direction).spawnStargate(stargate, direction);
|
if (this.open) adjacentTile.get(direction).spawnStargate(stargate, direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény igazzal tér vissza, ha a kapu nyitva van, hamissal, ha csukva.
|
||||||
|
*
|
||||||
|
* @return a kapu állapota
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean boxPermission()
|
public boolean boxPermission()
|
||||||
{
|
{
|
||||||
return open;
|
return open;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény akkor hívódik meg, ha egy személy rá akar lépni a kapura.
|
||||||
|
* Ha a kapu nyitva van, akkor ez lehetséges, ekkor a személy helyzete
|
||||||
|
* átkerül a kapura.
|
||||||
|
*
|
||||||
|
* @param playerBase az a <code>PlayerBase</code> példány, amely rá akar
|
||||||
|
* lépni a kapura
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onEntry(PlayerBase playerBase) {
|
public void onEntry(PlayerBase playerBase) {
|
||||||
super.onEntry(playerBase);
|
super.onEntry(playerBase);
|
||||||
if (open) playerBase.setCurrentTile(this);
|
if (open) playerBase.setCurrentTile(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény akkor hívódik meg, ha egy személy el akarja hagyni a kaput.
|
||||||
|
* Ha a kapu zárva van, akkor benne lévő személy megsemmisül.
|
||||||
|
*
|
||||||
|
* @param playerBase az a <code>PlayerBase</code> példány, amely ki akar
|
||||||
|
* lépni a kapuból
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onExit(PlayerBase playerBase) throws IllegalStateException {
|
public void onExit(PlayerBase playerBase) {
|
||||||
if (!open) {
|
if (!open) {
|
||||||
throw new IllegalStateException("Hiba! Te hogy kerültél a csukott ajtóba?");
|
playerBase.destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény azzal tér vissza, hogy rá lehet-e lépni a kapura.
|
||||||
|
* Ha az nyitva van, akkor annak függvényében dől el a válasz, hogy
|
||||||
|
* van-e rajta doboz, egyébként pedig attól függ, hogy nyitva van-e
|
||||||
|
* a kapu.
|
||||||
|
*
|
||||||
|
* @return a ráléphetőség igazságértéke
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public boolean isSteppable()
|
public boolean isSteppable()
|
||||||
{
|
{
|
||||||
@ -40,10 +85,20 @@ public class Gate extends Tile {
|
|||||||
return open;
|
return open;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény visszatér a kapu nyitvalevőségével.
|
||||||
|
*
|
||||||
|
* @return nyitvalevőség
|
||||||
|
*/
|
||||||
public boolean isOpen() {
|
public boolean isOpen() {
|
||||||
return open;
|
return open;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény beállítja a kapott paramétrre a kapu nyitvalevőségét.
|
||||||
|
*
|
||||||
|
* @param gateState a kapott érték, hogy nyitva, vagy csukva legyen a kapu
|
||||||
|
*/
|
||||||
public void setOpen(boolean gateState) {
|
public void setOpen(boolean gateState) {
|
||||||
this.open = gateState;
|
this.open = gateState;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user