私はRubyを初めて使用し、演習として言語を使用してじゃんけんトーナメントを実装しようとしています。
以下のコード内で呼び出されるrps_game_winnerメソッドは、競合他社のペアの勝者を返します。
これまでの私の試みは次のとおりです。
def rps_tournament_winner(tournament)
qualifying_round_winners = []
for i in 0..0
tournament.each_with_index do |x, xi|
x.each_with_index do |y, yi|
winner = rps_game_winner(y)
qualifying_round_winners.push(winner)
qualifying_round_winners = qualifying_round_winners.each_slice(2).to_a
end
end
tournament = qualifying_round_winners.each_slice(2).to_a
end
return tournament
end
これは私が提供する入力です:
puts rps_tournament_winner([
[
[ ["Armando", "P"], ["David", "S"] ],
[ ["Richard", "R"], ["Michael", "S"] ]
]
])
私が得る出力は次のとおりです。
David
S
Richard
R
これは私が立ち往生しているところです。この2つを互いに競わせて、最終的な勝者を宣言することはできません。
上記のコードでわかるように、forループの終了条件には注意が必要です。
何か助けはありますか?