10フレーム目の設計やり直し
This commit is contained in:
parent
a452c67cab
commit
4b8d430211
1 changed files with 15 additions and 2 deletions
17
bowling.rb
17
bowling.rb
|
@ -22,16 +22,29 @@ point = 0
|
||||||
frames.each_with_index do |frame, index|
|
frames.each_with_index do |frame, index|
|
||||||
point += frame.sum
|
point += frame.sum
|
||||||
if frame == [10, 0] && frames[index + 1].first == 10 #ストライクかつ次もストライクの場合
|
if frame == [10, 0] && frames[index + 1].first == 10 #ストライクかつ次もストライクの場合
|
||||||
point += frames[index + 2].first
|
point += frames[index + 2].first
|
||||||
end
|
end
|
||||||
if frame == [10, 0] #ストライク1回のみの場合
|
if frame == [10, 0] #ストライク1回のみの場合
|
||||||
point += frames[index + 1].sum #次のフレームの合計値が得点となる
|
point += frames[index + 1].sum #次のフレームの合計値が得点となる
|
||||||
end
|
end
|
||||||
if frame.sum == 10 && frame != [10, 0] # スペアの場合
|
if frame.sum == 10 && frame != [10, 0] #スペアの場合
|
||||||
point += frames[index + 1].first #次のフレームの一投目が得点となる
|
point += frames[index + 1].first #次のフレームの一投目が得点となる
|
||||||
end
|
end
|
||||||
puts "#{index + 1}フレーム目の得点: #{point}"
|
puts "#{index + 1}フレーム目の得点: #{point}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if frames[10]
|
||||||
|
point -= frames[10].first
|
||||||
|
end
|
||||||
|
|
||||||
|
if frames[11]
|
||||||
|
point -= frames[11].first
|
||||||
|
end
|
||||||
|
|
||||||
|
print frames
|
||||||
|
puts point
|
||||||
|
|
||||||
|
|
||||||
#ストライクは次の「2投の合計値」が得点となる!!!
|
#ストライクは次の「2投の合計値」が得点となる!!!
|
||||||
#つまりストライクを仮に1フレーム目で取り、2フレーム目もストライクだった場合、1フレーム目の得点には3フレーム目の初回分までが加算される!!!!
|
#つまりストライクを仮に1フレーム目で取り、2フレーム目もストライクだった場合、1フレーム目の得点には3フレーム目の初回分までが加算される!!!!
|
||||||
|
#10フレーム目の3投目だけはスペアの加算対象としてはならない!
|
||||||
|
|
Loading…
Reference in a new issue