rubyで数字比較ゲームを作った

おはようございます。

今日は数字比較ゲームを作ってみました。

仕様

一桁目が1~20の数字と二桁目が1~10の数字の2つの数字を持ったカードが複数枚ある。

一枚目を親としそれ以降を子とし、それぞれを比較していく。

一桁目が小さい方を勝ちとする。

一桁目が同じだったら二桁目を比較する。

二桁目は大きい方を勝ちとする。

子が何回勝ったかを返す

a = <<~TEXT

12 8 #親
15 9 #子
4 11 #子
12 19 #子
12 4 #子
TEXT

=> 2

コード

FORMAT = /(\d*) (\d*)/

def high_low_check(card_number)
card = card_number.scan(FORMAT).map { |array| array.map(&:to_i) }
card[1..-1].map { |array|
if array[0] < card[0][0]
'win'
elsif array[0] == card[0][0]
'win' if array[1] > card[0][1]
end
}.count('win')
end

正規表現で各カードを配列に入れて比較していきます。

if文の中が似たような比較があってあまりDRYじゃないな〜という印象ですがどう治せばいいか分からなかったので、

もし分かる方いたら教えて頂きたいです💦