Die Aufgabenstellung
FH Wedel Gewinnspiel
Von dir soll das Errechnen des Punktestandes eines Bowlingspiels implementiert werden:
Seite des Wettbewerbs
Das Spiel besteht aus 10 Frames. Das Ergebnis jedes Frames ist die Anzahl umgeworferner Pins + Bonus für Strikes und Spares. Ein Spare (alle 10 Pins in zwei Würfen umgehauen) gewährt dem Spieler einen Bonus in Höhe der umgeworfenen Pins im nächsten Wurf. Ein Strike (alle 10 Pins in einem Wurf umgehauen) gewährt dem Spieler einen Bonus in Höhe der nächsten beiden Würfe. Im 10. Frame hat der Spieler einen Extrawurf (3. Wurf), wenn er zuvor einen Spare oder Strike wirft. Maximal sind 3 Strikes möglich und der Frame bringt maximal 30 Punkte.
Die Lösung
Meine Lösung habe ich mit Typescript entwickelt. Ich wollte mich schon länger mal mit der Sprache beschäftigen, in der Hoffnung eine angenehme Alternative zu Javascript zu finden. Damit die Lösung im Browser getestet werden kann, darf der Browser nicht zu alt sein. Optimalerweise benutzt man einen halbwegs modernen Firefox (ab Version 4), einen halbwegs modernen Browser auf Webkit Basis (ab Safari 5.1 oder Google Chrome 6) und zur Not tuts auch ein Internet Explorer ab Version 9. Ich hab mir mal gespart die Browserversionen zu detektieren. Wenn was nicht geht, ist der Browser halt zu alt. Garantiert! Der Fehler liegt bestimmt nicht in meinem Programm ...
Die Tests
Die folgenden Testfälle wurden, sofern Javascript im Browser aktiviert ist, bereits ausgeführt. Eigene Testfälle können in dem entsprechenden Eingabefeld geprüft werden. Bei Fehlern lässt sich die exakte Fehlermeldung über den Tooltip herausfinden.
Testfall | Eingabe | Ergebnis | Erwartet |
---|---|---|---|
Perfektes Spiel | [10,10,10,10,10,10,10,10,10,10,10,10] | 300 | |
Sehr schlechtes Spiel | [0,0,0,0,0,0,0,0,0,0] | 0 | |
Spare & Strike im Wechsel | [10,5,5,10,5,5,10,5,5,10,5,5,10,5,5,10] | 200 | |
Unmöglich Hoher Wurf | [10,5,5,10,5,5,10,5,5,10,5,5,10,5,5,15] | Fehler | |
Keine Würfe | [] | 0 | |
Keine Spares oder Strikes | [1,2,3,4,5,6,7,8,9,0] | 45 | |
Interaktiver Test |
Die Bewertung
Ich habe mit diesem Programm erfreulicherweise den Wettbewerb gewinnen können. Der Preis, eine Murmelachterbahn, hat einen Ehrenplatz auf meinem Schreibtisch erhalten: