diff --git a/play.py b/play.py index 773f7f3..6804701 100644 --- a/play.py +++ b/play.py @@ -3,12 +3,22 @@ from yahtzee_goals import ( GoalOnes, GoalTwos, GoalThrees, + GoalFours, + GoalFives, + GoalSixes, + GoalThreeofaKind, + GoalFourofaKind ) goals = [ GoalOnes(), GoalTwos(), GoalThrees(), + GoalFours(), + GoalFives(), + GoalSixes(), + GoalThreeofaKind(), + GoalFourofaKind() ] game = Yahtzee(goals) diff --git a/yahtzee_goals.py b/yahtzee_goals.py index 10af574..a48ead5 100644 --- a/yahtzee_goals.py +++ b/yahtzee_goals.py @@ -40,3 +40,93 @@ class GoalThrees: if die.face == 3: total += 3 return total + +class GoalFours: + "Four points for each four" + + def prompt(self, dice): + potential_score = self.score(dice) + return f"Fours ({potential_score})" + + def score(self, dice): + total = 0 + for die in dice: + if die.face == 4: + total += 4 + return total + +class GoalFives: + "Five points for each five" + + def prompt(self, dice): + potential_score = self.score(dice) + return f"Fives ({potential_score})" + + def score(self, dice): + total = 0 + for die in dice: + if die.face == 5: + total += 5 + return total + +class GoalSixes: + "Six points for each six" + + def prompt(self, dice): + potential_score = self.score(dice) + return f"Sixes ({potential_score})" + + def score(self, dice): + total = 0 + for die in dice: + if die.face == 6: + total += 6 + return total + +class GoalThreeofaKind: + "3*number points for each number" + + def prompt(self, dice): + potential_score = self.score(dice) + return f"ThreeofaKind ({potential_score})" + + def score(self, dice): + total = 0 + for die in dice: + if die.face == 1: + total += 1*3 + if die.face == 2: + total += 2*3 + if die.face == 3: + total += 3*3 + if die.face == 4: + total += 4*3 + if die.face == 5: + total += 5*3 + if die.face == 6: + total += 6*3 + return total + +class GoalFourofaKind: + "4*number points for each number" + + def prompt(self, dice): + potential_score = self.score(dice) + return f"FourofaKind ({potential_score})" + + def score(self, dice): + total = 0 + for die in dice: + if die.face == 1: + total += 1*4 + if die.face == 2: + total += 2*4 + if die.face == 3: + total += 3*4 + if die.face == 4: + total += 4*4 + if die.face == 5: + total += 5*4 + if die.face == 6: + total += 6*4 + return total \ No newline at end of file