Created
October 9, 2020 14:31
-
-
Save dpolivaev/2f3f72e915f28b8bbcb460c6fc2df605 to your computer and use it in GitHub Desktop.
BowlingKata_ru.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Запрограмируйте подсчет очков партии игры в боулинг. | |
Одна партия состоит из 10 фреймов. | |
В каждом фрейме у игрока есть два броска. | |
Если игрок сбивает все 10 кеглей первым броском, | |
такой бросок называется страйк (англ. strike — удар) и обозначается «Х». | |
Если игрок сбивает все 10 кеглей за два броска, | |
такой бросок называется спэр (англ. spare — запасной) и обозначается «/». | |
Если во фрейме страйк, сумма очков за этот фрейм будет равна количеству сбитых кеглей в этом фрейме (10 кеглей) | |
плюс количество фактически сбитых кеглей за два следующих броска | |
(в одном или двух фреймах, в зависимости от того, был ли страйк в следующем броске). | |
Если во фрейме сбит спэр, то сумма очков будет равна количеству сбитых кеглей в этом фрейме (10 кеглей) | |
плюс количество фактически сбитых кеглей за первый бросок в следующем фрейме. | |
Если фрейм остался открытым, то сумма очков будет равна количеству сбитых кеглей в этом фрейме. | |
Поскольку количество очков во фрейме, в случае страйка и спэр, зависит не только от бросков в этом фрейме, | |
но и от следующих бросков, особый статус получает последний, 10-й, фрейм. | |
Если в десятом фрейме первым броском выбивается страйк, игрок может сделать ещё два броска в этом же фрейме. | |
Если в десятом фрейме удаётся спэр, игрок может сделать ещё один бросок. | |
Следует отметить, что к спэр и страйкам в 10-м фрейме, естественно, не применяются указанные выше правила, | |
поскольку нет следующего фрейма. | |
Если за два первых броска в десятом фрейме остаются несбитые кегли и фрейм получается открытым, игра заканчивается. | |
Таким образом, максимальное количество очков в одной партии — 300, | |
поскольку максимально в каждом фрейме можно заработать 30 очков | |
(10 очков за страйк в этом фрейме плюс 20 очков за страйки в следующих двух бросках). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment