Yatzy { public static int fullHouse(int d1, int d2, int d3, int d4, int d5) { int[] tallies; boolean _2 = false; int i; int _2_at = 0; boolean _3 = false; int _3_at = 0; tallies = new int[6]; tallies[d1-1] += 1; tallies[d2-1] += 1; tallies[d3-1] += 1; tallies[d4-1] += 1; tallies[d5-1] += 1; for (i = 0; i != 6; i += 1) if (tallies[i] == 2) { _2 = true; _2_at = i+1; } for (i = 0; i != 6; i += 1) if (tallies[i] == 3) { _3 = true; _3_at = i+1; } if (_2 && _3) return _2_at * 2 + _3_at * 3; else return 0; } Yatzy(int d1, int d2, int d3, int d4, int _5); static int chance(int d1, int d2, int d3, int d4, int d5); static int yatzy(int... dice); static int ones(int d1, int d2, int d3, int d4, int d5); static int twos(int d1, int d2, int d3, int d4, int d5); static int threes(int d1, int d2, int d3, int d4, int d5); int fours(); int fives(); int sixes(); static int score_pair(int d1, int d2, int d3, int d4, int d5); static int two_pair(int d1, int d2, int d3, int d4, int d5); static int four_of_a_kind(int _1, int _2, int d3, int d4, int d5); static int three_of_a_kind(int d1, int d2, int d3, int d4, int d5); static int smallStraight(int d1, int d2, int d3, int d4, int d5); static int largeStraight(int d1, int d2, int d3, int d4, int d5); static int fullHouse(int d1, int d2, int d3, int d4, int d5);  }
@Test public void fullHouse() { assertEquals(18, Yatzy.fullHouse(6,2,2,2,6)); assertEquals(0, Yatzy.fullHouse(2,3,4,5,6)); }