From 4b8d43021129278b6311ae7c88f297f876b84db8 Mon Sep 17 00:00:00 2001 From: Rikuoh Date: Tue, 12 Mar 2024 22:51:17 +0900 Subject: [PATCH] =?UTF-8?q?10=E3=83=95=E3=83=AC=E3=83=BC=E3=83=A0=E7=9B=AE?= =?UTF-8?q?=E3=81=AE=E8=A8=AD=E8=A8=88=E3=82=84=E3=82=8A=E7=9B=B4=E3=81=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bowling.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/bowling.rb b/bowling.rb index c41dda2..81e499b 100755 --- a/bowling.rb +++ b/bowling.rb @@ -22,16 +22,29 @@ point = 0 frames.each_with_index do |frame, index| point += frame.sum if frame == [10, 0] && frames[index + 1].first == 10 #ストライクかつ次もストライクの場合 - point += frames[index + 2].first + point += frames[index + 2].first end if frame == [10, 0] #ストライク1回のみの場合 point += frames[index + 1].sum #次のフレームの合計値が得点となる end - if frame.sum == 10 && frame != [10, 0] # スペアの場合 + if frame.sum == 10 && frame != [10, 0] #スペアの場合 point += frames[index + 1].first #次のフレームの一投目が得点となる end puts "#{index + 1}フレーム目の得点: #{point}" end +if frames[10] + point -= frames[10].first +end + +if frames[11] + point -= frames[11].first +end + +print frames +puts point + + #ストライクは次の「2投の合計値」が得点となる!!! #つまりストライクを仮に1フレーム目で取り、2フレーム目もストライクだった場合、1フレーム目の得点には3フレーム目の初回分までが加算される!!!! +#10フレーム目の3投目だけはスペアの加算対象としてはならない!