Comments added and IllegalStateException removed from Gate.java

This commit is contained in:
Siket Melinda Tekla 2016-05-16 16:27:37 +02:00
parent 33c3bce6e2
commit 793761083a
1 changed files with 57 additions and 2 deletions

View File

@ -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 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 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 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;
} }