Hanoi.Place
Modifier and Type | Field and Description |
---|---|
static int |
DEMO_MAX_SIZE
Maximální počet disků pro demonstraci.
|
Modifier and Type | Method and Description |
---|---|
static Hanoi |
createAnimator()
Vytvoří animaci včetně zobrazené FX stage bez implementace pravidel
hry.
|
static Hanoi |
createAnimator(Hanoi hanoi)
Vytvoří animaci včetně zobrazené FX stage na základě existující
implementace pravidel hry.
|
static Hanoi |
createAnimator(Hanoi hanoi,
javafx.stage.Stage stage)
Vytvoří animaci a vloží ji do předané FX stage na základě existující
implementace pravidel hry.
|
void |
done()
Ověří ukončení hry.
|
static void |
main(java.lang.String[] args)
Spustí demonstraci použití této třídy.
|
void |
move(Hanoi.Place from,
Hanoi.Place to)
Přesune jeden disk z jedné věže na druhou.
|
static void |
runDemo(int size)
Spustí demo s jedním jevištěm.
|
static void |
runDemos(int sizeFrom,
int sizeTo)
Spustí demo s několika jevišti, na každém jevišti se odehrává právě jedna
animace řešení problému Hanojských věží pro různé počty disků.
|
static void |
setDiskColors(javafx.scene.paint.Color... color)
Nastaví sérii barev pro povrchy disků.
|
static void |
setDuration(javafx.util.Duration duration)
Nastaví rychlost animace.
|
static void |
setTowerColors(javafx.scene.paint.Color... color)
Nastaví sérii barev pro povrchy věží.
|
void |
setup(int count)
Spustí novou hru.
|
public static final int DEMO_MAX_SIZE
runDemos(int, int)
,
Constant Field Valuespublic static Hanoi createAnimator()
Poznámka: pokud při chybějících pravidlech hry dojde k chybnému tahu, např. k přesunu neexistujícího disku, může být vyvolána výjimka i mimo kontrolu pravidel, případně dojde k nepředvídatelnému chování.
public static Hanoi createAnimator(Hanoi hanoi)
hanoi
- pravidla hry, pokud nejsou správně implementována a dojde k
chybnému tahu, např. k přesunu neexistujícího disku, může být vyvolána
výjimka i mimo kontrolu pravidel, případně dojde k nepředvídatelnému
chovánípublic static Hanoi createAnimator(Hanoi hanoi, javafx.stage.Stage stage)
hanoi
- pravidla hry, pokud nejsou správně implementována a dojde k
chybnému tahu, např. k přesunu neexistujícího disku, může být vyvolána
výjimka i mimo kontrolu pravidel, případně dojde k nepředvídatelnému
chovánístage
- předem vytvořená FX stage na umístění animacepublic static void setTowerColors(javafx.scene.paint.Color... color)
color
- nejméně jedna barva pro věžepublic static void setDiskColors(javafx.scene.paint.Color... color)
color
- nejméně jedna barva pro diskypublic static void setDuration(javafx.util.Duration duration)
duration
- doba, za kterou se přesune disk z jedné věže na druhoupublic static void runDemo(int size)
size
- počet disků k vyřešeníDEMO_MAX_SIZE
public static void runDemos(int sizeFrom, int sizeTo)
sizeFrom
- počet disků na nejmenším jevištisizeTo
- počet disků na největším jevištiDEMO_MAX_SIZE
public static void main(java.lang.String[] args)
args
- (ignoruje, pokud ale v prvním argmentu je celé číslo, pak
místo výchozí hodnoty spustí animaci řešení pro zadaný počet disků,
podobně v druhém argumentu předpokládá číslo větší nebo rovné prvnímu
udávající počet disků v další instanci, výchozími hodnotami jsou 3 a 5,
tedy v takovém případě se spustí tři souběžné demonstrace pro 3, 4 a 5
diskůpublic void setup(int count) throws java.lang.IllegalArgumentException
Hanoi
public void move(Hanoi.Place from, Hanoi.Place to) throws java.lang.IllegalStateException
Hanoi
public void done() throws java.lang.IllegalStateException
Hanoi