next up previous contents
Nächste Seite: Phutball Major Mode Aufwärts: Einführung Vorherige Seite: Lisp und Emacs-Lisp   Inhalt


Netzwerkprotokoll der Implementierung des Spielservers

Der Spielserver wurde von Dr. Waldmann bereits für einen Wettbewerb 2001 implementiert und generisch genug gehalten, um über diesen Server weitere Zwei-Personen-Spiele zu spielen.

Das Protokoll startet damit, dass der Client nach seinem Namen gefragt wird:

S: Wer_bist_du
C: Ich_bin "test"
Hierbei sind die von dem Server geschickten Zeilen mit einem ``S:'' gekennzeichnet, die Antwort des Client hingegen mit einem ``C:''. Diese Bezeichnung wird im Laufe diese Arbeit beibehalten.

Im Anschluss gibt der Server dem Client die Parameter des Spielfeldes bekannt:

S: Das_Spielfeld_ist (Sportplatz{breit=15,hoch=19,ball=H10})
C: OK
S: Die_Spielzeit_ist (Zeit{main=20,byoyomi=60,moves=3})
C: OK
S: Dein_Gegner_ist "Test-Gegner"
C: OK
S: Du_beginnst
C: OK

Hier werden dem Client die Art des Spiels (Sportplatz) sowie die Ausmasse des Spielfeldes sowie die Spielzeit mitgeteilt, und der Name des Gegners. Der Client bestätigt jeweils mit ``OK''. Schliesslich teilt der Server dem Client mit, ob er oder sein Gegner den ersten Zug machen darf.

Nachdem die allgemeinen Daten ausgetauscht wurden, fordert der Server die Spieler nun jeweils abwechselnd auf, einen Spielzug zu schicken.

S: Die_Restzeit_ist(Zeit{main=20,byoyomi=60,moves=3})
C: OK
S: Wo_ziehst_du

Jetzt hat der Client mit einem gültigen Zug zu antworten. Es exitieren zwei Arten von Zügen, Spieler setzen und Springen.

Es folgt ein Beispiel für das Setzen eines Spielers

C: Ich_ziehe (Place H9)
und für das Überspringen von Spielern:
C: Ich_ziehe (Jump [H10,H12])
Nachdem ein Spieler einen Zug abgeschickt hat, übermittelt der Server den Zug an den Gegenspieler, wonach dieser die Möglichkeit hat, einen Zug abzugeben.
S: Der_andere_zieht(Place H11)
C: OK
[7]


next up previous contents
Nächste Seite: Phutball Major Mode Aufwärts: Einführung Vorherige Seite: Lisp und Emacs-Lisp   Inhalt
Robert Hoehndorf 2002-08-22