Compare commits
2
Commits
b2cef2f27c
...
55030af64d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
55030af64d | ||
|
|
629429e1f2 |
No files matched your search
@@ -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
@@ -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
|
||||
Reference in new issue
Block a user