- Offizieller Beitrag
Hi,
Kleine Spielerei von mir mal wieder ;). JazzChess ist eine Sammlung von Funktionen, um Schachvarianten (und auch normales Schach) umsetzen und spielen zu können. Eine Engine ist nicht implementiert und auch nicht geplant. Theoretisch wäre eine externe Engine aber zumindest bei klassischem Schach leicht einzubinden. Es ist als Mensch-gegen-Mensch-Spiel konzipiert.
Gestartet wird die jar-Datei auf der Kommandozeile per "java -jar JazzChess.jar". Danach habt ihr quasi einen eigenen Eingabeprompt mit den unten genannten Befehlen.
Befehle:
start/s [type] - startet Spiel vom Typ type
move/m [start] [end] - zieht von start nach end, z.B. move e2 e4, move g1 f3, move 0-0, move 0-0-0
show_moves/sm - zeigt die möglichen Züge des Spielers am Zug
notation/no short/long - stellt die Zugformatierung um
print/p - zeigt den Spielverlauf tabellarisch
board/b - zeigt den aktuellen Spielstand
random/r [n] - zieht n zufällige Züge
flip/f [black/white/current] - stellt die Sicht auf das Brett um
back/ba [n] - geht n Züge zurück
white/w [name] - setzt den Spielernamen von Weiß
black/bl [name] - setzt den Spielernamen von Schwarz
exit/e - beendet das Programm
Spieltypen:
classic (Bauernumwandlung und en passant fehlen, außerdem Remisanalysen)
giveaway (vollständig)
atomic (vollständig)
cylindric (vollständig)
960Chess (Rochade fehlt)
exstinction
twokings
strongking
frozenking
Weitere Spiele sind wie gesagt problemlos hinzuzufügen, Räuberschach und klassisches Schach laufen z.B. auf 95% gleichem Code, nur die Zugauswahl und die Spielabbruchbedingung sind überschrieben.
Was noch fehlt, ist ein Netzwerkmodus bzw. der Umbau der jar-Datei zu einem Netzwerkclient und die Programmierung eines einfachen Servers. Außerdem wäre eine GUI langfristig ganz nett. Mir macht beim Entwickeln die Konsolenausgabe aber deutlich weniger Ärger ;).
Getestet auf Windows und Linux.
Johannes