unter Linux:
java -classpath Fourwins.jar:icons.jar:sounds.jar VierGewinnt/Fourwins wine
unter Windows:
java -classpath Fourwins.jar;icons.jar;sounds.jar VierGewinnt.Fourwins
statt 'wine' kann man auch zwei Zahlen übergeben in der internen Darstellung (
die Zahlen sieht man in dem Programm links unten als m0 bzw. m1 ), dann wird
direkt mit dieser Spielstellung gestartet, falls es eine gültige Stellung
ist.
zurück zum Inhaltsverzeichnis
Fourwins.jar
Das Java-Programm mit Quellcode
icons.jar
Die Bilder (Logos, Kugeln, ...) zu VierGewinnt
sounds.jar
Die wav-Dateien für VierGewinnt
vier bzw. vier2
Shellskripte mit dem Programmaufruf für Linux/Unix.
Dem ersten muss man selbst die nötigen Parameter mitgeben.
Bei der Datei vier2 wird automatisch als Parameter wine mitgegeben. Denn
zu meiner Schande muss ich gestehen, dass die C-Programme nur für Windows
kompiliert sind. Deshalb muss man unter Linux den Windowsemulator als
Parameter übergeben.
vier.bat
Batchdatei mit dem Programmaufruf für Windows
vier.properties
Die benötigten Einstellungen werden in der Datei vier.properties gespeichert.
Nachfolgend ist der Inhalt einer Beispieldatei zusammen mit kurzen Erklärungen
aufgelistet:
logo=4Logo6.jpg Der Name des verwendeten Logos. vordergrundfarbe=-16776961 Farbe des Spielfeldes, wo nicht die Spielsteine gesetzt werden. sound=nein Ausgabe von kurzen wav-Dateien (bis jetzt: hallo, super und leb wohl). anzeige=ja Soll angezeigt werden, wer zur Zeit am gewinnen ist? LaF=0 Einstellung des LookAndFeel (Plattformspezifisches Aussehen der Komponenten). hintergrundfarbe=-3947561 Farbe der Fläche um das Spielfeld herum ordner=/home/stmu Voreinstellung für Ordner zum Laden/Speichern von Dateien vordergrundfarbe2=-16776961 Farbe des Spielfeldes, wo Spielsteine sein können. gewonnenfarbe=-16737536 Farbe für Markierung der Felder, auf denen gewonnen wurde. muster=-16777216 Farbe um das Logo herum, falls kein Muster gewählt wurde. farbe2=\ ROT Farbe für Spieler 2 dataDir=daten Verzeichnis mit der Bibliothek farbe1=\ GELB Farbe für Spieler 1 stufe2=10 Spielstufe für Computer 2 dataListe=,20,18,16,14,12,10,8,6,4,2, Anzahl Steine, bei denen Einträge in Bibliothek vorhanden sind. stufe1=9 Spielstufe für Computer 1 name2=Stefan Name von Spieler 2 name1=Tobias Name von Spieler 1
vier*.exe
Die Computergegner, die nicht auf die Bibliothek zugreifen.
Folgende Dateien werden in den verschiedenen Spielstufen benutzt:
vier1.exe -> Stufe 4 vier2.exe -> Stufe 5 vier3.exe -> Stufe 6 vierwine.exe -> Stufe 7, wobei zuvor noch ein paar Züge durchgetestet werden.Falls für eine Spielstufe die zugehörige Datei nicht vorhanden ist, wird diese Spielstufe im Menü aktiviert. Wenn eine Exception beim Ausführen auftritt, wird eine Meldung ausgegeben und die nächsttiefere Spielstufe ausgeführt.
daten:
Hier ist die gesamte Eröffnungsbibliothek gespeichert, die in Stufe 9 und 10
benutzt wird und zum Anzeigen des momentanen Spielstands.
Die Dateinamen geben dabei an, ob es sich um gespeicherte Siege (*s.dat),
Unentschieden (*u.dat) oder um Niederlagen (*n.dat) handelt. Zur Zeit werden
die Siege nicht gespeichert, da sonst noch mehr Platz gebraucht würde.
Der Dateiname zeigt außerdem, wie viele Steine in den Spalten 0-6 gesetzt sind
(z.B. sagt der Dateiname 0030200u.dat, dass in dieser Datei die Spielstellungen
gespeichert sind, bei denen 5 Steine gesetzt sind: 3 davon in der 2.Spalte und
2 in der 4.Spalte). Die Dateien befinden sich in dem Unterordner von daten der
aus den ersten zwei Zahlen des Dateinamens besteht (z.B. 0030200u.dat im Ordner
00).
Für eine Spielstellung mit n Steinen werden ((n-1)div8)+1 Bytes geschrieben. Die ersten n Bits stehen für weisse (Bit=0) und schwarze (Bit=1) Steine, die von links unten spaltenweise nach rechts oben das Spielfeld füllen. Die restlichen Bits werden ignoriert. In dem Beispiel von oben wird also ein Byte pro Spielstellung gebraucht, wobei allerdings nur die ersten 5 Bit relevant sind. Wenn mehrere Bytes benötigt werden, wird zuerst das untere Byte geschrieben.
Gespiegelte Spielstellungen werden nur einmal gespeichert und zwar in der Form, dass die Anzahl der Steine in der ersten Spalte >= der Anzahl der Steine der letzten Spalte ist. Bei Gleichheit wird die zweite mit der vorletzten Spalte verglichen usw. Natürlich müssen dann auch beim Auslesen die Spielstellungen gegebenenfalls erst noch gespiegelt werden.
beispiele:
In diesem Ordner sind, wie der Name schon sagt, Beispieldateien gespeichert.
zurück zum Inhaltsverzeichnis
Spielstufe Spielart
-1 Zufall 0,1,2,3 blindes Durchtesten der nächsten Züge 4,5,6 Aufruf von Programmdateien (vier1.exe bis vier3.exe) 7 Aufruf von vierwine.exe + vorheriges Durchtesten 8 Zugriff auf die Bibliothek + Zufall bei Niederlage + Stufe 3 9 verbesserter Zugriff auf die Bibliothek + Stufe 3 10 verbesserter Zugriff auf die Bibliothek + Stufe 8
zurück zum Inhaltsverzeichnis
Menü Spiel Neues Spiel N Zug vor V Zug zurück R Spielstand laden Strg-L Spielstand sichern Strg-S Pause/Fortsetzen P Datenverzeichnis Strg-D Beenden Strg-B Menü Computer1 Stufe0...Stufe9 Strg-0...Strg9 Menü Computer2 Stufe0...Stufe9 Alt-0...Alt9 Menü Einstellungen Einstellungen laden Strg-L Einstellungen sichern Strg-S Sound on/off Strg+Alt-S Farben tauschen Strg-T Spieler tauschen Alt-T Menü Hilfe Tip T Info F1 weitere Tastenbelegungen setzen in Spalte 1-7 1...7 zurück zum Inhaltsverzeichnis
Martin Kutrib und Jan-Thomas Löwe, die mir unheimlich viel Rechenzeit zur Verfügung gestellt haben, ohne die entweder das Programm immer noch rechnen würde oder ich inzwischen entnervt aufgegeben hätte.
Dominik Wagenführ, der seinen Rechner zuhause monatelang für dieses (sicherlich
unheimlich wichtige) Programm gequält hat. Außerdem muß ich ihm hoch anrechnen,
dass er mir geduldig zugehört hat und nicht weggelaufen ist, wenn ich mal
wieder 'interessante' Neuigkeiten von VierGewinnt berichtet habe. Der ein
oder andere Tip von ihm hat das Programm sicherlich verbessert.
Von Dominik stammen auch die C-Programme.
Leif Scriba, der vermutlich die Worte 'Vier gewinnt' nicht mehr hören kann, mir aber trotzdem geduldig zugehört und mir geholfen hat und hoffentlich noch ein paar DVD's brennt :-) .
Dominik und Leif haben beide die Oberfläche mehrmals getestet und dabei etliche Fehler gefunden.
Danke auch allen anderen, deren Geduld ich mit VierGewinnt in Anspruch genommen habe.
zurück zum Inhaltsverzeichnis