コード例 #1
0
 def to_str(player):
     """Convert a player tuple into rendered string."""
     actions_str = " | ".join([
         PlayerActionTools.to_str(action) for action in player.actions
         if not PlayerActionTools.is_blank(action)
     ])
     return "{} ┋┋ {}".format(Card.render_card_number(player.hand_card),
                              actions_str)
コード例 #2
0
ファイル: game.py プロジェクト: user01/love-letter
    def new(player_count=4, seed=451):
        """Create a brand new game"""
        deck = Card.shuffle_deck(seed)

        dealt_cards = deck[:player_count]
        undealt_cards = deck[player_count:]

        players = list(map(PlayerTools.blank, dealt_cards))
        return Game(undealt_cards, players, 0)
コード例 #3
0
ファイル: game.py プロジェクト: user01/love-letter
 def _to_str_player(self, idx, player):
     is_playing = " " if PlayerTools.is_playing(player) else "☠️"
     is_turn = "⭐" if self.player_turn() == idx else " "
     draw_card = self.draw_card() if self.active(
     ) and self.player_turn() == idx else Card.noCard
     draw_card_render = Card.render_card_number(draw_card)
     header = "Player {} {} {}".format(idx, is_turn, is_playing)
     state = "   Current: {} {}".format(
         draw_card_render, PlayerTools.to_str(player))
     return [header, state]
コード例 #4
0
ファイル: game.py プロジェクト: user01/love-letter
    def to_str(self):
        """Returns a string[] representation of the game"""
        strings = [
            "" + ("━" * 79),
            "Game is active" if self.active() else "Game is over",
            "Round:{: >2} | Cards Left:{: >2} | Withheld Card: {: >10} ".format(
                self.round(), self.cards_left(), Card.render_card_number(self.held_card())),
            ""
        ]
        for idx, player in enumerate(self._players):
            strings += self._to_str_player(idx, player)
            strings += [""]

        return strings
コード例 #5
0
ファイル: player.py プロジェクト: user01/love-letter
 def to_str(action):
     """Convert a player action to a renderable string."""
     # TODO: Improve this render
     return Card.render_card_number(action.discard)