Ejemplo n.º 1
0
def test_from_idx():
    for color in Color:
        for number in range(CARD_OFFSET, CARD_OFFSET + CARDS_PER_COLOR):
            card = Card.create(number, color.name)
            idx_card = Card.form_idx(card.id)

            assert card == idx_card
Ejemplo n.º 2
0
 def check_out_of_color(self, played_cards, seat_id):
     stich_color_id = Card.id_from_color(played_cards[0].color)
     for i, seat in enumerate(range(seat_id+1, seat_id+4)):  # iterate over all seats
         seat_cor = (seat - self.player.seatId) % 4
         if seat_cor != 0:     # don't track out-of-color the player himself
             if played_cards[0].color is not played_cards[i].color and played_cards[i].color is not self.game_type.trumpf_color:
                 self.out_of_color[seat_cor-1, stich_color_id] = 1
Ejemplo n.º 3
0
    def _convert_action_to_card(self, action):
        card = Card.from_idx(int(action), self.game_type.trumpf_color)
        for hard_card in self.handCards:
            if card == hard_card:
                return card

        return None
Ejemplo n.º 4
0
def createBroadcastStich(data):
    score = [RoundScore(**score) for score in data.pop("teams")]

    return dict(type=MessageType.BROADCAST_STICH,
                data=dict(score=score,
                          playedCards=[
                              Card.create(**card)
                              for card in data.pop("playedCards")
                          ],
                          winner=Player(**data)))
Ejemplo n.º 5
0
def createRejectCard(card):
    return dict(type=MessageType.REJECT_CARD,
                data=Card.create(card["number"], card["color"]))
Ejemplo n.º 6
0
def createRequestCard(cards):
    return dict(
        type=MessageType.REQUEST_CARD,
        data=[Card.create(item["number"], item["color"]) for item in cards])
Ejemplo n.º 7
0
def createPlayedCards(playedCards):
    return dict(type=MessageType.PLAYED_CARDS,
                data=[
                    Card.create(item["number"], item["color"])
                    for item in playedCards
                ])
Ejemplo n.º 8
0
def createDealCards(cards):
    return dict(
        type=MessageType.DEAL_CARDS,
        data=[Card.create(item["number"], item["color"]) for item in cards])