Il tuo compito è quello di riassumere e ottenere il punteggio di un giocatore in una partita di bowling a 10 pin dopo un massimo di 21 tiri .
I rulli sono rappresentati come una sequenza di numeri interi nel metodo di input preferito . Ogni numero intero corrisponde al numero di pin eliminati in quel tiro.
punteggio
Dopo ogni round il numero di pin eliminati in quel round viene conteggiato nel punteggio finale. Se un giocatore abbatte tutti e dieci i birilli nel primo tiro di un round, questo è uno strike e il round è finito. Altrimenti, il round dura per un altro tiro. Se il secondo tiro di un round abbatte tutti i perni rimanenti, questo è un ricambio .
Per ogni strike c'è un bonus pari alla somma dei pin eliminati nei due tiri successivi. Per ogni riserva c'è un bonus pari al numero di spilli buttati giù nel tiro successivo.
Nel decimo e ultimo round, al giocatore possono essere assegnati tiri extra: in caso di sciopero, il giocatore ottiene altri due tiri per compensare il suo bonus di sciopero. In caso di riserva, il giocatore ottiene un altro tiro.
Esempi
Input: 4 3 8 2 7 1 10 7 3 0 10 2 2 10 10 5 4
Output: 131
Input: 10 10 9 1 7 3 2 7 10 1 9 10 7 1 10 10 10
Output: 183
Regole
- Si può presumere che l'input sia valido.
- Secondo il commento di Mego ho allentato i requisiti per i metodi di input / output per soddisfare il nostro standard attuale .
- Sono consentite risposte in lingue più recenti della sfida
- Vince il codice più corto!
space separated integers
?