Added two goals into yahtzee_goals file.

Checkpoint 3: I think in Units 1 or 2 I wouldn't have had such specific conditions.
So OOP helps me target specific goals or problems that I might encounter.
I think OOP makes more sense to me than other targeted code we wrote in Unit 1 or 2.
I am struggling a little bit to understand creation of "." conditions/actions. Otherwise this
seems to be a super useful tool to know.
This commit is contained in:
caglazir
2025-11-16 21:52:58 -05:00
parent f97db27370
commit 8f61e6003a
2 changed files with 30 additions and 0 deletions

View File

@@ -3,12 +3,16 @@ from yahtzee_goals import (
GoalOnes, GoalOnes,
GoalTwos, GoalTwos,
GoalThrees, GoalThrees,
GoalFours,
LargeStraight
) )
goals = [ goals = [
GoalOnes(), GoalOnes(),
GoalTwos(), GoalTwos(),
GoalThrees(), GoalThrees(),
GoalFours(),
LargeStraight(),
] ]
game = Yahtzee(goals) game = Yahtzee(goals)

View File

@@ -40,3 +40,29 @@ class GoalThrees:
if die.face == 3: if die.face == 3:
total += 3 total += 3
return total 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 LargeStraight:
"Fourty points for 5 sequential dice"
def prompt(self, dice):
potential_score = self.score(dice)
return f"Large Straight ({potential_score})"
def score(self,dice):
total = 0
faces = [die.face for die in dice]
if faces == [1,2,3,4,5] or faces == [2,3,4,5,6]:
total = 40
return total