Links und Funktionen
Sprachumschaltung

Navigationspfad


Inhaltsbereich

RESTful Hanabi

RESTful Hanabi
Projekt: RESTful Hanabi
Autoren: Andreas Zhang, Annika Kilian, David Winderl



Zusammenfassung:

Hanabi ist ein kooperatives Kartenspiel bei dem die Spieler versuchen die Karten in der Reihenfolge 1-5 in der jeweiligen Farbe abzulegen. Details zu den Spielregeln finden sie auf https://www.brettspiele-magazin.de/hanabi/ . Die RESTful Hanabi Implementierung bietet den Vorteil Frontend und Backend zu entkoppeln, sodass das Backend unabhängig vom Frontend in Haskell programmiert werden konnte. Die verwendete Architektur löst sich von dem Gedanken Template Haskell zu verwenden, welches normalerweise für Webprogrammierung in Haskell verwendet wird. Das Team bediente sich den Konzepten von REST und benutzte für die Architektur zusätzlich Docker und MongoDB. Es soll möglich sein auf dem Webserver gegen andere ein Spiel zu spielen. Das wird über eine eindeutige GameID realisiert, die genutzt wird um einem Spiel, das von jemand anderem erstellt wurde beizutreten. Die Lobby stellt die Möglichkeit dar, Spiele zu erstellen und auf Mitspieler zu warten (bis sie teilnehmen). Zusätzlich bietet die Lobby eine Chat-Funktion um die Kommunikation zwischen den Spielern zu ermöglichen. Der Zustand eines Spiels wird auf einer Datenbank (in unserem Fall MongoDB) abgelegt. Somit kann ein Spiel auch unterbrochen und wieder aufgenommen werden. Der Server überprüft ob ein Spielzug gültig war und gibt ggf. einen Fehler an den Nutzer. Die Verwendung der eigenen Architektur beinhaltete anfangs eine höhere Komplexität (siehe Architektur und eigene Funktionen) im Gegensatz zur Verwendung von beispielsweise Yesod. Allerdings stellt sich diese Variante als echte Alternative heraus.

URLs

Artikelaktionen


Funktionsleiste