#要求
def rollDie(self):
import random
die1 = random.randint(1,6)
die2 = random.randint(1,6)
print("die 1-->", die1, "Die2 -->", die2)
if die1 == die2 == 4:
points = -5
elif die1 == die2:
print("Congratulations! You gain double score of the current turn")
points = (die1 + die2)*2
else:
points = die1 + die2
return(points)
def getDie(self):
return (die1,die2)
class Player:
def init(self, name):
self._name = name
self._score = 0
def updateScore(self,score, die1,die2):
UpdateScore = die1 + die2
def sumAllScore(self,points):
self._score += points
return (self._score)
def getName(self):
return(name)
def getUpdateScore(self):
return(UpdateScore)
def getSum(self):
return(score)
def gamOver(player1,player2):
global gameover
if scores[0] >= scores[1] >= 10:
gameover = True
elif scores[1] >= scores[0] >= 10:
gameover = True
def displayWinner(player1, player2):
name1 = input('what is the name of player 1:')
player1 = Player(name1)
name2 = input('what is the name of player 2:')
player2 = Player(name2)
dice1 = Die()
dice2 = Die()
D = Die()
scores = [0] * 2
gameover = False
while not gameover:
points = castDice(dice1,dice2)
scores[0] = player1.sumAllScore(points).getSum()
points = castDice(dice1,dice2)
scores[1] = player1.sumAllScore(points).getSum()
gameOver = scores[i] >= 10
print('sssss')
def castDice(dice1, dice2):
dice1.rollDie()
dice2.rollDie()
##displayWinner('william', 'tom')
class Die:
def __init__(self):
self._points = 1
def rollDie(self):
import random
self._points = random.randint(1,6)
def getDie(self):
return self._points
class Player:
def __init__(self, name):
self._name = name
self._curScore = 0
self._score = 0
self._allScore = []
def updateScore(self,point):
self._curScore = point
self._allScore.append(point)
def sumAllScore(self):
self._sumScore = sum(self._allScore)
def getName(self):
return self._name
def getUpdateScore(self):
return(self._curScore)
def getSum(self):
return self._sumScore
def gameOver(player1, player2):
player1.sumAllScore()
player2.sumAllScore()
sum1 = player1.getSum()
sum2 = player2.getSum()
if sum1 > 50 or sum2 > 50 :
return True
else:
return False
def displayWinner(player1, player2):
sum1 , sum2 = player1.getSum(), player2.getSum()
if sum1 > sum2:
print(f"{player1.getName()}.Congratulations!Your Score:{sum1},Enemy Score:{sum2}. You Win!")
else:
print(f"{player2.getName()}.Congratulations!Your Score:{sum2},Enemy Score:{sum1}. You Win!")
def castDice(dice1, dice2):
dice1.rollDie()
dice2.rollDie()
points1 = dice1.getDie()
print(f"die 1-->",points1 , end =' ')
points2 = dice2.getDie()
print("die 2-->", points2)
return points1, points2
name1 = input('what is the name of player 1:')
player1 = Player(name1)
name2 = input('what is the name of player 2:')
player2 = Player(name2)
gameover = False
while not gameover:
dice1 = Die()
dice2 = Die()
print(f'玩家:{name1}')
points1, points2 = castDice(dice1, dice2)
if points1 == points2 == 4:
curScore = -5
elif points1 == points2 :
curScore =points1 * 2
else:
curScore = points1 + points2
player1.updateScore(curScore)
print(f"此次得分:{curScore}")
print(f'玩家:{name2}')
dice1 = Die()
dice2 = Die()
points1, points2 = castDice(dice1, dice2)
if points1 == points2 == 4:
curScore = -5
elif points1 == points2 :
curScore =points1 * 2
else:
curScore = points1 + points2
player2.updateScore(curScore)
print(f"此次得分:{curScore}")
gameover = gameOver(player1, player2)
displayWinner(player1, player2)