Score
initialize
Score selbst ist ein Morph. Mittels addMorph werden außerdem der pointsMorph sowie der starsMorph als Submorphs in den Score-Morph eingefügt.
addPoints: aNumber
Fügt die in aNumber übergebene Anzahl von Punkten zu points hinzu. Ruft updatePointsMorph und updateStarsMorph auf.
addPointsFromOrder: anOrder
Bekommt eine abgeschlossene Order in anOrder übergeben und berechnet aus dieser eine Punktzahl. Beispielsweise könnte die Anzahl an Punkten für schnelle Abgaben (siehe timeLeft und totalTime) und Abgaben mit vielen baseItems in dem item der Order höher sein als andernfalls. Ruft anschließend addPoints auf, um die berechnete Anzahl an Punkten zu addieren.
subtractPoints: aNumber
Zieht die in aNumber übergebene Anzahl von Punkten von points ab. Ruft updatePointsMorph und updateStarsMorph auf.
subtractPointsFromOrder: anOrder
Bekommt eine fehlgeschlagene Order in anOrder übergeben und berechnet aus dieser eine Straf-Punktzahl. Vorerst verwenden wir hierfür einen festen Wert. Ruft anschließend subtractPoints auf, um die berechnete Anzahl an Punkten zu subtrahieren.
updatePointsMorph
Aktualisiert den pointsMorph basierend auf der neuen Anzahl an points.
updateStarsMorph
Aktualisiert den starsMorph basierend auf der neuen Anzahl an points und den aktuellen starLevels.
Instanz-Variablen
points
Speichert die aktuelle Anzahl an Punkten.
starLevels
Eine OrderedCollection, die die Anzahl an Punkten speichert, die jeweils für einen zusätzlichen Stern benötigt werden. Zum Beispiel {150 300 400} für 1 Stern ab 150 Punkten, 2 Sterne ab 300 Punkten, 3 Sterne ab 400 Punkten.
pointsMorph
Ein TextMorph, der die aktuelle Anzahl der Punkte anzeigt.
starsMorph
Ein Morph (z.B. TextMorph oder ImageMorph o.ä.), der die aktuelle Anzahl an Sternen entweder als Text (z.B. Stern-Emojis) oder als Bild anzeigt.
Getter und Setter
Es wird ein Setter für starLevels benötigt.