Vor noch nicht ganz einem Monat war Einsendeschluss für den Wettbewerb vom Linux-Magazin, über welchen ich ja schon in den vorigen 3 Teilen zu genügen berichtet habe.
So ist es nun an der Zeit, meinen kompletten Bot einzusenden. Er wird zwar niemandem mehr beim Wettbewerb helfen, aber vielleicht will ihn ja sonst jemand missbrauchen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | #!/bin/bash #------------------------------------------------------------------------------ # Author: Patrick Schmid # Web: http://blog.encodingit.ch # Version: 1.1 # Changes: - Grundversion (13.8.10) # - Script umgestellt auf NC-Version (16.8.10) #------------------------------------------------------------------------------ # Umgebung festlegen name="encodingit" # mein Name active=0 # Nicht mein Zug zaehler=0 function play { # Spielfunktion meins=$1 # Meine Punktzahl umspeichern seins=$2 # Gegnerische Punktzahl umspeichern zaehler=$(( $zaehler+1 )) if [ $zaehler -gt 4 ] then # Minimal 3 Würfe vor erstem Speichern, dann if [ 10 -gt $(( 50-$meins )) ] # fehlt noch viel bis zum Sieg? then active=1 echo "ROLL Das reicht noch..." # würfeln else if [ $(( $meins-$seins )) -gt 5 ] then # Ich habe 4 Punkte mehr als Gegner, dann zaehler=0 # Zähler zurücksetzen active=0 # Zug beendet echo "SAVE Sicher ist sicher!" # Speichern else # sonst active=1 echo "ROLL Ich muss..." # würfeln fi fi else # sonst active=1 echo "ROLL Und los..." # würfeln fi } while read command a1 a2 a3 do case $command in HELO) echo "AUTH $name Ich bin bereit!" ;; TURN) play $a1 $a2 ;; THRW) if [ "$active" = "1" ] then if [ "$a1" = "6" ] then active=0 fi else if [ "$a1" = "6" ] then active=1 fi fi ;; WIN|DEF) exit 0 ;; *) echo "AUTH $name Ich bin bereit!" ;; esac done |
Ich weiss, die künstliche Intelligenz ist nicht überragend; wie es jedoch im Vergleich mit den anderen Mitstreitern aussieht, kann ich leider nicht sagen, vom Veranstalter habe ich bisher noch keine Rückmeldung, aber da wurde Magnus vom Linux Magazin wohl ein bisschen von den zahlreichen Einsendungen überrascht…
Trotzdem war es ein interessanter Wettbewerb, obwohl ich anmerken möchte, bei den prophezeiten Spielen, welche jeder Bot gegen einen Gegner spielt, entscheidet mehr der Zufall als eine ausgefeilte Programmierung. Ich weiss, ich suche nur eine Ausrede, falls ich nicht immer gewinne ![]()
Naja, es zählt ja der Spass dabei und meine Bash-Kenntnisse auffrischen war auch nicht das dümmste