eNTitanok.kkkg
Class KkkgAppl.Labirintus

java.lang.Object
  |
  +--eNTitanok.kkkg.KkkgAppl.Labirintus
Enclosing class:
KkkgAppl

public static class KkkgAppl.Labirintus
extends java.lang.Object


Inner Class Summary
static interface KkkgAppl.Labirintus.HibasGrafError
           
static class KkkgAppl.Labirintus.LabirintusRajzolo
           
static interface KkkgAppl.Labirintus.NincsHelyError
          Akkor váltódik ki, ha `this.lathatok[]' betelt.
static interface KkkgAppl.Labirintus.NincsKovetkezoError
           
 
Field Summary
protected  int ajandekc
          A :Labirintusban található :Ajándék-ok száma.
protected  java.util.Vector ajandekhelyek
          :Csucs-okból álló Vector, a lehetséges :Ajándék keletkezési helyeket tárolja.
protected  KkkgAppl.Helyzet bombaLerakando
          A következő ciklus bombalerakással kezdődik, mégpedig a megadott :Helyzet-be.
protected  int gyemantc
          A :Labirintusban található :Gyémánt-ok száma.
protected  KkkgAppl.Jatek jatek
           
protected  KkkgAppl.Csucs kezdocsucs
           
protected  boolean kitablazando_e
          Pontosan akkor true, ha a ciklus végén `this.kitablaz()'-t kell futtatni.
protected  KkkgAppl.Lathato[] lathatok
          getRegeg() szerint növekvő sorrendben.
protected  KkkgAppl.Kisero.Labielem le
           
static int MAX_LATHATOK
          Legfeljebb ennyi :Látható lehet egyszerre a :Labirintusban.
protected  Kepek.Kep palya_alja
           
protected  Kepek.Kep palya_arnyeka
           
protected  Kepek.Kep palya_grafja
           
protected  Kepek.Kep palya_teteje
           
protected  Kepek.Sdpts sd
           
protected  int szornyc
          A :Labirintusban található :Szörny-ek száma.
protected  java.util.Vector szornyhelyek
          :Csucs-okból álló Vector, a lehetséges :Szörny keletkezési helyeket tárolja.
protected  boolean[] torlendo
          A vele azonos indexű `this.lathatok'-beli elem törlendő-e?
static int U_MINDEGY
           
static int U_NEMUTKOZIK
           
static int U_UTKOZIK
           
protected  int[] utkozesc
           
protected  int[][] utkozesek
           
 
Constructor Summary
KkkgAppl.Labirintus(KkkgAppl.Jatek jatek, int sorszam)
           
 
Method Summary
protected  KkkgAppl.Lathato addLathato(KkkgAppl.Lathato lathato)
          Egy új :Látható-t helyez el this.lathatok-ban.
 void alaphelyzetbe()
          Eltörli a szörnyeket és az ajándékokat, továbbá a kezdőcsúcsba mozgatja a :Kisgömböc-öt.
 void assertt()
          Ellenőrzi, hogy a `lathatok' és a `torlendo' tömb (és az egyéb attribútumok) konzisztensek-e.
 void bombatLerak(KkkgAppl.Helyzet h)
          Bombalerakást kezdeményez (a kovetkezo ciklusra) a megadott :Helyzet-be.
 void elorajzol()
           
 void eltunnek()
          A `removeLathato()'-val elvett :Láthatókat tünteti el végleg.
 void feloszlat()
          Akkor hívódik meg, amikor a :Játék-nak már nincs szüksége this-re.
 int getGyemantc()
           
 KkkgAppl.Jatek getJatek()
           
 Kepek.Kepbetolto getKepbetolto()
           
protected  KkkgAppl.Kisgomboc getKisgomboc()
          A :Labirintusban található egyetlen :Kisgömböc objektumot adja vissza.
protected  KkkgAppl.Kisgomboc getKisgombocNull()
          A :Labirintusban található egyetlen :Kisgömböc objektumot adja vissza, vagy null-t, ha nincs.
 Kepek.Sdpts getSd()
           
 int getUtkozesc(int id)
           
 KkkgAppl.Lathato[] getUtkozesek(KkkgAppl.Lathato lathato)
          Azokat a :Láthatókat adja vissza, akikkel `lathato' éppen ütközik.
 void grafot_felepit()
          A `palya_grafja' kép alapján felépíti a labirintusgráfot.
 void keletkeznek()
          Itt keletkeznek az új :Szörny-ek és :Ajándék-ok és :Bombák.
 void kitablaz()
          A :Kisgömböc felé vezető legrövidebb utat keresi meg.
 void kitablazando()
          `this.kitablazando=true'.
 void mozgat()
          Egyetlen ciklusnyi időnek megfelelően mozgatja a labirintus :Látható-it.
 void palya_betoltve()
          Inicializálás azután, hogy a pálya már betöltődött.
 void removeLathato(KkkgAppl.Lathato lathato)
          A `Lathato.halad()'-ok hívják, ha valakit el akarnak távolítani.
 void utkozesvizsgalat()
          Megvizsgálja az összes érdekes ütközést az összes lehetséges :Látható-párra, és az eredményt `this.utkozesek'-be gyűjti.
 boolean utkozik_barmivel(KkkgAppl.Lathato lathato)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_LATHATOK

public static final int MAX_LATHATOK
Legfeljebb ennyi :Látható lehet egyszerre a :Labirintusban. Értéke: 42. Értékét nem érdemes túl nagyra venni, mert négyzetesen lassul a játék és nő a memóriaszükséglet.

U_MINDEGY

public static final int U_MINDEGY

U_NEMUTKOZIK

public static final int U_NEMUTKOZIK

U_UTKOZIK

public static final int U_UTKOZIK

le

protected KkkgAppl.Kisero.Labielem le

palya_alja

protected Kepek.Kep palya_alja

palya_teteje

protected Kepek.Kep palya_teteje

palya_arnyeka

protected Kepek.Kep palya_arnyeka

palya_grafja

protected Kepek.Kep palya_grafja

sd

protected Kepek.Sdpts sd

jatek

protected KkkgAppl.Jatek jatek

kezdocsucs

protected KkkgAppl.Csucs kezdocsucs

bombaLerakando

protected KkkgAppl.Helyzet bombaLerakando
A következő ciklus bombalerakással kezdődik, mégpedig a megadott :Helyzet-be.

gyemantc

protected int gyemantc
A :Labirintusban található :Gyémánt-ok száma.

szornyc

protected int szornyc
A :Labirintusban található :Szörny-ek száma.

ajandekc

protected int ajandekc
A :Labirintusban található :Ajándék-ok száma.

lathatok

protected KkkgAppl.Lathato[] lathatok
getRegeg() szerint növekvő sorrendben.

torlendo

protected boolean[] torlendo
A vele azonos indexű `this.lathatok'-beli elem törlendő-e?

utkozesek

protected int[][] utkozesek

utkozesc

protected int[] utkozesc

szornyhelyek

protected java.util.Vector szornyhelyek
:Csucs-okból álló Vector, a lehetséges :Szörny keletkezési helyeket tárolja.

ajandekhelyek

protected java.util.Vector ajandekhelyek
:Csucs-okból álló Vector, a lehetséges :Ajándék keletkezési helyeket tárolja.

kitablazando_e

protected boolean kitablazando_e
Pontosan akkor true, ha a ciklus végén `this.kitablaz()'-t kell futtatni. A :Kisgömböc állítja be néha true-ra
See Also:
kitablazando()
Constructor Detail

KkkgAppl.Labirintus

public KkkgAppl.Labirintus(KkkgAppl.Jatek jatek,
                           int sorszam)
Method Detail

bombatLerak

public void bombatLerak(KkkgAppl.Helyzet h)
Bombalerakást kezdeményez (a kovetkezo ciklusra) a megadott :Helyzet-be.

getGyemantc

public int getGyemantc()

assertt

public void assertt()
Ellenőrzi, hogy a `lathatok' és a `torlendo' tömb (és az egyéb attribútumok) konzisztensek-e. `AsserttError' kivételt vált ki, ha nem.

addLathato

protected KkkgAppl.Lathato addLathato(KkkgAppl.Lathato lathato)
Egy új :Látható-t helyez el this.lathatok-ban.

removeLathato

public void removeLathato(KkkgAppl.Lathato lathato)
A `Lathato.halad()'-ok hívják, ha valakit el akarnak távolítani. Egyelőre csak feljegyzi, hogy el kell távolítani, és a tényleges munkat `Labirintu.eltunnek()'-re hagyja.
See Also:
eltunnek()

eltunnek

public void eltunnek()
A `removeLathato()'-val elvett :Láthatókat tünteti el végleg.
See Also:
removeLathato(eNTitanok.kkkg.KkkgAppl.Lathato)

alaphelyzetbe

public void alaphelyzetbe()
Eltörli a szörnyeket és az ajándékokat, továbbá a kezdőcsúcsba mozgatja a :Kisgömböc-öt. `this.mozgat()'-on belülről tilos hívni.

feloszlat

public void feloszlat()
Akkor hívódik meg, amikor a :Játék-nak már nincs szüksége this-re. Csak az a dolga, hogy felszabadítson némi memóriát.

elorajzol

public void elorajzol()

getJatek

public KkkgAppl.Jatek getJatek()

getKepbetolto

public Kepek.Kepbetolto getKepbetolto()

getSd

public Kepek.Sdpts getSd()

getUtkozesc

public int getUtkozesc(int id)

getUtkozesek

public KkkgAppl.Lathato[] getUtkozesek(KkkgAppl.Lathato lathato)
Azokat a :Láthatókat adja vissza, akikkel `lathato' éppen ütközik. (Persze `lathato' nem szerepel a visszaadott listában.)

palya_betoltve

public void palya_betoltve()
Inicializálás azután, hogy a pálya már betöltődött.

utkozik_barmivel

public boolean utkozik_barmivel(KkkgAppl.Lathato lathato)

keletkeznek

public void keletkeznek()
Itt keletkeznek az új :Szörny-ek és :Ajándék-ok és :Bombák.

utkozesvizsgalat

public void utkozesvizsgalat()
Megvizsgálja az összes érdekes ütközést az összes lehetséges :Látható-párra, és az eredményt `this.utkozesek'-be gyűjti.

mozgat

public void mozgat()
Egyetlen ciklusnyi időnek megfelelően mozgatja a labirintus :Látható-it.

kitablazando

public void kitablazando()
`this.kitablazando=true'.

kitablaz

public void kitablaz()
A :Kisgömböc felé vezető legrövidebb utat keresi meg. Az összes :Csúcs irány- és távolságjelző tábláját frissíti. Implementáció: ez egy legrövidebbút-kereső gráfalgoritmus, amit tipikusan Dijkstra módszerével szoktak leprogramozni. Mi kihasználjuk, hogy a labirintusgráfunk euklideszi síkon van, így egy gyorsabb, egyszerűbb szélességi keresés is jó (optimális, legrövidebb) eredményt ad.

getKisgomboc

protected KkkgAppl.Kisgomboc getKisgomboc()
A :Labirintusban található egyetlen :Kisgömböc objektumot adja vissza. Csak a :Labirintusból hívható, külsősöknek semmi közük hozzá.

getKisgombocNull

protected KkkgAppl.Kisgomboc getKisgombocNull()
A :Labirintusban található egyetlen :Kisgömböc objektumot adja vissza, vagy null-t, ha nincs. Csak a :Labirintusból hívható, külsősöknek semmi közük hozzá.

grafot_felepit

public void grafot_felepit()
A `palya_grafja' kép alapján felépíti a labirintusgráfot.