Багато людей вирушили до місцевого центру боулінгу, щоб пограти в кілька ігор у боулінг, і багато людей продовжують боротися, щоб підрахувати свої бали. Світовий боулінг запровадив спрощену систему підрахунку балів, щоб залучити до спорту більше людей. Ця система балів використовується в міжнародних іграх.
Система балів працює так (з Вікіпедії ):
Система окулярів Всесвітнього боулінгу - описана як "поточне підрахунок кадрів" [32] - на штифти наступним чином:
- страйк: 30 (незалежно від результатів наступних рулонів)
- запасні: 10 плюс пінфол на перший рулон поточного кадру
- відкрито: загальний обсяг поточного кадру
Якщо ви не знайомі з десятиконтактним боулінгом, ось резюме.
У кінці боулінг-стрічки є 10 шпильок, де мета - збити їх усіма кулею для боулінгу. Ви отримуєте 2 рулони кулі, щоб спробувати збити їх усіх, бажано збити їх усім першим рулоном (відомим як удар ). Якщо ви все-таки отримаєте удар, то цей кадр завершений, і вам не потрібно вдруге котити м'яч. Страйк коштує 30.
Якщо не збити всі десять, ви отримаєте ще один рулон. Якщо збити всі шпильки, що залишилися, це відоме як запасні . Оцінка варто 10 шпильок + кількість штифтів, збитих у першому рулоні. Наприклад, якби я збив 7 штифтів, то встиг збити решту 3, це коштувало б 17.
Якщо після другого рулону вам не вдасться збити всі десять, це відомо як відкритий кадр . Оцінка варто загальної кількості збитих шпильок для цього кадру.
У грі є 10 кадрів . Якщо ви знайомі з традиційним баллінгу в боулінгу, ви не отримаєте додатковий рулон у 10-му кадрі разом із Всесвітнім боулінгу. У традиційному заліку боулінгу потрібно 12 послідовних ударів, щоб отримати ідеальний бал 300, тоді як для світового боулінгу потрібно лише 10 послідовних ударів.
Виклик
Ваша задача полягає в тому, щоб обчислити отримані значення на балі з таблиць.
На контрольному аркуші промах промальовується тире ( - ), ударом із знаком X та запасний з косою рисою ( / ). Якщо вони не застосовуються, то кількість підкорень просто позначається цифрою (1-9). Фоли та розбиття також записуються на табло, але про них не потрібно хвилюватися.
Вхідні дані
Вам буде надано рядок, що складається з балів за кожен кадр, і буде містити загальну кількість десяти кадрів. Кожен кадр матиме до двох значень, або як мінімум 1 значення, якщо відбувся б удар. Ваш вхід може бути параметром рядка для функції, зчитуваної з файлу або з STDIN.
Наприклад, якби я збив 1 штифт у своєму першому рулоні, а потім збив 2, кадр виглядав би як "12". Це не означає 12 (дванадцять), але означає 1 і 2, в цілому 3.
Якби я пропустив кожну шпильку з обома рулонами (жолоби кульок), це виглядало б так "-" (оцінка 0).
Кожен кадр буде розділений пробілом.
Зразок введення
-- 9- -9 X -/ 8/ 71 15 44 X
Щоб розбити цей приклад,
- Рамка 1 (-) - пропущені обидва рулони. забив 0
- Рамка 2 (9-) - збита 9 на першому рулоні, пропущена на другому рулоні. Оцінка 9
- Рамка 3 (-9) - Пропустив усіх на першому, отримав 9 на другому. Оцінка 9
- Рамка 4 (X) - Страйк, збити всі десять. Оцінка 30
- Рамка 5 (- /) - Запасний, пропустив усіх на першому, збив усіх з 2-го рулону. Оцінка 10 + 0 = 10
- Рамка 6 (8 /) - Запасні, 8 штирів на першому рулоні, збиті інші 2 з другим рулоном. Оцінка 10 + 8 = 18
- Рамка 7 (71) - відкрита рамка, 7 штирів на першому рулоні, 1 штифт на другому рулоні. Оцінка 7 + 1 = 8
- Кадри 8,9,10 дотримуються тих же прикладів, що і вище.
Вихідні дані
Виведенням буде просто значення, яке має суму балів з усіх 10 кадрів. Використовуючи зразок вводу, вихід буде дорівнює 128. Ваш вихід може бути рядковим або числовим типом. Це може бути значення повернення функції або записане в STDOUT.
Правила
- Припустимо, що введення завжди буде дійсним. Наприклад, недійсним кадром буде "/ 8", "XX", "123", "0" тощо.
- Не потрібно турбуватися про розколи або фоли.
- Ваш код може бути повноцінною програмою або функцією, яка займає рядок і повертає бал.
- У вашому коді не повинно бути винятків.
- Це кодовий гольф, відповідь з найменшою кількістю байтів виграє.
- Мови, які використовують або включають імпорт, повинні включати заяви про імпорт як частину свого коду і рахувати до кількості байтів.
Випробування
"-- 9- -9 X -/ 8/ 71 15 44 X" -> 128
"-- -1 2- 12 22 5- 42 61 8- 72" -> 45
"X X X 1/ 2/ 3/ 4/ 5/ -- 9/" -> 174
"X X X X X X X X X X" -> 300
"-- -- -- -- -- -- -- -- -- --" -> 0