Comments added to PlayerBase.java
This commit is contained in:
parent
2faf555f49
commit
5bfb7cbbb0
@ -1,11 +1,34 @@
|
|||||||
package cicaprojekt;
|
package cicaprojekt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A játékban megjelenő személyeket reprezentáló osztály.
|
||||||
|
*/
|
||||||
public class PlayerBase implements Destroyable {
|
public class PlayerBase implements Destroyable {
|
||||||
|
/**
|
||||||
|
* A csempe, amelyen a személy áll.
|
||||||
|
*/
|
||||||
protected Tile currentTile;
|
protected Tile currentTile;
|
||||||
|
/**
|
||||||
|
* Az irány, amerre a személy néz.
|
||||||
|
*/
|
||||||
protected Direction facingDirection;
|
protected Direction facingDirection;
|
||||||
|
/**
|
||||||
|
* A személy neve.
|
||||||
|
*/
|
||||||
protected String name;
|
protected String name;
|
||||||
|
/**
|
||||||
|
* A személy elpusztulását számontartó változó.
|
||||||
|
*/
|
||||||
protected boolean destroyed;
|
protected boolean destroyed;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Az osztály konstruktora. Kezdetben a személy életben van és a kapott
|
||||||
|
* értékekre állítódnak be a tulajdonságai.
|
||||||
|
*
|
||||||
|
* @param name a személy neve
|
||||||
|
* @param startTile a csempe, ahol kezd
|
||||||
|
* @param startDirection az irány, ahova kezdetben néz
|
||||||
|
*/
|
||||||
public PlayerBase(String name, Tile startTile, Direction startDirection) {
|
public PlayerBase(String name, Tile startTile, Direction startDirection) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
currentTile = startTile;
|
currentTile = startTile;
|
||||||
@ -13,25 +36,51 @@ public class PlayerBase implements Destroyable {
|
|||||||
destroyed = false;
|
destroyed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy nevével és aktuális tartózkodási helyével tér vissza.
|
||||||
|
*
|
||||||
|
* @return a személy neve és aktuális csempéje
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return String.format("%s: %s", name, currentTile);
|
return String.format("%s: %s", name, currentTile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy elpusztulását megvalósító függvény.
|
||||||
|
*
|
||||||
|
* @see Game#playerBaseDestroyed(PlayerBase)
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
destroyed = true;
|
destroyed = true;
|
||||||
Game.instance.playerBaseDestroyed(this);
|
Game.instance.playerBaseDestroyed(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy aktuális tartózkodási helyével tér vissza.
|
||||||
|
*
|
||||||
|
* @return aktuális csempe
|
||||||
|
*/
|
||||||
public Tile getCurrentTile() {
|
public Tile getCurrentTile() {
|
||||||
return currentTile;
|
return currentTile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy aktuális tartózkodási helyét állítja be a kapott csempére.
|
||||||
|
*
|
||||||
|
* @param newCurrentTile a kapott csempe
|
||||||
|
*/
|
||||||
public void setCurrentTile(Tile newCurrentTile) {
|
public void setCurrentTile(Tile newCurrentTile) {
|
||||||
currentTile = newCurrentTile;
|
currentTile = newCurrentTile;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy mozgását megvalósító függvény, amely keretében a személy
|
||||||
|
* egy csempényit próbál lépni a kapott irányba.
|
||||||
|
*
|
||||||
|
* @param direction a kapott irány
|
||||||
|
*/
|
||||||
public void move(Direction direction) {
|
public void move(Direction direction) {
|
||||||
if(!isDestroyed()) {
|
if(!isDestroyed()) {
|
||||||
this.setFacingDirection(direction);
|
this.setFacingDirection(direction);
|
||||||
@ -49,6 +98,9 @@ public class PlayerBase implements Destroyable {
|
|||||||
|
|
||||||
public void pickZPM(Tile tile) { /* PlayerBase does not collect ZPM modules */ }
|
public void pickZPM(Tile tile) { /* PlayerBase does not collect ZPM modules */ }
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy balra forgatását megvalósító függvény.
|
||||||
|
*/
|
||||||
public void rotateLeft() {
|
public void rotateLeft() {
|
||||||
switch (facingDirection) {
|
switch (facingDirection) {
|
||||||
case NORTH:
|
case NORTH:
|
||||||
@ -66,6 +118,9 @@ public class PlayerBase implements Destroyable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A személy jobbra forgatását megvalósító függvény.
|
||||||
|
*/
|
||||||
public void rotateRight() {
|
public void rotateRight() {
|
||||||
switch (facingDirection) {
|
switch (facingDirection) {
|
||||||
case NORTH:
|
case NORTH:
|
||||||
@ -83,14 +138,30 @@ public class PlayerBase implements Destroyable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A függvény a személy aktuális nézési irányával tér vissza.
|
||||||
|
*
|
||||||
|
* @return irány, amerre a személy néz
|
||||||
|
*/
|
||||||
public Direction getFacingDirection() {
|
public Direction getFacingDirection() {
|
||||||
return facingDirection;
|
return facingDirection;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Beállítja a kapott értékre, hogy arra nézzen a személy.
|
||||||
|
*
|
||||||
|
* @param direction kapott irány
|
||||||
|
*/
|
||||||
public void setFacingDirection(Direction direction) {
|
public void setFacingDirection(Direction direction) {
|
||||||
facingDirection = direction;
|
facingDirection = direction;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Igazzal tér vissza, ha a személy elpusztult, hamissal, ha nem.
|
||||||
|
*
|
||||||
|
* @return true, ha elpusztult
|
||||||
|
* false, egyébként
|
||||||
|
*/
|
||||||
public boolean isDestroyed(){
|
public boolean isDestroyed(){
|
||||||
return destroyed;
|
return destroyed;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user