Beispiel #1
0
class DiceGame(object):

    def __init__(self, player1, player2):
        # Private variables (Start "__")
        self.__players = []
        self.__players.append(player1)
        self.__players.append(player2)
        self.__the_dices = Dice()
        self.__random_value = self.__the_dices.get_total_number()

        class_name = self.__class__.__name__
        print("""
        ************************
            {class_name}, created
        ************************
        """.format(class_name=class_name))

    def info_game(self):
        return """
        *******************************
                Game Started
            {player} began to edge game.
                  Players
            1. Player = {player1}
            2. Player = {player2}
                Random Value
            {random_value}   
        *******************************
        """.format(player=self.__players[0], player1=self.__players[0], 
                   player2=self.__players[1], random_value=self.__random_value)

    def get_players(self):
        return self.__players

    def select_player(self):
        random_player = []

        random_player.append(random.choice(self.__players))
        list_difference = list(set(self.__players) - set(random_player))
        random_player += list_difference

        return random_player
 
    def start_game(self):
        self.__players = self.select_player()
        self.info_game()

    def get_winner_player(self):
        player1_diff = abs(self.__random_value - self.__players[0].get_sum_of_dices())
        player2_diff = abs(self.__random_value - self.__players[1].get_sum_of_dices())

        if player1_diff == player2_diff:
            return None

        return self.__players[0] if player1_diff < player2_diff else self.__players[1]

    def game_report(self):
        self.__winner_player = self.get_winner_player()

        print("""
        *****************************
                    Winner
            {winner_player} 
                  Random Value
            {random_value}
                  Player's Value
            {player1} = {player1_value}
            {player2} = {player2_value}
        *****************************
        """.format(winner_player=self.__winner_player if self.__winner_player else "Draw", 
                   random_value=self.__random_value,
                   player1=self.__players[0].__str__(), player2=self.__players[1].__str__(),
                   player1_value=self.__players[0].get_sum_of_dices(), 
                   player2_value=self.__players[1].get_sum_of_dices()))

    @staticmethod
    def __str__():
        return "Dice Game"

    def __del__(self):
        class_name = self.__class__.__name__
        print("""
        ************************
            {class_name}, deleted
        ************************
        """.format(class_name=class_name))
Beispiel #2
0
    def throw_dices(self):
        self.__sum_of_dices = Dice.get_total_number()

        return self.__sum_of_dices