Nhiều người đã đến trung tâm bowling địa phương của họ để chơi một vài trò chơi bowling, và nhiều người tiếp tục đấu tranh để tính điểm của họ. World Bowling đã giới thiệu một hệ thống tính điểm đơn giản hóa để thu hút nhiều người hơn đến với môn thể thao này. Hệ thống tính điểm này được sử dụng trong các trò chơi quốc tế.
Hệ thống tính điểm hoạt động như thế này (từ Wikipedia ):
Hệ thống tính điểm Bowling thế giới được mô tả là "tính điểm khung hình hiện tại" [32] Ghim chốt theo sau như sau:
- đình công: 30 (bất kể kết quả của cuộn tiếp theo)
- dự phòng: 10 điểm rơi trên cuộn đầu tiên của khung hiện tại
- mở: tổng số pinfall cho khung hiện tại
Nếu bạn không quen thuộc với bowling mười chân, đây là một bản tóm tắt.
Có 10 chân ở cuối một đường bowling trong đó mục tiêu là hạ gục tất cả bọn chúng bằng một quả bóng bowling. Bạn nhận được 2 cuộn bóng để cố gắng hạ gục tất cả, tốt nhất là hạ tất cả chúng xuống với cuộn đầu tiên (được gọi là một cú đánh ). Nếu bạn nhận được một cú đánh, thì khung hình đó đã hoàn thành và bạn không cần phải lăn bóng lần thứ hai. Một cuộc đình công có giá trị 30.
Nếu bạn không hạ gục tất cả mười, bạn sẽ có thêm một cuộn. Nếu bạn hạ gục tất cả các chân còn lại, đó được gọi là phụ tùng . Điểm số đáng giá 10 chân + số lượng chân bị hạ gục ở lần lăn đầu tiên. Ví dụ: nếu tôi hạ gục 7 chân, sau đó tìm cách hạ gục 3 chân còn lại, thì đó sẽ là giá trị 17.
Nếu sau cuộn thứ hai của bạn, bạn không thể hạ gục cả mười, thì đó được gọi là khung mở . Điểm số xứng đáng với tổng số chân bị đánh sập cho khung hình đó.
Có 10 khung hình trong một trò chơi . Nếu bạn đã quen thuộc với cách chơi bowling truyền thống, bạn sẽ không có thêm một vòng quay nào trong khung thứ 10 với Ghi điểm Bowling thế giới. Trong cách tính điểm bowling truyền thống, phải mất 12 lần tấn công liên tiếp để có được số điểm hoàn hảo là 300, trong khi đó, việc ghi điểm trong World Bowling chỉ cần 10 lần tấn công liên tiếp.
Thử thách
Thử thách của bạn là tính toán các giá trị đã cho từ một bảng điểm.
Trên bảng điểm, một sai sót được biểu thị bằng dấu gạch ngang ( - ), một cú đánh bằng X và một phụ tùng có dấu gạch chéo ( / ). Nếu những điều này không áp dụng, thì số đếm pinfall chỉ được biểu thị bằng một số (1-9). Lỗi và chia tách cũng được ghi vào bảng điểm nhưng bạn không cần phải lo lắng về những điều này.
Đầu vào
Bạn sẽ được cung cấp một chuỗi bao gồm điểm số cho mỗi khung hình và sẽ có tổng cộng mười khung hình. Mỗi khung sẽ có tối đa hai giá trị hoặc tối thiểu 1 giá trị nếu có một cuộc đình công. Đầu vào của bạn có thể là tham số chuỗi cho một hàm, đọc từ tệp hoặc từ STDIN.
Ví dụ: nếu tôi hạ gục 1 pin trên cuộn đầu tiên của tôi, sau đó hạ xuống 2, khung hình sẽ trông giống như "12". Điều này không có nghĩa là 12 (mười hai), mà có nghĩa là 1 và 2, với tổng số 3.
Nếu tôi bỏ lỡ mọi pin với cả hai cuộn (bóng máng xối), nó sẽ trông như thế này "-" (điểm 0).
Mỗi khung sẽ được phân tách bằng một khoảng trắng.
Đầu vào mẫu
-- 9- -9 X -/ 8/ 71 15 44 X
Để phá vỡ ví dụ này,
- Khung 1 (-) - cả hai cuộn bị bỏ lỡ. đạt 0 điểm
- Khung 2 (9-) - hạ gục 9 ở cuộn thứ nhất, bị trượt ở cuộn thứ hai. Điểm 9
- Khung 3 (-9) - Bỏ lỡ tất cả ở lần đầu tiên, nhận được 9 vào lần thứ hai. Điểm 9
- Khung 4 (X) - Tấn công, hạ gục cả mười. Điểm 30
- Khung 5 (- /) - Dự phòng, bỏ lỡ tất cả ở lần đầu tiên, hạ gục tất cả với cuộn thứ 2. Điểm 10 + 0 = 10
- Khung 6 (8 /) - Dự phòng, 8 chân trên cuộn thứ nhất, hạ gục 2 cái còn lại với cuộn thứ 2. Điểm 10 + 8 = 18
- Khung 7 (71) - khung mở, 7 chân ở cuộn thứ nhất, 1 chân trên cuộn thứ hai. Điểm 7 + 1 = 8
- Khung 8,9,10 theo các ví dụ tương tự như trên.
Đầu ra
Đầu ra đơn giản sẽ là một giá trị có tổng điểm từ tất cả 10 khung. Sử dụng đầu vào mẫu, đầu ra sẽ là 128. Đầu ra của bạn có thể là một chuỗi hoặc một kiểu số. Nó có thể là giá trị trả về của hàm hoặc được ghi vào STDOUT.
Quy tắc
- Giả sử rằng đầu vào sẽ luôn hợp lệ. Ví dụ: khung không hợp lệ sẽ là "/ 8", "XX", "123", "0", v.v.
- Bạn không cần phải lo lắng về việc chia tách hoặc phạm lỗi.
- Mã của bạn có thể là một chương trình đầy đủ hoặc một hàm lấy một chuỗi và trả về điểm số.
- Mã của bạn không được ném bất kỳ trường hợp ngoại lệ.
- Đây là mã golf, câu trả lời có số byte ít nhất sẽ thắng.
- Các ngôn ngữ sử dụng bao gồm hoặc nhập phải bao gồm các câu lệnh nhập như một phần của mã của chúng và được tính vào số byte.
Các trường hợp thử nghiệm
"-- 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