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:46] msutermodul:m321:kitten:bot [2025/03/18 10:58] (aktuell) – [Request] msuter
Zeile 4: Zeile 4:
  
 ===== Aufbau ===== ===== Aufbau =====
 +[[https://github.com/templates-python/m321-kitten-local.git|GitHub-Repository]]
 +
 Dein Bot besteht aus zwei Teilen: Dein Bot besteht aus zwei Teilen:
  
Zeile 12: 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 88: 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 98: 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 106: 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 120: Zeile 137:
  
 ==== Request ==== ==== Request ====
-  * action: "PLACE"+  * action: "DEFUSE"
   * decksize: Anzahl der Karten im Stapel   * decksize: Anzahl der Karten im Stapel
  
Zeile 162: Zeile 179:
  
 === Beispiel === === Beispiel ===
-''{"ranks": ["cutekitty", "randombot"], "action": "OVER"}''+''{"ranks": ["cutekitty", "randombot"], "action": "GAMEOVER"}''
  
 ==== Response ==== ==== Response ====
   * ACK   * ACK
  • modul/m321/kitten/bot.1741603594.txt.gz
  • Zuletzt geändert: 2025/03/10 11:46
  • von msuter