57 lines
1.2 KiB
Ruby
57 lines
1.2 KiB
Ruby
# Défi : gagnant d'un pli
|
|
#
|
|
# Deux cartes sont jouées.
|
|
#
|
|
# Écris la méthode :
|
|
#
|
|
# trick_winner(card1, card2, trump_suit)
|
|
#
|
|
# Elle doit retourner `:card1` ou `:card2`.
|
|
#
|
|
# Chaque carte est représentée ainsi :
|
|
#
|
|
# { value: "king", suit: "hearts" }
|
|
#
|
|
# La couleur demandée est celle de `card1`.
|
|
#
|
|
# Règles :
|
|
# 1. une carte d'atout bat toujours une carte qui n'est pas d'atout ;
|
|
# 2. si les deux cartes sont de la même couleur, la plus forte gagne ;
|
|
# 3. sinon, `card1` gagne, puisque `card2` n'a ni suivi la couleur
|
|
# demandée ni joué un atout gagnant.
|
|
#
|
|
# Ordre des valeurs :
|
|
#
|
|
# 7 < 8 < 9 < 10 < jack < queen < king < ace
|
|
#
|
|
# Exemples :
|
|
#
|
|
# trick_winner(
|
|
# { value: "king", suit: "hearts" },
|
|
# { value: "ace", suit: "hearts" },
|
|
# "spades"
|
|
# )
|
|
# => :card2
|
|
#
|
|
# trick_winner(
|
|
# { value: "ace", suit: "hearts" },
|
|
# { value: "7", suit: "spades" },
|
|
# "spades"
|
|
# )
|
|
# => :card2
|
|
#
|
|
# trick_winner(
|
|
# { value: "ace", suit: "hearts" },
|
|
# { value: "king", suit: "clubs" },
|
|
# "spades"
|
|
# )
|
|
# => :card1
|
|
#
|
|
# Conseil :
|
|
# commence par écrire une petite méthode qui donne une force numérique
|
|
# à une valeur de carte.
|
|
|
|
def trick_winner(card1, card2, trump_suit)
|
|
# À compléter.
|
|
end
|