Die Aufgabenstellung

FH Wedel Gewinnspiel

Von dir soll das Errechnen des Punktestandes eines Bowlingspiels implementiert werden:
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.

Seite des Wettbewerbs

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:

Der Quelltext









      

Kontakt & Impressum