Dokumentation zu Tetris:
Autor: Chris Hübsch
© 1996,1997
Klassenhierarchie:
Es sind die von mir neu erstellten Klassen und deren direkte Superklasse aufgeführt.
java.awt.Frame | +---- TetrisApplication java.awt.Applet | +---- TetrisTest java.awt.Canvas | +---- PreviewCanva | +---- TetrisCanvas java.at.Panel | +---- TetrisControls java.lang.Thread | +---- TetrisThread java.lang.Exception | +---- SteinchenKannNichtWeiterException java.lang.Object | +---- TetrisFarbe | +---- TetrisFeld | +---- TetrisSteinchen | +---- TetrisStein | +---- EinfachStein | | | +---- QuadratStein | | | +---- PlusStein | +---- ZweifachStein | | | +---- UglyStein | | | +---- RechteckStein | | | +---- Rechteck5Stein | | | +---- SStein | | | +---- S5Stein | | | +---- ZStein | | | +---- Z5Stein | +---- VierfachStein | +---- UStein | +---- TStein | +---- T5Stein | +---- LStein | +---- L5Stein | +---- GStein | +---- G5Stein | +---- F5LinksStein | +---- F5RechtsStein | +---- Quadrat5LinksStein | +---- Quadrat5RechtsStein | +---- JanLinksStein | +---- JanRechtsStein | +---- LarsLinksStein | +---- LarsRechtsStein
Objekthierarchie:
Es sind nur die zum Verständnis der Semantik nötigen Objekte aufgeführt. Zwischenspeicher (z.B. zur Beschleunigung der Ausführung) und einfache Datentypen sind nicht angegeben. Das wird in den Klassenbeschreibungen gemacht.
Schreibweise: (Typ)Instanzname[*|**]
*: eindimensionales Feld
**: zweidimensionales Feld
(TetrisApplication)unbenannt | +---- (TetrisTest)unbenannt | +----(TetrisControls)theControls | +----(PreviewCanvas)thePreview | +----(TetrisCanvas)theCanvas | +----(TetrisStein 1)aktuellerStein,nextStein | | | +----(TetrisSteinchen)steinchen*, drehungen** | +----(TetrisThread)runner | +----(TetrisFeld)spielFeld | +----(TetrisSteinchen)elemente**
1Ist abstrakte Superklasse aller Steine, dadurch ist eine Ausnutzung der Polymorphie möglich.