def gain(p1: Player, p2: Player, printTrace=True): """Give gain to each player with their last turn decision :param p1: Player 1 :param p2: Player 2 :return: None """ if p1.choice[-1] == p2.choice[-1] == "C": if printTrace : print("Player 1 [+2] || Player 2 [+2]\n") p1.set_score(p1.get_score() + 2) p2.set_score(p2.get_score() + 2) elif p1.choice[-1] == p2.choice[-1] == "B": if printTrace : print("Player 1 [+0] || Player 2 [+0]\n") elif p1.choice[-1] == "C": if printTrace : print("Player 1 [-1] || Player 2 [+3]\n") p1.set_score(p1.get_score() - 1) p2.set_score(p2.get_score() + 3) else: if printTrace : print("Player 1 [+3] || Player 2 [-1]\n") p1.set_score(p1.get_score() + 3) p2.set_score(p2.get_score() - 1)
def fastTurn(player1: Player, player2 : Player, max_turn : int, mistakeRate: int): """Play all the turns between two player without printing trace :param player1: Player 1 :param player2: Player 2 :param max_turn: The number of turn of a confrontation :return: None """ n = 0 while n < max_turn : if n == 0: player1.play('C', mistakeRate) player2.play('C', mistakeRate) else : player1.play(player2.choice[-1], mistakeRate) player2.play(player1.choice[-2], mistakeRate) gain(player1, player2, False) n+= 1 print("Player", player1.name, ":", player1.get_score(), "\nPlayer {} : {}\n".format(player2.name, player2.get_score())) # Empty the players' list of choice for next match player1.reset() player2.reset()