Models (scio.models)

class scio.models.Category(*args, **kwargs)

Die Kategorien für Fragen und Bilder (Natur, Sport, Berufe und Technik, …)

Felder:
  • name - (char30) Name der Kategorie

  • unsplash_topic - (char30, nullable) Unsplash-Topics durch ; getrennt

  • unsplash_search - (char50, nullable) Unsplash-Suchbegriffe durch ; getrennt

class scio.models.Image(*args, **kwargs)

Die zu den Fragen passenden Bilder. Um Duplikate zu vermeiden, wird die Unsplash-ID gespeichert. Aufnahmeort und Beschreibungstext werden für Bildunterschriften gespeichert, die ich aber aufgrund der niedrigen Qualität der Texte nicht implementiert habe.

Felder:
  • unsplash_id - (char20) Unsplash-ID (z.B. )

  • category - (Category) Kategorie

  • url - (char150) Bild-URL

  • location - (char50, nullable) Aufnahmeort

  • text - (char150, nullable) Beschreibungstext

class scio.models.Question(*args, **kwargs)

Fragen bestehend aus Kategorie und Text.

Felder:
  • category - (Category) Kategorie

  • text - (char200) Fragetext

class scio.models.Game(*args, **kwargs)

Als ID des Spiels wird ein HashID-Feld verwendet, um den 7stelligen Spielcode zu erhalten, mit dem man dem Spiel beitreten kann. Zudem wird das Erstelldatum gespeichert, um alte Spiele löschen zu können.

Felder:
  • id - (HashID) Spiel-ID als 7stelliger Code

  • created - (DateTime) Erstelldatum

  • num_rounds - (int) Anzahl Runden/Spieler

class scio.models.Player(*args, **kwargs)

Spieler werden mit ihrem Namen, dem Spiel und ihrer Punktzahl gespeichert.

Felder:
  • id - (HashID) Spieler-ID als 7stelliger Code

  • name - (char30) Spielername

  • game - (Game) Spiel

  • score - (int) Punktzahl

class scio.models.Round(*args, **kwargs)

Die Runde werden beginnend bei 1 durchnummeriert. Zudem wird die Phase der Runde (Auswahl, Abstimmung, Auswertung) gespeichert. Jede Runde ist ein anderer Spieler Kandidat, dies muss also ebenfalls pro Runde gespeichert werden. Zudem werden die 4-5 Bilder und die Frage gespeichert.

Felder:
  • game - (Game) Spiel

  • n - (int) Nummer der Runde

  • phase - (int) Phase (0-3)

  • candidate - (Player) Kandidat

  • images - (Image[]) 4-5 Bilder

  • question - (Question) Frage

class scio.models.Guess(*args, **kwargs)

Ein Tipp von einem Spieler in einer Runde.

Felder:
  • player - (Player) Spieler

  • round - (Round) Runde

  • guess - (char30) Tipp (Bild-IDs durch Kommas getrennt)