Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m321:kitten:bot [2025/03/10 11:54] msutermodul:m321:kitten:bot [2025/03/18 10:58] (aktuell) – [Request] msuter
Zeile 14: Zeile 14:
 Beim Start registriert der Socket-Controller deinen Bot beim Clowder-Service. Beim Start registriert der Socket-Controller deinen Bot beim Clowder-Service.
 Als Response erhält er einen Port. Als Response erhält er einen Port.
 +
 +=== Request ===
 +  * action: 'MEOW'
 +  * ip: IP-Adresse des Bots
 +  * name: Name des Bots
 +  * type: 'bot'
 +
 +
 +=== Response ===
 +  * Port: Eine zufällige Portnummer. Unter dieser Portnummer muss der Bot einen Socket öffnen und auf Nachrichten warten.
 +
 Danach öffnet er einen Socket mit diesem Port und hört dort auf die Nachrichten des Arena-Services. Danach öffnet er einen Socket mit diesem Port und hört dort auf die Nachrichten des Arena-Services.
  
Zeile 90: Zeile 101:
 Dein Bot ist solange am Zug, bis er keine Karte mehr spielt. Dein Bot ist solange am Zug, bis er keine Karte mehr spielt.
 Er wird also mehrmals hintereinander mit dieser Aktion aufgerufen. Er wird also mehrmals hintereinander mit dieser Aktion aufgerufen.
 +
 +Die Ausnahme ist, wenn dein Bot die Karte "Skip" ausspielt.
 +Nach dieser Karte macht es keinen Sinn, dass er weitere Karten spielt.
  
 ==== Request ==== ==== Request ====
Zeile 100: Zeile 114:
  
 ==== Response ==== ==== Response ====
-  * card: Name der auszuspielenden Karte **oder** "None"+  * card: Name der auszuspielenden Karte **oder** "NONE"
  
 ===== Aktionen der anderen Bots ===== ===== Aktionen der anderen Bots =====
Zeile 108: Zeile 122:
 ==== Request ==== ==== Request ====
   * action: "INFORM"   * action: "INFORM"
-  * card: Name der abgelegten Karte+  * event: "PLAY" oder "DRAW" 
 +  * card: Name der Karte
  
 === Beispiele === === Beispiele ===
 Ein Bot hat ... Ein Bot hat ...
   * ... eine Karte gespielt: ''{"botname": "cutekitty", "event": "PLAY", "data": "NORMAL", "action": "INFORM"}''   * ... eine Karte gespielt: ''{"botname": "cutekitty", "event": "PLAY", "data": "NORMAL", "action": "INFORM"}''
-  * ... eine Karte gezogen: ''{"botname": "cutekitty", "event": "DRAW", "data": null, "action": "INFORM"}''+  * ... eine Karte gezogen: ''{"botname": "cutekitty", "event": "DRAW", "data": "null", "action": "INFORM"}''
 ==== Response ==== ==== Response ====
   * ACK   * ACK
Zeile 122: Zeile 137:
  
 ==== Request ==== ==== Request ====
-  * action: "PLACE"+  * action: "DEFUSE"
   * decksize: Anzahl der Karten im Stapel   * decksize: Anzahl der Karten im Stapel
  
Zeile 164: Zeile 179:
  
 === Beispiel === === Beispiel ===
-''{"ranks": ["cutekitty", "randombot"], "action": "OVER"}''+''{"ranks": ["cutekitty", "randombot"], "action": "GAMEOVER"}''
  
 ==== Response ==== ==== Response ====
   * ACK   * ACK
  • modul/m321/kitten/bot.1741604046.txt.gz
  • Zuletzt geändert: 2025/03/10 11:54
  • von msuter