Hey everyone! I’m a long-time lurker, and this is my first post. I’m

working through the Edgecase Ruby Koans (http://www.rubykoans.com/), and

have written a solution to scoring the game of dice called “greed.”

However, while it passes all the assertion tests, I am wondering if my

code

is sufficiently “Rubyesque”? I appreciate any and all feedback!

# Greed is a dice game where you roll up to five dice to accumulate

# points. The following “score” function will be used calculate the

# score of a single roll of the dice.

# A greed roll is scored as follows:

# * A set of three ones is 1000 points

# * A set of three numbers (other than ones) is worth 100 times the

# number. (e.g. three fives is 500 points).

# * A one (that is not part of a set of three) is worth 100 points.

# * A five (that is not part of a set of three) is worth 50 points.

# * Everything else is worth 0 points.

# Examples:

# score([1,1,1,5,1]) => 1150 points

# score([2,3,4,6,2]) => 0 points

# score([3,4,5,3,3]) => 350 points

# score([1,5,1,2,4]) => 250 points

# More scoring examples are given in the tests below:

# Your goal is to write the score method.

def score(dice)

total = 0

dice.uniq.each do |num|

```
if num == 1
if dice.count(1) >= 3
total += 1000
total += 100 * (dice.count(1) - 3)
else
total += 100 * dice.count(1)
end
elsif num == 5
if dice.count(5) >= 3
total += 5 * 100
total += 50 * (dice.count(5) - 3)
else
total += 50 * dice.count(5)
end
else
total += num * 100 if dice.count(num) >= 3
end
```

end

total

end