A B C D F G I K M N O P R S T U V W Z

A

abs(int) - Method in class Arena
Betrag eines Integer- Werts ermitteln.
abs(int) - Method in class KI
Betrag
Die Methode abs gibt den positiven Betrag eines Integerwertes zurück.
addRow(int) - Method in class ArenaData
Hinzufügen einer "leeren" Tabellenzeile.
Dabei wird in jede Spalte der neuen Zeile ein Leer-Icon eingefügt.
addRow(int, SpielStein[]) - Method in class ArenaData
Hinzufügen einer Tabellenzeile, gefüllt mit einem Array aus SpielStein.
addSliders() - Method in class SpielOptionen
Erzeugt die Schieberegler (Sliders), welche die Größe der Spielarena festlegen und fügt sie in das JPanel ein
Arena - class Arena.
Die Arena ist ein JPanel, welches das komplette Spielfeld enthält.
Das Spielfeld ist ein JTable, mit dem ArenaData TableModel welches die Funktionen des Spielfelds zur Verfügung stellt.
Arena(int, int) - Constructor for class Arena
Erstellen der Spielarena, festsetzen der Zellengröße
ArenaData - class ArenaData.
ArenaData ist die Erweiterung des AbstractTableModel für die Bereitstellung der Spielfunktionen in der von Arena erzeugten JTable.
Hier werden unter anderem die angezeigten Spielsteine in die Tabelle eingesetzt.
ArenaData(int) - Constructor for class ArenaData
Erzeugen einer Tabelle mit festzusetzender Spaltenanzahl.
Die Überschriften TableHeader werden nach der Anzahl der Spalten durchnumeriert (1,...,columnCount).
ArenaData(String[]) - Constructor for class ArenaData
Erzeugen einer Tabelle mit festgesetzten Überschriften.
Dabei werden die Überschriften als Array von Strings übergeben und die Anzahl der Spalten aus der Länge des Arrays ermittelt.

B

button - Variable in class PToolBar
 
button2 - Variable in class PToolBar
 
button3 - Variable in class PToolBar
 

C

caretUpdate(CaretEvent) - Method in class OptSpieler
Textfeld - Checker
checkt ab, ob sich was in den Textfeldern ändert.
changePlayer() - Method in class Arena
Spielerwechsel.
Der aktuelle Spieler wird gewechselt.
checkGewonnen() - Method in class Arena
Ermitteln, ob das Spiel gewonnen wurde.
clearTable() - Method in class ArenaData
Die ganze Tabelle löschen
Comp - Static variable in class VierGewinnt
 
componentHidden(ComponentEvent) - Method in class PCAdapter
Component ist versteckt
das Component wird neu gezeichnet
componentMoved(ComponentEvent) - Method in class PCAdapter
Component wurde bewegt
das Component wird neu gezeichnet
componentResized(ComponentEvent) - Method in class PCAdapter
Component wurde in der Größe verändert
das Component wird neu gezeichnet
componentShown(ComponentEvent) - Method in class PCAdapter
Component wird angezeigt
das Component wird neu gezeichnet

D

deleteRow(int) - Method in class ArenaData
Löschen einer bestimmten Tabellenzeile

F

Feld - Variable in class Spielfeld
abstrakte Form des Spielfelds als Array
Feldelement - class Feldelement.
 
Feldelement(int, int) - Constructor for class Feldelement
Feldelement ist die abstrakte Form eines Spielsteins es enthält die Koordinaten und den Typ
Feldelement(int, int, int) - Constructor for class Feldelement
Erzeugung eines Spielsteins mit einem Typ
frame - Static variable in class VierGewinnt
 

G

GameArena - Variable in class PFrame
Das Spielfeld
gelbBeginnt() - Method in class Arena
Player 2 fängt an.
getCellHeight() - Method in class Arena
Zellenhöhe auslesen.
Mit Hilfe dieser Methode kann man die Zellenhöhe in Erfahrung bringen.
getColumnClass(int) - Method in class ArenaData
Abfrage der Art des Objekts in der Tabelle
wird zum rendern der Tabellenspalte benötigt
getColumnCount() - Method in class ArenaData
Abfrage der Spaltenanzahl
getColumnName(int) - Method in class ArenaData
Abfrage der Spaltennamen
getFreeRow(int) - Method in class ArenaData
Ermittelt die nächste freie Zeile in einer gegebenen Spalte
getNumber() - Method in class PTextField
Ermitteln des Bezeichners
getRowCount() - Method in class ArenaData
Abfrage der Zeilenanzahl
getStateValueAt(int, int) - Method in class ArenaData
Statusabfrage in einem bestimmten Feldes der Tabelle
getValueAt(int, int) - Method in class ArenaData
Abfrage des Wertes einer bestimmten Tabellenzelle

I

isCellEditable(int, int) - Method in class ArenaData
Abfrage, ob die Zelle editierbar ist
isRand1(Feldelement, int, int, int) - Method in class Spieler
Überprüfen ob Rand des Spielfeldes erreicht wird für diagonale Überprüfung
isRand2(Feldelement, int, int, int) - Method in class Spieler
Überprüfen ob Rand des Spielfeldes erreicht wird für gerade Überprüfung
istdiagonal(Feldelement) - Method in class Spieler
Überprüft wieviele Steine diagonal von einem Ausgangselement beieinanderliegen -- beide Richungen und beide Seiten --
Funktion gibt Anzahl der beieinanderliegenden Steine zurück
istdranComp() - Method in class Arena
Computer übernimmt nächsten Zug.
Hier wird ein neuer Thread gestartet, der den Computerzug berechnet
istgerade(Feldelement) - Method in class Spieler
überprüft wieviele Steine gerade von einem Ausgangselement beieinanderliegen -- vertikal und horizontal --
Funktion gibt Anzahl der beieinanderliegenden Steine zurück
istgerade(Feldelement, int) - Method in class Spieler
überprüft wieviele Steine gerade von einem Ausgangselement beieinanderliegen -- eine bestimmte Richtung --
Funktion gibt Anzahl der beieinanderliegenden Steine zurück
itemStateChanged(ItemEvent) - Method in class OptSpieler
Checkbox - Checker
checkt ab, ob die Checkbox sich geändert hat und ändert gegebenenfalls den Spielertyp

K

KI - class KI.
Implementierung eines Vier-Gewinnt Computergegners mit variablen Schwierigkeitsgrad
KI(int) - Constructor for class KI
Die KI
Ein Objekt KI ist ein Computergegner mit einstellbarer Spielstärke (>=1).
Die Spielstärke (Schwierigkeitsgrad) gibt an, bis in welche Tiefe der Algorithmus wiederholt wird.

M

m - Variable in class Feldelement
x-Koordinate des Spielsteins
m_icon - Variable in class SpielStein
 
m_state - Variable in class SpielStein
 
m_width - Variable in class SpielStein
 
main(String[]) - Static method in class VierGewinnt
Hier, in der Hauptfunktion main() wird das Spiel zusammengesetzt.
Dabei wird zuerst der Splashscreen mit dem Vier Gewinnt- Bild für 3 sek angezeigt, dann wird ein PFrame mit den Init- Werten (7,6) erzeugt und angezeigt.
Natürlich werden die Listener fürs Fenster auch mit eingebunden...
makeOptionsButton(String, String, String, String) - Method in class PToolBar
Erzeugen des Optionen-Buttons
Es wird der Button erzeugt, mit den Grafiken versehen, der ActionListener, der bei Knopfdruck die Optionen anzeigt, wird eingesetzt und der fertige Button wird zurückgegeben.
makeQuitButton(String, String, String, String) - Method in class PToolBar
Erzeugen des Beenden-Buttons
Es wird der Button erzeugt, mit den Grafiken versehen, der ActionListener, der bei Knopfdruck das Programm beendet, wird eingesetzt und der fertige Button wird zurückgegeben.
makeStartButton(String, String, String, String) - Method in class PToolBar
Erzeugen des Start-Buttons
Es wird der Button erzeugt, mit den Grafiken versehen, der ActionListener, der bei Knopfdruck das Spiel startet, wird eingesetzt und der fertige Button wird zurückgegeben.
makeStatus() - Method in class PFrame
Erstellen der Statuszeile
dabei wird ein Label erzeugt der Hintergrund auf weiß gesetzt und die Schrift auf "Arial Größe 12" gesetzt
maxSpalte(Spieler, Spieler) - Method in class KI
Beste Spalte
Die Methode maxSpalte errechnet zur aktuellen Spielsituation den Zug, welcher das beste Ergebnis erzielt.
Der Rückgabewert setzt sich aus dem Wert dieser Spalte (multipliziert um 100) und der Spaltennummer (dazuaddiert) zusammen.
maxZug(int, Spieler, Spieler) - Method in class KI
Bester Zug
Die Methode maxZug errechnet zur aktuellen Spielsituation den Zug, welcher voraussichtlich, für die Zukunft gesehen, der beste Zug sein wird.
Dazu werden rekursiv Steine gesetzt und die Ergebnisse bewertet.
Die Anzahl der gesetzten Steine ist dabei von der Schwierigkeitsstufe abhängig.
mouseClicked(MouseEvent) - Method in class Arena
Maustaste geclickt
mouseEntered(MouseEvent) - Method in class Arena
Mauszeiger in "kritischen" Bereich hinein bewegt
mouseExited(MouseEvent) - Method in class Arena
Maustaste aus "kritischem" Bereich heraus bewegt
mousePressed(MouseEvent) - Method in class Arena
Maustaste gedrückt
mouseReleased(MouseEvent) - Method in class Arena
Maustaste losgelassen

N

n - Variable in class Feldelement
y-Koordinate des Spielsteins
Name - Variable in class Spieler
Spielername
neuerStein - Variable in class Spieler
ein Spielstein - siehe Klasse Feldelement

O

OptKI - class OptKI.
OptKI ist ein JPanel, welches den Slider für die Einstellung der Rekursionstiefe der KI enthält.
OptKI() - Constructor for class OptKI
Erzeugen des SliderPanels
OptSpieler - class OptSpieler.
OptSpieler ist ein JPanel, welches alle Einstellungsoptionen die für den Spieler notwendig bereitstellt.
OptSpieler() - Constructor for class OptSpieler
Spieleroptionen erzeugen
Hier werden die Spieleroptionen, wie die

Einstellung der Namen der Spieler Festlegung des Spielertyps (Human/KI)

in Form von 2 PTextfields und 2 JCheckbox zusammengefasst zu einem JPanel bereitgestellt.

P

PButton - class PButton.
Der PButton
ist ein Button für die PToolbar des PFrames.
PButton(String, String, String, String) - Constructor for class PButton
Beim Erstellen eines neuen PButton werden dem neuen JButton 3 Icons zugeordnet.
Dann wird der ToolTip eingesetzt, weitere grafische Einstellungen werden vorgenommen und zu guterletzt wird der Button aktiviert.
PCAdapter - class PCAdapter.
Der PComponent Adapter
ist ein Component Adapter, der verschiedene Aktionen ausführt, wenn das entsprechende Component bewegt, in der Größe verändert, angezeigt oder versteckt wird.
PCAdapter() - Constructor for class PCAdapter
 
PFrame - class PFrame.
Das PFrame
ist ein JFrame, also das Fenter, welches das Spielfeld enthält.
PFrame(int, int) - Constructor for class PFrame
Das PFrame mit Spielfeld
Beim Erzeugen eines PFrames, erhält man ein JFrame mit 3 Elementinhalten:
der PToolbar mit den Buttons dem Begrüßungs-Bildschirm PGreeting die Statusleiste
Das Fenster wird dann auf Minimalgröße "gepackt"
PGreeting - class PGreeting.
Der PGreeting Begrüßungsbildschirm
ist ein JPanel mit einem darin enthaltenen Bild
PGreeting(String) - Constructor for class PGreeting
Beim Erstellen eines PGreetings wird ein JLabel erzeugt, mit einer .gif-Grafik gefüllt und in das JPanel eingehangen.
Player1 - Static variable in class VierGewinnt
 
Player2 - Static variable in class VierGewinnt
 
propertyChange(PropertyChangeEvent) - Method in class PToolBar
Ausrichtung der Toolbar geändert
Hier wird gecheckt, ob die Toolbar vertikal oder horizontal ausgerichtet werden sollte.
Die Methode wird immer dann aufgerufen, wenn sich die Ausrichtung der Toolbar ändert.
PTextField - class PTextField.
Das PTextField ist das Textfeld, welches die Einstellung des Spielernamens ermöglicht.
Es stellt zur vereinfachten Identifizierung einen Bezeichner in Form eines Integerwerts zur Verfügung
PTextField(int, String, int) - Constructor for class PTextField
Beim Erzeugen des Textfelds wird der super()- Konstruktor aufgerufen um den Namen hineinzusetzen und die Breite festzulegen
PToolBar - class PToolBar.
Die PToolbar ist die Toolbar, die die Steuerung des Programms ermöglicht.
Sie stellt mehrere Buttons zur Verfügung, mit denen man unter anderem das Spiel starten, beenden oder die Einstellungen verändern kann.
PToolBar() - Constructor for class PToolBar
Beim Erzeugen der Toolbar wird die Hintergrundfarbe eingestellt, und der PropertyChangeListener, der checkt, ob die Toolbar vertikal oder horizontal dargestellt wird, hinzugefügt.
PWinListener - class PWinListener.
WindowListener für das PFrame
PWinListener() - Constructor for class PWinListener
 

R

rotBeginnt - Static variable in class PFrame
Rot beginnt
initialisiert mit true
rotBeginnt() - Method in class Arena
Player 1 fängt an.
rows - Variable in class ArenaData
 
run() - Method in class Arena
Computer übernimmt nächsten Zug.
Dies ist die eigentliche Ausführung des Computerzugs, der Teil, der in einem eigenen Thread läft.

S

setCellDimension(int, int) - Method in class Arena
Zellengröße setzen.
Hiermit kann man die Zellengröße der Tabelle neu setzen.
setCellEditable(boolean) - Method in class ArenaData
Zellen in der Tablle editierbar machen und sperren
setJavaLookAndFeel() - Static method in class WindowUtilities
Stellt das LAF auf CrossPlatform-like LAF
setMetalLookAndFeel() - Static method in class WindowUtilities
Stellt das LAF auf Metal-like LAF
setMotifLookAndFeel() - Static method in class WindowUtilities
Stellt das LAF auf Motif-like LAF
setNativeLookAndFeel() - Static method in class WindowUtilities
Stellt das LAF auf System-like LAF
setPanelSize(int, int) - Method in class Arena
Panelgröße neu setzen.
setStatus(String, int) - Method in class PFrame
Statuszeile setzen
dabei wird der Text und eventuell die Farbe des Schriftzugs der Statuszeile neu gesetzt
setTSize(int, int) - Method in class Arena
Neue Größe der Arena festlegen .
Dabei wird die Tabelle komplett gelöscht, eine neue Breite angegeben und anschliessend werden die neuen Spalten eingesetzt
setValueAt(Object, int, int) - Method in class ArenaData
Abändern des Icons in einer bestimmten Zeile, incl.
setWidth(int) - Method in class ArenaData
Setzt eine neue Spaltenanzahl des Spielfelds fest.
dabei werden auch die Tabellenspalten neu benannt und die Tabelle wird benachrichtigt, dass sich die Struktur geändert hat.
setWindowsLookAndFeel() - Static method in class WindowUtilities
Stellt das LAF auf Windows-like LAF
setzeStein(int) - Method in class Spieler
abstrahiert das Setzen eines Steins und überprüft ob Stein überhaupt gesetzt werden kann
showFor(int) - Method in class SplashScreen
stellt den SplashScreen für einige Zeit auf dem Bildschirm dar.
Dabei wird das JWindow eingestellt und sichtbar gemacht, der Thread für int millis (Zeit in Millisekunden)"eingeschläfert" und danach das Window wieder ausgeblendet.
sizeX - Static variable in class PFrame
Breite des Spielfelds
initialisiert mit 7
sizeY - Static variable in class PFrame
Höhe des Spielfelds
initialisiert mit 6
Spiel - Static variable in class VierGewinnt
 
Spieler - class Spieler.
Diese Klasse repräsentiert einen Spieler.Hier befinden sich Methoden die den einzelnen Spieler direkt betreffen Wie z.B.
Spieler(String, int) - Constructor for class Spieler
Erzeugen eines Spielers mit Namen und Typ (Spielerfarbe)
Spielfeld - class Spielfeld.
Diese Klasse ist eine abstrakte Form des Spielfeldes mit Methoden zur &uunl;berprüfung dessen
Spielfeld(int, int) - Constructor for class Spielfeld
Das Spielfeld besteht aus Methoden die eine zusammenfassende Rolle zur Überprüfung des Geschehens übernehmen.
SpielOptionen - class SpielOptionen.
 
SpielOptionen() - Constructor for class SpielOptionen
Erzeugen des Options- JPanel mit allen Einstellungen zum Spiel
SpielStein - class SpielStein.
SpielStein - Klasse
erzeugt das Objekt vom Typ SpielStein, welches ein Icon vom Typ ImageIcon, die Breite des Objekts und den Status dessen enthält.
SpielStein(ImageIcon, int, int) - Constructor for class SpielStein
 
SplashScreen - class SplashScreen.
Der SplashScreen stellt ein kleines Gimmick für eigene Programme, welche unter Swing laufen, dar.
SplashScreen(String, String, String) - Constructor for class SplashScreen
Im Konstruktor wird der SlashScreen zusammengestellt.
Dabei wird ein JPanel contentPane erstellt, in das die einzelnen Elemente, wie Überschrift, Unterschrift und Bild eingehangen werden.
Anschliessend wird das contentPane gesetzt und das Fenster kann mit showFor() sichtbar gemacht werden.
startGame() - Method in class Arena
Spiel starten.
stateChanged(ChangeEvent) - Method in class OptKI
Wert wurde geändert Dieser ChangeListener setzt beim Verändern des Sliders die KI neu
stateChanged(ChangeEvent) - Method in class SpielOptionen
Ist der Changelistener, welcher die Veränderung der Slider überwacht
Strength - Static variable in class VierGewinnt
 

T

ToggleArena() - Method in class PFrame
Spielfeld anzeigen
dabei wird der Optionsdialog aus dem contentPane entfernt und das Spielfeld in das contentPane eingefügt
Anschliessend wird das contentPane aktualisiert und das Spiel gestartet
ToggleOptions() - Method in class PFrame
Optionsdialog anzeigen
dabei wird die GameArena aus dem contentPane entfernt und das JPanel vom Typ SpielOptionen in das contentPane eingefügt
Anschliessend wird das contentPane aktualisiert
toolBar - Variable in class PFrame
Die Toolbar
Typ - Variable in class Feldelement
Spielertyp für den Spieler am Zug wird 1 den Gegenspieler -1 verwendet ein nicht belegtes Feld hat den Typ 0
Typ - Variable in class Spieler
Spielertyp: dient zur Unterscheidung welches Feld mit welchem Stein belegt oder auch gar nicht belegt ist

U

ueberpruefeZug(Feldelement, Spieler) - Method in class Spielfeld
führt Spielermethoden aus und gibt die Anzahl der Steine zurück welche beieinanderliegen
ueberpruefeZugKI(Feldelement, Spieler) - Method in class Spielfeld
ueberpruefeZugKI
Diese Methode wird für die KI benötigt, da sie erkennt, ob eine Reihe noch erweiterbar ist oder auf dem gegebenen Platz nicht mehr vervollständigt werden kann.
UpdateFrame() - Method in class PFrame
Update des Frames
dabei wird ausgeführt:
SwingUtilities.updateComponentTreeUI();
ist nötig, z.Bsp.
UpdateTableDimensions() - Method in class Arena
Tabellengröße aktualisieren.
Mit Hilfe dieser Methode kann man, zum Beispiel nach einer Änderung der Spalten- oder Zeilengröße, die Größe des umschliessenden ScrollPane neu setzten.
updateZ() - Method in class Spieler
Aktualisiert die Höhe des Spielfelds nach jedem neuen Spiel

V

VierGewinnt - class VierGewinnt.
VierGewinnt() - Constructor for class VierGewinnt
 

W

windowClosing(WindowEvent) - Method in class PWinListener
Programm beenden, wenn Fenster geschlossen wird
WindowUtilities - class WindowUtilities.
Swing Vereinfachungen
unter anderem auch LookAndFeel(LAF)- Einstellungen
WindowUtilities() - Constructor for class WindowUtilities
 

Z

z - Variable in class Spieler
Hilfsvariable - Laenge des Spielfeldes
Z - Variable in class Spielfeld
Höhe des Spielfeldes

A B C D F G I K M N O P R S T U V W Z