diff options
Diffstat (limited to 'CAO_Client.py')
| -rw-r--r-- | CAO_Client.py | 48 | 
1 files changed, 48 insertions, 0 deletions
| diff --git a/CAO_Client.py b/CAO_Client.py new file mode 100644 index 0000000..daf6f7e --- /dev/null +++ b/CAO_Client.py @@ -0,0 +1,48 @@ +from CAO_Game import CAO_Game + +class CAO_Client(): +    def __init__(self, game_manager): +        self.game = None +        self.game_manager = game_manager + +        self.player = None + +    def join_game(self, game_name): +        if self.game is not None: +            return ('ERR', 'You are already in a game') + +        self.game = self.game_manager.join_game(game_name) +        return self.game.try_join(self) + +    def set_player(self, player): +        self.player = player + +    def play_white_card(self, card_id): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_play_card(self.player, card_id) + +    def pick_black_card(self): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_become_judge(self.player) + +    def collect_cards(self): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_collect_cards(self.player) + +    def designate_card(self, card_id): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_designate_card(self.player, card_id) + +    def view_player_cards(self): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_view_player_cards(self.player) + +    def view_played_cards(self): +        if self.game is None: +            return ('ERR', 'You have to join a game first') +        return self.game.try_view_played_cards(self.player) | 
