From 8e4ed87c9acc5cdd42ddf09bcc568f3c1bc2557b Mon Sep 17 00:00:00 2001 From: Siket Melinda Tekla Date: Mon, 16 May 2016 17:56:40 +0200 Subject: [PATCH] Comments added to Scale.java --- cicaprojekt/Scale.java | 70 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/cicaprojekt/Scale.java b/cicaprojekt/Scale.java index 8f74d67..5f8880b 100644 --- a/cicaprojekt/Scale.java +++ b/cicaprojekt/Scale.java @@ -2,35 +2,85 @@ package cicaprojekt; import java.util.Stack; +/** + * A játékban megjelenő mérlegeket reprezentáló osztály. + */ public class Scale extends Field { + /** + * Az a Gate példány, amelyhez a mérleg van kötve. + */ private Gate gateConnected; + + /** + * A mérleg súlyhatára, efelett nyitja ki a hozzá tartozó kaput. + */ private int threshold; + + /** + * A mérlegen lévő súly. + */ private int weight; + /** + * Az osztály konstruktora. Létrehoz a mérlegen egy üres dobozrakást. + * + * @param gate a kapu, amelyet a mérleg nyit + * @param threshold a mérleg súlyhatára + */ public Scale(Gate gate, int threshold) { gateConnected = gate; this.threshold = threshold; boxStack = new Stack<>(); } + /** + * A függvény igazzal tér vissza, ha a mérlegre rá lehet lépni, + * hamissal, ha nem. Ezt a rajta lévő dobozok alapján dönti el. + * + * @return true, ha a dobozrakás üres + * false, egyébként + */ @Override public boolean isSteppable() { return boxStack.isEmpty(); } + /** + * A függvény akkor hívódik meg, ha egy személy rálép a mérlegre. + * Ekkor a mérleghez tartozó kapu kinyílik. + * + * @param playerBase az a PlayerBase példány, amely + * rálépett a mérlegre + */ @Override public void onEntry(PlayerBase playerBase) { super.onEntry(playerBase); gateConnected.setOpen(true); } + /** + * A függvény akkor hívódik meg, ha egy személy lelépett a mérlegről. + * Ilyenkor a mérleghez tartozó kapu bezáródik. + * + * @param playerBase az a PlayerBase példány, amely + * lelépett a mérlegről + */ @Override public void onExit(PlayerBase playerBase) { gateConnected.setOpen(false); } + /** + * A függvény eltávolít egy dobozt a mérlegen lévő dobozrakás tetejéről. + * Ennek súlyát levonja a mérlegen lévő súlyból, majd visszatér a levett + * dobozzal. Amennyiben nem volt egydoboz sem a mérlegen, úgy null-al tér vissza. + * + * @return a levett doboz, ha volt a mérlegen legalább egy + * null, egyébként + * @see #stackChanged() + */ @Override public Box getABox() { if (boxStack.isEmpty()) @@ -40,6 +90,13 @@ public class Scale extends Field { return boxStack.pop(); } + /** + * A függvény rárak egy dobozt a mérlegen lévő dobozrakás tetejére, + * majd ennek súlyával frissíti a mérlegen lévő súlyt is. + * + * @param box a rárakandó Box példány + * @see #stackChanged() + */ @Override public void putABox(Box box) { if (box == null) @@ -49,6 +106,13 @@ public class Scale extends Field { stackChanged(); } + /** + * Akkor hívódik meg, ha egy új doboz került a mérlegre, vagy egy doboz + * lekerült róla. Ilyenkor ellenőrzi, hogy a súlyhatár át van-e lépve, + * a mérleghez tartozó kaput pedig ennek megfelelően beállítja. + * + * @see Gate#setOpen(boolean) + */ private void stackChanged() { if (weight >= threshold) gateConnected.setOpen(true); @@ -56,6 +120,12 @@ public class Scale extends Field { gateConnected.setOpen(false); } + /** + * A függvény igazzal tér vissza, ha az adott típusú Tile-on lehet + * ZPM, hamissal, ha nem. + * + * @return false + */ @Override public boolean canHazZPM() { return false;