alea iacta est

closeDieser Beitrag gehört zu der Artikelserie alea iacta est

Auch dieses Jahr wieder macht das Linux-Magazin einen Programmierwettbewerb. Diesmal ist ein binärer Spieler gefordert, welcher sich in einem Würfelduell mit anderen Mitstreitern messen kann.

Die Vorgaben dabei sind ganz einfach; der Bot muss schlussendlich mit einem Make-File gestartet werden können und auf einem Ubuntu 10.04 Rechner laufen. Insofern kann die Programmiersprache also fast frei gewählt werden. Der Spielablauf wird dabei vom Server wettbewerb.linux-magazin.de über ein für menschen-lesbares TCP-Protokoll gesteuert.

Das ganze Spiel an sich ist relativ einfach gehalten. Ein Bot kann solange Würfeln, wie er keine 6 wirft oder das Spiel nicht speichert. Alle Punkte werden dabei immer zusammengezählt.
Sobald jedoch eine 6 geworfen wird, so werden alle Punkte bis zum letzten Save wieder abgezogen, und der Spielzug ist beendet.
Es gilt also, seinem Bot soviel Intelligenz einzuhauchen, damit dieser das optimale Mittelmass zwischen „Roll“ (würfeln) und „Save“ (speichern) findet.

Meinen Bot habe ich in Bash-Script begonnen und bin bislang damit ganz gut gefahren, da es sich über ein virtuelles Device ohne viel Programmieraufwand problemlos via TCP mit einem beliebigen Server kommunizieren lässt:

1
echo "alea iacta est" > /dev/tcp/$server/$port

Wer es noch einfacher will, und sich überhaupt nicht um jegliche Kommunikation zwischen Server und Bot bemühen will, der kann sein Script via Netcat starten und alle Kommandos über die Standard-Ein- und Ausgabe verwalten:

1
nc -e bot.sh wettbewerb.linux-magazin.de 3333

Auch wer auf etwas komplexeres Zurückgreifen will, der findet auf der offiziellen Webseite bereits Beispiele in PHP und Ruby, welche man nur noch mit Intelligenz füllen muss.

Ein weiteres sehr gutes PHP-Beispiel gibt es auch auf blog.oncode.info, dank welcher Seite ich überhaupt auf den Wettbewerb aufmerksam geworden bin.

Noch bis zum 12. September ist das Spiel für jedermann und jedefrau geöffnet! Mögen die Würfel entscheiden 😉

7 Kommentare bei „alea iacta est

  1. Pingback: deesaster.org
  2. Pingback: onli blogging
  3. Pingback: Wutzara

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.