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)
# À compléter.
total = {}
meals.each do |meal|
unless total.key?(meal[:food])
total[(meal[:food])] = 0
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.
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
player = Player.new("Alice")
# Résultats attendus :
#
# player.name
puts player.name
# => "Alice"
#
# player.score
puts player.score
# => 0
#
# player.add_points(2)
# player.score
player.add_points(2)
puts player.score
# => 2
#
# player.add_points(-1)
# player.score
player.add_points(-1)
puts player.score
# => 2
#
# player.winner?
puts player.winner?
# => false
#
# player.add_points(3)
# player.winner?
player.add_points(3)
puts player.winner?
# => true
#
# player.reset_score
# player.score
player.reset_score
puts player.score
# => 0