I am currently working through Ruby Cones and I am stuck on the scoring project. First of all, I have been having a difficult time evaluating the instructions and estimating what to do with it. Secondly, I'm not sure that I'm in the right way, the way I wrote it down. My question is - is there a way to better understand these instructions? Apart from this, I have not written the test method, I am still giving the first test. I think I should understand what I should do first, but I can not understand it. Any help and simple explanation or direction is appreciated.
Thank you.
Greed is a dice game where you roll up to five pence to collect points. The following "score" function will be used to calculate the score of a single roll of dice.
A greed roll has been created as follows:
A group of three is 1000 points
A group of three numbers (in addition to numbers) is 100 times the number . (As three fiends are 500 marks).
One (which is not part of a group of three) is worth 100 points.
A five (which is not part of a
example:
score ([1,1,1] < P>, 5,1]) => 1150 points score ([2,3,4,6,2]) => points scored ([3,4,5,3,3]) = & 350 score points ([1,5,1,2,4])> & gt; 250 points
More scoring examples are given in the tests given below:
Your target score method is to write.
def score (dice) (1..6) .each do | num | | amount = dice.count (number) if the amount & Gt; = 3 100 * num elsif number == 1 100 * amount elsif number == 5 50 * zodiac other 0 end end end # Respect class about ScoringProject & lt; newly :: Koan def test_score_of_an_empty_list_is_zero assert_equal 0, score ([]) end def test_score_of_a_single_roll_of_5_is_50 assert_equal 50, score ([5]) end def test_score_of_a_single_roll_of_1_is_100 assert_equal 100, score ([1]) end def test_score_of_multiple_1s_and_5s_is_the_sum_of_individual_scores assert_equal 300, score ([1.5, 5.1]) end def test_score_of_single_2s_3s_4s_and_6s_are_zero assert_equal 0, score ([2,3,4,6]) end def test_score_of_a_triple_1_is_1 1000 assert_equal 1000, score ([1,1,1]) end def test_score_of_other_triples_is_100x assert_equal 200, score ([2, 2,2]) assert_equal 300, score ([3,3,3]) assert_equal 400, score ([4,4,4]) assert_equal 500, Scheme And ([5,5,5]) assert_equal 600, score ([6,6,6]) end def test_score_of_mixed_is_sum assert_equal 250, score ([2,5,2,2,3]) assert_equal 550, score ([5 , 5,5,5]) assert_equal 1100, score ([1, 1,1,1]) assert_equal 1200, score ([1,1,1,1,1]) assert_equal 1150, score ([1,1, 1,5,1]) end end
it is I:
def score (dice) score = 0 return score if dice == zero || Dice == [] volume = dice.inject (hash.ru (0)) {| Result, element | Result [element] + = 1; Results} Score + = Amount [1] & gt; = 3? 1000 + ((volume [1] - 3) * 100): Quantity [1] * 100 points + = quantity [5] & gt; = 3? 500 + ((volume [5] - 3) * 50): Quantity [5] * 50 [2,3,4,6] .each {| X | Score + = x * 100 if the amount [x]> gt; = 3} Score end
Comments
Post a Comment