|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
de.a_weinert.graf.Bild
TvH
public class TvH
Die Türme von Hanoi mit Bildhintergrund
— Ein Java-Spiel.
Ein TvH-Objekt ist (per Erbe) ein Bild, das
das Stapelumsortierspiel Türme von Hanoi mit 2 bis 10 Turmscheiben und
drei Bedienknöpfen darstellt. Das Spiel kann von Hand regelgerecht und
auch regelwidrig gespielt werden. Sein (rekursiver) Lösungsansatz kann
vorgeführt werden und auch als automatischer Ablauf gezeigt werden.
Ein TvH-Objekt kann in graphische Anwendungen und Applets eingebunden
werden. Eine Startmethode (main()) erzeugt einen
einfachen Frame und bettet ein TvH-Objekt darin ein.
So ist TvH auch als selbständige graphische Anwendung lauffähig.
TvH beruht auf dem Framework de.a_weinert
("aWeinertBib") und insbesondere auf dem
Paket de.a_weinert.graf.
Copyright © 1998 - 2003, 2004 Albrecht Weinert
de.a_weinert.graf,
Serialized Form| Nested Class Summary | |
|---|---|
class |
TvH.Rahmen
(Hilfs-) Rahmen zum Einbetten eines TvH-Objekt als Anwendung graphische Anwendung. |
protected class |
TvH.Scheibe
Die Darstellung der Turmscheiben. |
| Nested classes/interfaces inherited from class de.a_weinert.graf.Bild |
|---|
Bild.Anker, Bild.Element, Bild.Listener |
| Nested classes/interfaces inherited from class javax.swing.JComponent |
|---|
JComponent.AccessibleJComponent |
| Nested classes/interfaces inherited from class java.awt.Container |
|---|
Container.AccessibleAWTContainer |
| Nested classes/interfaces inherited from class java.awt.Component |
|---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
| Field Summary | |
|---|---|
static String |
BG_FILE
Default-Name der Datei für das Hintergrundbild. |
int |
breite
Breite der größten Scheibe. |
protected Bild.Anker[] |
buttAn
Die Verankerung der drei Bedienknöpfe. |
protected Bild.Element[] |
buttEl
Die drei Bedienknöpfe. |
Dimension |
dim
Größe des Bilds. |
int |
maxAnz
Maximale Scheibenanzahl. |
int |
MIN_ANZ
Minimale Scheibenanzahl (2). |
static String |
versionLong
Name und Version. |
| Fields inherited from class de.a_weinert.graf.Bild |
|---|
ankerList, grDBu, grPBg, img, imgDBu, imgPBg, ltztBild, NO_ANKER |
| Fields inherited from class javax.swing.JComponent |
|---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
| Fields inherited from class java.awt.Component |
|---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
| Fields inherited from interface java.awt.image.ImageObserver |
|---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
| Constructor Summary | |
|---|---|
TvH(String bgFile)
Konstruktor mit Namen der Bildhintergrunddatei. |
|
| Method Summary | |
|---|---|
void |
bildBedient(Bild.Anker a,
MouseEvent m)
Ausführungsmethode für Bild-Ereignisse (Maus) |
void |
fromTo(int stapFrom,
int stapTo)
|
void |
init(int wTotal)
Initialisieren des Spiels. |
void |
knakM()
Text mittlerer Knopf aktualisieren und malen. |
static void |
main(String[] args)
Startmethode der Anwendung. |
void |
minus()
Eine Scheibe weniger. |
void |
nss()
Neu aufstellen bzw. starten bzw. stoppen. |
void |
plus()
Eine Scheibe mehr. |
void |
putTo(int stapInd,
Bild.Anker a)
|
Bild.Anker |
removeFrom(int stapInd)
|
void |
retouche(Graphics g,
int w,
int h)
Einmaliges Ändern des geladenen und geränderten Bilds. |
void |
run()
|
| Methods inherited from class de.a_weinert.graf.Bild |
|---|
addAnker, addAnker, addAnkerReverse, addListener, clearAnker, contains, copyImage, copyImageInfo, ensureCapacity, extraPaint, getAlignmentX, getAlignmentY, getAnkerCount, getAnkerInside, getAnkerListe, getHeight, getMaximumSize, getMinimumSize, getPermBgGraphics, getPreferredSize, getWidth, isGrid, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, paint, removeAnker, restorePermBg, setGrid, setMotion, setSize, trimToSize, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String versionLong
public static final String BG_FILE
Bild.img,
Constant Field Valuespublic final int breite
public final int maxAnz
public final Dimension dim
img.dim
protected Bild.Element[] buttEl
protected Bild.Anker[] buttAn
public final int MIN_ANZ
| Constructor Detail |
|---|
public TvH(String bgFile)
BG_FILE genommen.
Die Datei muss existieren und in ihrer Größe passen.
| Method Detail |
|---|
public void retouche(Graphics g,
int w,
int h)
retouche in class Bildg - Malen in Bild.imgw - Breite in Pixelnh - Höhe in Pixelnpublic Bild.Anker removeFrom(int stapInd)
public void putTo(int stapInd,
Bild.Anker a)
public void fromTo(int stapFrom,
int stapTo)
public void run()
run in interface Runnablepublic void init(int wTotal)
MIN_ANZ .. maxAnz
begrenzt.
public void nss()
public void knakM()
public void minus()
public void plus()
public void bildBedient(Bild.Anker a,
MouseEvent m)
bildBedient in interface Bild.Listenerpublic static void main(String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||