Compare commits

..
2 Commits
Author SHA1 Message Date
julien 55030af64d exercise done 2026-10-15 21:22:27 +02:00
julien 629429e1f2 player_score.rb done 2026-10-15 18:50:04 +02:00
2 changed files with 41 additions and 13 deletions

No files matched your search

+10 -1
View File
@@ -36,5 +36,14 @@ meals = [
] ]
def meal_totals(meals) def meal_totals(meals)
# À compléter. total = {}
meals.each do |meal|
unless total.key?(meal[:food])
total[(meal[:food])] = 0
end end
total[(meal[:food])] += meal[:quantity]
end
total
end
puts meal_totals(meals)
+31 -12
View File
@@ -15,34 +15,53 @@
# Le score doit être accessible en lecture mais pas modifiable directement. # Le score doit être accessible en lecture mais pas modifiable directement.
class Player class Player
# À compléter. attr_reader :name, :score
def initialize(name)
@name = name
@score = 0
end
def add_points(points)
if points.is_a?(Integer) && points.positive?
@score += points
end
end
def winner?
@score >= 5
end
def reset_score
@score = 0
end
end end
player = Player.new("Alice") player = Player.new("Alice")
# Résultats attendus : # Résultats attendus :
# #
# player.name puts player.name
# => "Alice" # => "Alice"
# #
# player.score puts player.score
# => 0 # => 0
# #
# player.add_points(2) player.add_points(2)
# player.score puts player.score
# => 2 # => 2
# #
# player.add_points(-1) player.add_points(-1)
# player.score puts player.score
# => 2 # => 2
# #
# player.winner? puts player.winner?
# => false # => false
# #
# player.add_points(3) player.add_points(3)
# player.winner? puts player.winner?
# => true # => true
# #
# player.reset_score player.reset_score
# player.score puts player.score
# => 0 # => 0