Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

DumbergerL/uno-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Uno - Server

Der Uno Server ist eine digitalisierte Version von UNO. Über die HTTP Schnittstelle können Spieler an der Runde teilnehmen und Karten ablegen.

Uno-Bot Challenge

Die Uno-Bot Challenge ist ein kleiner Wettbewerb, bei dem innerhalb von 2h ein Uno Bot programmiert werden muss. Die Bots die erstellt wurden treten dann gegeneinander an. Der beste Bot gewinnt.

Teilgenommene Bot's

  • staubichsauger (Programmiersprache: Go)
  • dumbergerl (Programmiersprache: JavaScript / Node.js)
  • revilo196 (Programmiersprache: Go)

API Route

Methode Endpunkt Parameter Beschreibung
POST /join {"name": "Hans-Gert"} Bot “registrieren” mit Spielername; als Rückgabe wird die für die Authorisierung notwendige Player_id (hash) zurückgegeben
GET* /games {"my_turn": true/false, "hand": [ handkarten, …], "other_players": [{"player_name": …, "card_count": …}], "discarded_card": { karte },} Gibt den aktuellen Status der Spielrunde zurück
POST* /games {"play_card": { karte }/null } Legt eine Karte auf den Ablagestapel (nur möglich, wenn man am Zug ist); bei null wird eine Karte gezogen; wird eine Wildcard gespielt muss in Color die Wunschfarbe angegeben werden.

* Authentifizierung notwendig im Query Parameter: ?id=[hashwert aka player_id]

{
    "color": RED || BLUE || GREEN || YELLOW,
    "value": ZERO || ONE ... || NINE || DRAW_TWO || REVERSE || SKIP || WILD || WILD_DRAW_FOUR 
}

Uno Engine

Die Uno Engine hat ein Problem mit der Karte WILD-YELLOW, deshalb ist der Quellcode kopiert und angepasst COMMIT