Skip to content

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.