generated from mwc/lab_dice
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:
4
play.py
4
play.py
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user