Neu: Direkter Start mit Java Web Start!
Wenn Java Web Start installiert ist, kann hier xonix direkt gestartet werden.
xonix ist ein Geschicklichkeitsspiel, bei dem mit einer Spielfigur Flächen eines Spielfeldes abgeschnitten werden müssen, wobei andere sich bewegende Spielfiguren dieses mehr oder weniger erschweren. Diese Spielidee existiert inzwischen für verschiedene Plattformen, ich habe Versionen für OS/2® und die JavaTM Programmiersprache erstellt. Die OS/2 (Presentation Manager) Version wird nicht weiter unterstützt und ist nicht ganz vollständig. Die zur Zeit entstehende Java Version nutzt natürlich auch OS/2 als Entwicklungs- und Testplattform.
Eine Java Laufzeitumgebung (JRE) für OS/2 gibt es bei IBM. Für andere Betriebssysteme ist sie bei Sun ebenfalls kostenlos erhältlich bzw. es gibt dort eine Liste der Portierungen und Bezugsquellen.
Zur graphischen Ausgabe nutze ich die Swing Klassenbibliothek, die Bestandteil der Java Foundation Classes (JFC) ist und von Sun freundlicherweise kostenlos zur Verfügung gestellt wird. Sie ist bereits Bestandteil des JDK 2 (früher 1.2 genannt) und muß für JDK 1.1.x zusätzlich installiert werden. Swing ist Bestandteil des xonix Installationspaketes.
Mit den Kursortasten wird der rote Spieler gesteuert. Ziel ist es, von der weißen Fläche Stücke abzuschneiden. Wenn das zu 75 % erreicht ist, kommt man in die nächste Spielstufe. Dabei erhöht sich die Schwierigkeit durch zusätzliche grüne und gelbe Spielfiguren. Bei Spielstart stehen mehrere rote Spielfiguren zur Verfügung, was auch im Statusfeld angezeigt wird. Durch folgende Ereignisse verliert man eine Spielfigur:
Nachdem eine weiße Fläche abgeschnitten wurde, wird der Punktestand angepaßt. Die vergebenen Punkte sind abhängig von
Eine Liste der erreichten Punktzahlen ist aus dem Menü aufrufbar.
Diese bleibt auch nach dem Spielende erhalten, die Werte werden in
einer externen Datei gespeichert. Dazu wird
im aktuellen Verzeichnis eine Datei xonix_hs1.dat angelegt.
Deshalb sollte im Mehrnutzerbetrieb darauf geachtet werden, daß
das aktuelle Verzeichnis beim Aufruf von xonix immer gleich ist und
jeder Nutzer dort Dateien lesen und schreiben darf.
Das Dateiformat wird vermutlich noch geändert, ebenso der
Dateiname. Deshalb ist zu erwarten, daß zukünftige Versionen
die alten Punktstände nicht unbedingt lesen werden können.
(Schließlich ist das hier nur ein Vorabversion) ;-) ).
3. Testversion
Diese vorliegende Version ist eine Testversion, d.h. eine endgültige Version ist noch nicht fertig. Mir sind noch einige Fehler bekannt, auch habe ich noch einige Ideen für eine Weiterentwicklung. Aus diesem Grund ist diese auch nur begrenzt lauffähig, nach einem gewissen Datum ist der Aufruf nicht mehr möglich. Spätestens dann ist es Zeit, sich nach einer neueren Version zu erkundigen. :-) Das Ablaufdatum ist im Spiel im Informationsdialog ersichtlich. Die endgültige Version wird diese Einschränkung nicht mehr haben, damit soll nur verhindert werden, daß fehlerhafte Testversionen längere Zeit in Umlauf sind.
Hinweise zum Bezug von xonix gibt es auf einer gesonderten Seite. Hier sind auch Informationen zur aktuellen Version verfügbar.
Für die xonix Klassen im jar-Archiv existiert eine pgp-Unterschrift, damit kann jeder überprüfen, ob die vorliegende Datei wirklich von mir stammt. Das ist aber nicht zu verwechseln mit der Signierung von jar-Dateien für Applets, was ich aber sicher später noch einführen werde.
Neu: Direkter Start mit Java Web Start!
Wenn Java Web Start installiert ist, kann hier xonix direkt gestartet werden
Alle notwendigen Komponenten sind in einem Archiv zusammengepackt. Dieses Archiv gibt es in zwei Varianten:
Nach dem Auspacken des Installationsarchives liegt eine Datei xonix.jar vor (bei Archiv mit Swing auch swingall.jar), die die Applikation enthält. Zum Start von xonix sind beide Dateien in den CLASSPATH mit aufzunehmen, die zu startende Klasse heißt xonix.Xmain. Ein Aufruf unter Unix kompatiblen Betriebssystemen lautet beispielsweise:
java -classpath ./swingall.jar:./xonix.jar:$CLASSPATH xonix.Xmain
unter OS/2 und Windows:
java -classpath .\swingall.jar;.\xonix.jar;%CLASSPATH% xonix.Xmain
oder für Java 2
java -jar xonix.jar
Es ist auf korrekte Groß- und Kleinschreibung zu achten.
java "-Dsize=5" -classpath .\swingall.jar;.\xonix.jar;%CLASSPATH% xonix.Xmain
Die Anführungsstriche habe ich eingefügt, da einige Shells das Gleichheitszeichen ansonsten interpretieren.
xonix kann frei genutzt und kopiert werden, solange dafür keine Entgelte verlangt werden. Ich behalte mir das Recht vor, die Bedingungen für zukünftige Versionen zu ändern. Eine Gewähr für irgendwelche Funktionen übernehme ich nicht, jegliche Haftung ist ausgeschlossen. Sollte jemand mit diesen Bedingungen nicht einverstanden sein, so soll er die Kopie der Software auf seinem System vernichten und auf die Benutzung verzichten.
THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS `AS IS' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Von diesen Bedingungen unabhängig sind die Benutzungs- und Lizenzbedingungen für die Swing Bibliothek, die von Sun in einem gesonderten Dokument beschrieben sind.
Mitte der 80er Jahre spielten wir an der Uni ab und zu ein Spiel, dessen Grundidee die gleiche war. Ich kann mich gar nicht mehr erinnern, ob das unter CP/M oder schon unter DOS war. Vor einigen Jahren griffen Freunde von mir die Idee wieder auf und programmierten es komplett neu - xonix war geboren. Jörg Wunsch und Torsten Schönitz erstellten die Quellen für eine X11 und Mac Version, die auch die Grundlagen für die hier vorgestellten Versionen sind. Deshalb vielen Dank an die beiden, daß sie mir das Programm zur Verfügung stellten. Ich erhielt also die Quellen und machte daraus eine OS/2 Version. Zur graphischen Ausgabe wurden die Presentation Manager Funktionen direkt angesprochen. Als eifriger Tester bemühte sich mein (damals kleiner) Freund Michael Kunz. An der OS/2 Version wurde aber nicht weiter gebastelt, es gibt dazu auch keine Dokumentation.
Ende letzten Jahres entschied ich mich für eine Neuauflage von xonix, diesmal um einige Funktionen in Java zu testen. Diesmal mußte das Programm komplett neu geschrieben werden, wobei ich mich aber an die Struktur von Jörg und Torsten anlehnte und Teile ohne große Änderungen übernahm. Auch hier wurde als Entwicklungssystem wieder OS/2 verwendet, wobei aber auf eine plattformunabhängige Programmierung Wert gelegt wurde.
Ich würde mich über Hinweise und Verbesserungsvorschläge zu xonix freuen. Diese nehme ich gerne unter <frank@sax.sax.de> entgegen, manchmal bin ich auch pinkyf im IRCNet auf #os/2ger.
Außerdem habe ich eine kleine Mailingliste erstellt, auf der ich über Neuigkeiten zu xonix informieren werde. Bei Interesse genügt ein Mail an mich.
Auf Warenzeichen wird in der Dokumentation nicht extra hingewiesen. Das Fehler eines solchen Hinweises bedeutet also nicht, daß der Name frei von Rechten Dritter und verwendbar ist.
Sun, Sun Microsystems, Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries.