From c7cd02abda96d13d5f0ea76a27a8a4331b457564 Mon Sep 17 00:00:00 2001 From: Siket Melinda Tekla Date: Mon, 16 May 2016 17:59:02 +0200 Subject: [PATCH] Comments added to Tile.java --- cicaprojekt/Tile.java | 133 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) diff --git a/cicaprojekt/Tile.java b/cicaprojekt/Tile.java index e990348..bf90933 100644 --- a/cicaprojekt/Tile.java +++ b/cicaprojekt/Tile.java @@ -4,44 +4,114 @@ import java.util.HashMap; import java.util.Map; import java.util.Stack; +/** + * A játékban megjelenő különböző csempetípusokat reprezentáló osztály. + * @author MelindaTekla + * + */ public abstract class Tile { + /** + * A csempe szomszédos csempéit tároló Map. + */ protected Map adjacentTile; + /** + * A csempén lévő ZPM. + */ protected ZPM zpmOnTile; + /** + * A csempén lévő dobozok. + */ protected Stack boxStack; + /** + * A csempe y-koordinátája. + */ protected int y = -666; + /** + * A csempe x-koordinátája. + */ protected int x = -666; + /** + * A csempén lévő személy. + */ protected PlayerBase playerBaseOnTile = null; + /** + * Az osztály konstruktora. + */ public Tile() { adjacentTile = new HashMap<>(); boxStack = new Stack<>(); } + /** + * A csempe x-koordinátájával tér vissza. + * + * @return x-koordináta + */ public int getX() { return this.x; } + /** + * A csempe y-koordinátájával tér vissza. + * + * @return y-koordináta + */ public int getY() { return this.y; } + /** + * A csempe x-koordinátáját állítja be a kapott paraméterre. + * + * @param x a kapott x-koordináta + */ public void setX(int x) { if (x >= 0) this.x = x; } + /** + * A csempe y-koordinátáját állítja be a kapott paraméterre. + * + * @param y a kapott y-koordináta + */ public void setY(int y) { if (y >= 0) this.y = y; } + /** + * A csempére való léphetőséget tárolja. + * @return + */ public abstract boolean isSteppable(); + /** + * A csempe kapott irányban lévő szomszédos csempéjével tér vissza. + * + * @param direction a kapott irány + * @return a szomszédos csempe + */ public Tile getAdjacentTile(Direction direction) { return adjacentTile.get(direction); } + /** + * A csempe kapott irányban lévő szomszédjára állítja be a kapott csempét. + * + * @param newTile a kapott csempe + * @param direction a kapott irány + */ public void setAdajacentTile(Tile newTile, Direction direction) { adjacentTile.put(direction, newTile); } + /** + * A függvény akkor hívódik meg, ha egy csillagkapu érkezik a csempére. + * Ekkor ha a Replikátor áll a csempén, az megsemmisül, a csillagkapu pedig + * a kapott irányban halad tovább. + * + * @param stargate az érkező csillagkapu + * @param direction a kapott irány + */ public void spawnStargate(Stargate stargate, Direction direction) { if (playerBaseOnTile != null && playerBaseOnTile.name.equals("Replicator")) playerBaseOnTile.destroy(); @@ -49,55 +119,118 @@ public abstract class Tile { adjacentTile.get(direction).spawnStargate(stargate, direction); } + /** + * A függvény akkor hívódik meg, ha egy személy lép a csempére. + * + * @param playerBase a PlayerBase példány, amely a csempére lépett + */ public void onEntry(PlayerBase playerBase) { playerBaseOnTile = playerBase; } + /** + * A függvény akkor hívódik meg, ha egy személy lelép a csempéről. + * + * @param playerBase a PlayerBase példány, amely lelépett + * a csempéről + */ public abstract void onExit(PlayerBase playerBase); + /** + * Beállítja a kapott ZPM-et a csempére. + * + * @param zpm a kapott ZPM + */ public void setZPMOnTile(ZPM zpm) { zpmOnTile = zpm; } + /** + * Visszatér a csempén lévő ZPM-el, majd a csempén lévő ZPM értékét null-ra + * állítja. + * + * @return a csempén lévő ZPM + */ public ZPM getZPMFromTile() { ZPM zpm = zpmOnTile; zpmOnTile = null; return zpm; } + /** + * A függvény igazzal tér vissza, ha a csempe egy szakadék. + * + * @return false + */ public boolean isGap() { return false; } + /** + * A függvény a kapott dobozt rárakja a csempére. + * + * @param box a kapott doboz + */ public void putABox(Box box) { if (box == null) return; boxStack.push(box); } + /** + * A függvény leveszi a csempén lévő dobozrakás tetején lévő dobozt, + * azzal tér vissza. + * + * @return a levett doboz + */ public Box getABox() { if (boxStack.isEmpty()) return null; return boxStack.pop(); } + /** + * Kiírja a csempe koordinátáit. + */ @Override public String toString() { return String.format("%d, %d", x, y); } + /** + * A függvény aszerint tér vissza, hogy van-e a csempén ZPM. + * + * @return true, ha van a csempén ZPM + * false, egyébként + */ public boolean hasZPM() { return zpmOnTile != null; } + /** + * A függvény aszerint tér vissza, hogy van-e a csempén doboz. + * + * @return true, ha van a csempén doboz + * false, egyébként + */ public boolean hasBox() { return !boxStack.isEmpty(); } + /** + * A függvény aszerint tér vissza, hogy lehet-e a csempén doboz. + * + * @return true + */ public boolean boxPermission() { return true; } + /** + * A függvény aszerint tér vissza, hogy lehet-e a csempén ZPM. + * + * @return false + */ public boolean canHazZPM() { return false; }