B Technischer Hintergrund zur App
B.1 Quellcode
Der Quellcode zur App steht unter einer offenen Lizenz unter https://github.com/heiko-etzold/nim-app zur Verfügung.
Da die App derzeit nur für iPadOS und macOS entwickelt wurde, bietet sich über den freien Quelltext die Möglichkeit, auch Versionen für andere Plattformen zu realisieren. Sollte diesbezüglich Interesse bestehen, freuen wir uns über eine Kontaktaufnahme über die entsprechende GitHub-Seite.
B.2 Übersetzungen
Um die App in möglichst vielen Sprachen anbieten zu können (vgl. Abschnitt 3.4), freuen wir uns über Ihre Mitarbeit bei der Übersetzung. Hierzu findet sich unter https://github.com/heiko-etzold/nim-app eine Anleitung, wie die entsprechenden Texte für eine neue Sprache erzeugt werden können.
B.3 Datenschutz und Archiv-Dateien
Die App speichert alle Informationen lokal auf dem iPad/Mac und besitzt keine Verbindung zum Internet. Dieser Abschnitt beschreibt, welche Daten des Archivs in welcher Form auf dem iPad/Mac gespeichert und ggf. beim Speichern/Teilen des Archivs (siehe Abschnitt 3.3) weitergegeben werden. Werden im Einstellungsbildschirm der App keine Namen eingegeben bzw. wird in den globalen Einstellungen die Anonymisierung der Namen aktiviert, werden keinerlei personenbezogene Daten von der App gespeichert bzw. beim Speichern/Teilen des Archivs weitergegeben.
Das Nim-Archiv wird als JSON-Datei4 mit der Endung .nim gespeichert und kann mit einem einfachen Texteditor betrachtet (und auf Wunsch auch bearbeitet) werden.
Im Folgenden ist der exemplarische Aufbau einer solchen Datei mit zwei Spielverläufen dargestellt:
[
{
"leftPlayerName" : "Maxi",
"rightPlayerName" : "Kim",
"leftPlayerColor" : "red",
"rightPlayerColor" : "blue",
"winMode" : "lastWins",
"numberOfMaximalCircles" : 4,
"listOfColors" : [
"red",
"red",
"blue",
"blue",
"blue",
"blue",
"red"
],
"gameNumber" : 1
},
{
"leftPlayerName" : "",
"rightPlayerName" : "Flo",
"leftPlayerColor" : "orange",
"rightPlayerColor" : "green",
"winMode" : "lastLoses",
"numberOfMaximalCircles" : 2,
"listOfColors" : [
"green",
"green",
"orange",
"green",
"orange"
],
"gameNumber" : 2
}
]Die Zeilen
1und36rahmen die Liste an Spielverläufen ein.Die Zeilen
2und19rahmen das erste Spiel ein. Nach jedem Spiel (außer dem letzten) kommt ein Komma (siehe Zeile19).Unter
leftPlayerNameundrightPlayername(Zeilen3und4) werden die Namen der Spieler/-innen abgespeichert. Wird kein Name gespeichert (dies entspricht dem Wert"", siehe Zeile21), so wird beim Erkunden des Spiels Links oder Rechts als Name dargestellt. In den globalen App-Einstellungen kann eingestellt werden, dass die Namen beim Export nicht gespeichert werden (siehe Abschnitt 3.4).Unter
leftPlayerColorundrightPlayerColor(Zeilen5und6) werden die Spielfarben der Spieler/-innen abgespeichert. Folgende Werte sind möglich:red: rotblue: blauyellow: gelbgreen: grünorange: orangepurple: violett
Wird ein anderer Wert eingetragen, erfolgt beim Öffnen der Datei mit der Nim-App eine Fehlermeldung.
Unter
winMode(Zeile7) wird der Gewinnmodus abgespeichert. Folgende Werte sind möglich:lastWins: letztes Feld gewinntlastLoses: letztes Feld verliert
Wird ein anderer Wert eingetragen, erfolgt beim Öffnen der Datei mit der Nim-App eine Fehlermeldung.
Unter
numberOfMaximalCircles(Zeile8) wird die maximale Anzahl an gleichfarbigen Plättchen gespeichert, die hintereinander gelegt werden dürfen. Der Wert muss1,2,3oder4betragen, ansonsten erfolgt beim Öffnen der Datei mit der Nim-App eine Fehlermeldung.Unter
listOfColors(Zeilen9bis17wird die Liste der Farben abgespeichert, die die im Spiel gelegten Plättchen haben. Die Anzahl der Farben entspricht dann der Spielfeldlänge. Auch hier führen fehlerhaft angegebene Farben zu einer Fehlermeldung beim Öffnen der Datei mit der Nim-App.Unter
gameNumberwird eine Nummer abgespeichert, um die Reihenfolge der Spiele nachvollziehen zu können. Bei jedem neuen Spiel, das in das Archiv gelegt wird, wird eine höhere Nummer als bei den vorherigen Spielen gewählt. Dies ist notwendig, um die Spiele im Archiv chronologisch ordnen zu können (siehe Abschnit 3.3).