Add RuboCop and Helix project config
This commit is contained in:
1 parent
5feefbcd54
commit
7b33d9a8ef
14 files changed
+28
-105
No files matched your search
+4
-5
@@ -18,16 +18,15 @@ class Card
|
||||
@value.to_i
|
||||
else
|
||||
case @value
|
||||
when "ace"
|
||||
when 'ace'
|
||||
11
|
||||
when "jack"
|
||||
when 'jack'
|
||||
12
|
||||
when "queen"
|
||||
when 'queen'
|
||||
13
|
||||
when "king"
|
||||
when 'king'
|
||||
14
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+3
-4
@@ -1,4 +1,4 @@
|
||||
require_relative "card"
|
||||
require_relative 'card'
|
||||
|
||||
# Représente un paquet de cartes et gère son contenu.
|
||||
class Deck
|
||||
@@ -6,8 +6,8 @@ class Deck
|
||||
|
||||
def initialize
|
||||
@cards = []
|
||||
values = ["7", "8", "9", "10", "ace", "jack", "queen", "king"]
|
||||
suits = ["hearts", "diamonds", "clubs", "spades"]
|
||||
values = %w[7 8 9 10 ace jack queen king]
|
||||
suits = %w[hearts diamonds clubs spades]
|
||||
|
||||
suits.each do |suit|
|
||||
values.each do |value|
|
||||
@@ -26,4 +26,3 @@ class Deck
|
||||
@cards.pop
|
||||
end
|
||||
end
|
||||
|
||||
+15
-21
@@ -1,11 +1,11 @@
|
||||
require_relative "deck"
|
||||
require_relative "player"
|
||||
require_relative "terminal_ui"
|
||||
require_relative 'deck'
|
||||
require_relative 'player'
|
||||
require_relative 'terminal_ui'
|
||||
|
||||
# Gère le déroulement et les règles d'une partie d'Écarté.
|
||||
class Game
|
||||
attr_reader :player1, :player2, :dealer, :non_dealer,
|
||||
:upcard, :trump_suit, :trick_winner, :stock
|
||||
:upcard, :trump_suit, :trick_winner
|
||||
|
||||
def initialize(player_name1, player_name2)
|
||||
@deck = Deck.new
|
||||
@@ -24,8 +24,8 @@ class Game
|
||||
@deck.shuffle
|
||||
|
||||
while @dealer.nil?
|
||||
card1 = @deck.cards[rand(2..30) - 1]
|
||||
card2 = @deck.cards[rand(2..30) - 1]
|
||||
card1 = @deck.cards[rand(1..29)]
|
||||
card2 = @deck.cards[rand(1..29)]
|
||||
|
||||
if card1.strength > card2.strength
|
||||
@dealer = @player1
|
||||
@@ -73,12 +73,10 @@ class Game
|
||||
else
|
||||
follow_card.suit == lead_card.suit
|
||||
end
|
||||
elsif follow_player.hand.any? { |card| card.suit == @trump_suit }
|
||||
follow_card.suit == @trump_suit
|
||||
else
|
||||
if follow_player.hand.any? { |card| card.suit == @trump_suit }
|
||||
follow_card.suit == @trump_suit
|
||||
else
|
||||
true
|
||||
end
|
||||
true
|
||||
end
|
||||
end
|
||||
|
||||
@@ -95,13 +93,12 @@ class Game
|
||||
lead_player.play(lead_card)
|
||||
follow_player.play(follow_card)
|
||||
|
||||
if lead_card.suit != follow_card.suit && follow_card.suit != @trump_suit
|
||||
@trick_winner = lead_player
|
||||
elsif lead_card.suit == follow_card.suit && lead_card.strength > follow_card.strength
|
||||
@trick_winner = lead_player
|
||||
else
|
||||
@trick_winner = follow_player
|
||||
end
|
||||
@trick_winner = if (lead_card.suit != follow_card.suit && follow_card.suit != @trump_suit) ||
|
||||
(lead_card.suit == follow_card.suit && lead_card.strength > follow_card.strength)
|
||||
lead_player
|
||||
else
|
||||
follow_player
|
||||
end
|
||||
|
||||
@trick_winner.add_point
|
||||
@ui.display_trick_winner(@trick_winner)
|
||||
@@ -133,9 +130,6 @@ class Game
|
||||
@player1
|
||||
elsif @player1.score < @player2.score
|
||||
@player2
|
||||
else
|
||||
nil
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -28,4 +28,3 @@ class Player
|
||||
@score += 1
|
||||
end
|
||||
end
|
||||
|
||||
+4
-5
@@ -1,17 +1,16 @@
|
||||
# Gère l'affichage et les saisies dans le terminal.
|
||||
class TerminalUI
|
||||
|
||||
# Demande au joueur de choisir une carte et la retourne.
|
||||
def choose_card(player)
|
||||
player.hand.each_with_index do |card, index|
|
||||
puts "#{index + 1}. #{card}"
|
||||
end
|
||||
|
||||
print "Choose a card: "
|
||||
print 'Choose a card: '
|
||||
choice = gets.chomp.to_i
|
||||
|
||||
until choice.between?(1, player.hand.length)
|
||||
print "Invalid choice. Choose a card: "
|
||||
print 'Invalid choice. Choose a card: '
|
||||
choice = gets.chomp.to_i
|
||||
end
|
||||
|
||||
@@ -25,7 +24,7 @@ class TerminalUI
|
||||
|
||||
# Affiche un avertissement si le coup joué ne respecte pas les règles.
|
||||
def display_wrong_card
|
||||
puts "You cannot play this card."
|
||||
puts 'You cannot play this card.'
|
||||
end
|
||||
|
||||
# Affiche le joueur ayant remporté le pli.
|
||||
@@ -52,7 +51,7 @@ class TerminalUI
|
||||
puts "Trump suit: #{game.trump_suit}"
|
||||
puts
|
||||
|
||||
puts "Stock:"
|
||||
puts 'Stock:'
|
||||
puts game.stock.length
|
||||
puts
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user