コード例 #1
0
    def readRules(self, rules_file):

        lines = [line.rstrip('\n') for line in open(rules_file)]
        line_number = 1

        for line in lines:

            line = [term.strip(' ') for term in line.split(':')]
            card = line[0].split(' of ')
            card_rank = card[0]
            card_suit = card[1]

            if card_rank not in RANKS:
                exit("ERROR: `{}`, line {} -- {} is not a valid card rank.".
                     format(rules_file, line_number, card_rank))
            if card_suit not in SUITS:
                exit("ERROR: `{}`, line {} -- {} is not a valid card suit.".
                     format(rules_file, line_number, card_suit))

            effects = [effect.strip(' ') for effect in line[1].split(',')]
            for effect in effects:
                if effect not in EFFECTS:
                    exit(
                        "ERROR: `{}`, line {} -- {} is not a valid game effect."
                        .format(rules_file, line_number, effect))
                if effect in self.rules:
                    self.rules[effect].append(pd.Card(card_rank, card_suit))
                else:
                    self.rules[effect] = []
                    self.rules[effect].append(pd.Card(card_rank, card_suit))
            line_number += 1
コード例 #2
0
    def test_ge(self):
        """"""
        ace_spades = pydealer.Card("Ace", "Spades")
        two_diamonds = pydealer.Card("2", "Diamonds")

        self.assertGreaterEqual(self.card, ace_spades)
        self.assertGreaterEqual(self.card, two_diamonds)
コード例 #3
0
    def test_le(self):
        """"""
        ace_spades = pydealer.Card("Ace", "Spades")
        two_diamonds = pydealer.Card("2", "Diamonds")

        self.assertLessEqual(self.card, ace_spades)
        self.assertLessEqual(two_diamonds, ace_spades)
コード例 #4
0
    def test_ge_func(self):
        """"""
        ace_spades = pydealer.Card("Ace", "Spades")
        two_diamonds = pydealer.Card("2", "Diamonds")

        result_x = self.card.ge(ace_spades)
        result_y = self.card.ge(two_diamonds)

        self.assertTrue(result_x)
        self.assertTrue(result_y)
コード例 #5
0
def test_gt():
    """"""
    card = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")
    two_diamonds_res = card.gt(two_diamonds)
    try:
        assert two_diamonds_res
        return 0
    except AssertionError:
        return 1
コード例 #6
0
def test_ne():
    """"""
    card = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")
    try:
        ##        assert card=ace_spades
        assert card != two_diamonds
        return 0
    except AssertionError:
        return 1
コード例 #7
0
def test_gt_func():
    """"""
    card = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")

    result = card.gt(two_diamonds)
    try:
        assert result == True
        return 0
    except AssertionError:
        return 1
コード例 #8
0
def test_le():
    """"""
    
    ace_spades = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")
    try:
        assert card<=ace_spades
        assert card<=two_diamonds
        return 0
    except AssertionError:
        return 1
コード例 #9
0
 def setUp(self):
     """"""
     self.ace_spades = pydealer.Card("Ace", "Spades")
     self.two_diamonds = pydealer.Card("2", "Diamonds")
     self.queen_hearts = pydealer.Card("Queen", "Hearts")
     self.seven_clubs = pydealer.Card("7", "Clubs")
     self.cards = [self.ace_spades, self.two_diamonds, self.queen_hearts,
                   self.seven_clubs]
     self.names = ["Ace of Spades", "2 of Diamonds", "Queen of Hearts",
                   "7 of Clubs"]
     self.deck = pydealer.Deck()
     self.stack = pydealer.Stack(cards=self.cards)
コード例 #10
0
def test_ge_func():
    """"""
    card = pydealer.Card("Ace", "Spades")
    ace_spades = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")

    result_x = card.ge(ace_spades)
    result_y = card.ge(two_diamonds)
    try:
        assert result_x==True
        assert result_y==True
        return 0
    except AssertionError:
        return 1
コード例 #11
0
def test_ge():
    """"""
    card = pydealer.Card("Ace", "Spades")
    ace_spades = pydealer.Card("Ace", "Spades")
    two_diamonds = pydealer.Card("2", "Diamonds")

    try:
##        assert card>=ace_spades
##        assert card>=two_diamonds
        ace_spades_res = card.ge(ace_spades)
        assert ace_spades_res == True
        #unittestTestCase.assertGreaterEqual(card, two_diamonds,None)
        return 0
    except AssertionError:
        return 1
コード例 #12
0
    def test_eq_func(self):
        """"""
        ace_spades = pydealer.Card("Ace", "Spades")

        result = self.card.eq(ace_spades)

        self.assertTrue(result)
コード例 #13
0
    def test_lt_with_custom_rank(self):
        """"""
        two_diamonds = pydealer.Card("2", "Diamonds")

        result = self.card.lt(two_diamonds, ranks=POKER_RANKS)

        self.assertFalse(result)
コード例 #14
0
    def test_lt_func(self):
        """"""
        two_diamonds = pydealer.Card("2", "Diamonds")

        result = self.card.lt(two_diamonds)

        self.assertFalse(result)
コード例 #15
0
    def test_gt_func(self):
        """"""
        two_diamonds = pydealer.Card("2", "Diamonds")

        result = self.card.gt(two_diamonds)

        self.assertTrue(result)
コード例 #16
0
def test_name():
    """"""
    try:
        card = pydealer.Card("Ace", "Spades")
        assert card.name == "Ace of Spades"
        return 0
    except AssertionError:
        return 1
コード例 #17
0
def test_suit():
    """"""
    card = pydealer.Card("Ace", "Spades")
    try:
        assert card.suit=="Spades"
        return 0
    except AssertionError:
        return 1
コード例 #18
0
def test_eq():
    """"""
    ace_spades = pydealer.Card("Ace", "Spades")
    try:
        assert card == ace_spades
        ##        unittest.TestCase.assertEqual(card,ace_spades,None)
        return 0
    except AssertionError:
        return 1
コード例 #19
0
def test_abbrev():
    """"""
    card = pydealer.Card("Ace", "Spades")
    try:

        assert card.abbrev == "AS"
        return 0
    except AssertionError:
        return 1
コード例 #20
0
def test_value():
    """"""
    card = pydealer.Card("Ace", "Spades")
    try:
        
        assert card.value=="Ace"
        return 0
    except AssertionError:
        return 1
コード例 #21
0
    def play(self, state):
        board = state.split('-')[0]
        hand = state.split('-')[1].split(',')
        virtualCard = ""
        arPair = {}

        if ("Jack" in [a for a, b, c in [str(card).split() for card in hand]
                       ]) and ((board.count(self.getOpponent())) > 6):
            playCard, virtualCard, reward = self.choosebestmove(state)
            arPair[playCard] = reward
        if state in self.policy.keys():
            action = self.policy[state]
            reward = self.qdict[str(self.player) + '|' + str(state) + '|' +
                                str(action)]
            arPair[action] = reward
        else:
            while True:
                action = random.choice(hand)
                #print("Random Action: ",action)
                reward = 0
                if action.split()[0] == "Jack":
                    continue
                else:
                    arPair[action] = reward
                    break
        location = ''
        card = list(arPair.keys())[list(arPair.values()).index(
            max(arPair.values()))]
        #print(card)
        if str(card).split()[0] == "Jack":
            location = cardLocations[pydealer.Card(
                str(virtualCard).split()[0],
                str(virtualCard).split()[2])]
            self.learn(state, virtualCard)
        else:
            location = cardLocations[pydealer.Card(
                str(card).split()[0],
                str(card).split()[2])]
            self.learn(state, card)
        return card, location
def get_reward(board, card, player, location=None):
    reward = 0
    board = str_2_mat(board)
    if location == None:
        location = cardLocations[pydealer.Card(
            str(card).split()[0],
            str(card).split()[2])]
    if (int(location) >= 10):
        i = int(location[0])
        j = int(location[1])
    else:
        i = 0
        j = int(location)
    #print("location=",location)
    if (i - 1 >= 0 and j - 1 >= 0):
        reward = reward + max(
            ns(board, i - 1, j - 1, player), ew(board, i - 1, j - 1, player),
            rd(board, i - 1, j - 1, player), ld(board, i - 1, j - 1, player))
    if (i - 1 >= 0):
        reward = reward + max(
            ns(board, i - 1, j, player), ew(board, i - 1, j, player),
            rd(board, i - 1, j, player), ld(board, i - 1, j, player))
    if (i - 1 >= 0 and j + 1 < jboard):
        reward = reward + max(
            ns(board, i - 1, j + 1, player), ew(board, i - 1, j + 1, player),
            rd(board, i - 1, j + 1, player), ld(board, i - 1, j + 1, player))
    if (j + 1 < jboard):
        reward = reward + max(
            ns(board, i, j + 1, player), ew(board, i, j + 1, player),
            rd(board, i, j + 1, player), ld(board, i, j + 1, player))
    if (i + 1 < iboard and j + 1 < jboard):
        reward = reward + max(
            ns(board, i + 1, j + 1, player), ew(board, i + 1, j + 1, player),
            rd(board, i + 1, j + 1, player), ld(board, i + 1, j + 1, player))
    if (i + 1 < iboard and j - 1 >= 0):
        reward = reward + max(
            ns(board, i + 1, j - 1, player), ew(board, i + 1, j - 1, player),
            rd(board, i + 1, j - 1, player), ld(board, i + 1, j - 1, player))
    if (j - 1 >= 0):
        reward = reward + max(
            ns(board, i, j - 1, player), ew(board, i, j - 1, player),
            rd(board, i, j - 1, player), ld(board, i, j - 1, player))
    if (i + 1 < iboard):
        reward = reward + max(
            ns(board, i + 1, j, player), ew(board, i + 1, j, player),
            rd(board, i + 1, j, player), ld(board, i + 1, j, player))
    #else:
    ##print("exception has occured while reevaluating the reward!!")
    #return
    #print(reward)
    return reward
コード例 #23
0
 def updatemyQ(self, state, action):
     key = str(self.player) + '|' + str(state) + '|' + str(action)
     Qvalue = 0
     if key in self.qdict.keys():
         Qvalue = qdict[key]
     board = state.split('-')[0]
     board1 = board
     self.insertIntoString(
         board1,
         int(cardLocations[pydealer.Card(
             str(action).split()[0],
             str(action).split()[2])]), self.player)
     #board1[int(cardLocations[pydealer.Card(str(action).split()[0],str(action).split()[2])])] = self.player
     reward = get_reward(board, action, self.player)
     Qvalue = Qvalue + self.alpha * (reward + self.gamma * max(
         self.nextQvalue(board1, a)
         for a in self.actionsInState(board1)) - Qvalue)
     self.qdict[key] = Qvalue
     return
class simpleSequence(object):
    cardLocations = {
        pydealer.Card(value='2', suit='Diamonds'): '28',
        pydealer.Card(value='3', suit='Diamonds'): '27',
        pydealer.Card(value='4', suit='Diamonds'): '26',
        pydealer.Card(value='5', suit='Diamonds'): '25',
        pydealer.Card(value='6', suit='Diamonds'): '24',
        pydealer.Card(value='7', suit='Diamonds'): '23',
        pydealer.Card(value='8', suit='Diamonds'): '22',
        pydealer.Card(value='9', suit='Diamonds'): '12',
        pydealer.Card(value='10', suit='Diamonds'): '13',
        pydealer.Card(value='Queen', suit='Diamonds'): '14',
        pydealer.Card(value='King', suit='Diamonds'): '15',
        pydealer.Card(value='Ace', suit='Diamonds'): '16',
        pydealer.Card(value='2', suit='Clubs'): '35',
        pydealer.Card(value='3', suit='Clubs'): '36',
        pydealer.Card(value='4', suit='Clubs'): '37',
        pydealer.Card(value='5', suit='Clubs'): '38',
        pydealer.Card(value='6', suit='Clubs'): '39',
        pydealer.Card(value='7', suit='Clubs'): '29',
        pydealer.Card(value='8', suit='Clubs'): '19',
        pydealer.Card(value='9', suit='Clubs'): '9',
        pydealer.Card(value='10', suit='Clubs'): '8',
        pydealer.Card(value='Queen', suit='Clubs'): '7',
        pydealer.Card(value='King', suit='Clubs'): '18',
        pydealer.Card(value='Ace', suit='Clubs'): '17',
        pydealer.Card(value='2', suit='Hearts'): '6',
        pydealer.Card(value='3', suit='Hearts'): '5',
        pydealer.Card(value='4', suit='Hearts'): '4',
        pydealer.Card(value='5', suit='Hearts'): '3',
        pydealer.Card(value='6', suit='Hearts'): '2',
        pydealer.Card(value='7', suit='Hearts'): '1',
        pydealer.Card(value='8', suit='Hearts'): '11',
        pydealer.Card(value='9', suit='Hearts'): '21',
        pydealer.Card(value='10', suit='Hearts'): '31',
        pydealer.Card(value='Queen', suit='Hearts'): '32',
        pydealer.Card(value='King', suit='Hearts'): '33',
        pydealer.Card(value='Ace', suit='Hearts'): '34',
        pydealer.Card(value='2', suit='Spades'): '48',
        pydealer.Card(value='3', suit='Spades'): '47',
        pydealer.Card(value='4', suit='Spades'): '46',
        pydealer.Card(value='5', suit='Spades'): '45',
        pydealer.Card(value='6', suit='Spades'): '44',
        pydealer.Card(value='7', suit='Spades'): '43',
        pydealer.Card(value='8', suit='Spades'): '42',
        pydealer.Card(value='9', suit='Spades'): '41',
        pydealer.Card(value='10', suit='Spades'): '30',
        pydealer.Card(value='Queen', suit='Spades'): '20',
        pydealer.Card(value='King', suit='Spades'): '10',
        pydealer.Card(value='Ace', suit='Spades'): '0'
    }

    size = width, height = 1450, 732
    screen = pygame.display.set_mode(size, pygame.FULLSCREEN, 0)
    #print_board()
    reward = [[]]
    winning_combos = ([0, 10, 20, 30,
                       40], [1, 11, 21, 31,
                             41], [2, 12, 22, 32,
                                   42], [3, 13, 23, 33,
                                         43], [4, 14, 24, 34,
                                               44], [5, 15, 25, 35,
                                                     45], [6, 16, 26, 36, 46],
                      [7, 17, 27, 37,
                       47], [8, 18, 28, 38,
                             48], [9, 19, 29, 39,
                                   49], [0, 1, 2, 3, 4], [10, 11, 12, 13, 14],
                      [20, 21, 22, 23,
                       24], [20, 31, 32, 33,
                             34], [40, 41, 42, 43,
                                   44], [1, 2, 3, 4, 5], [11, 12, 13, 14, 15],
                      [21, 22, 23, 24,
                       25], [31, 32, 33, 34,
                             35], [41, 42, 43, 44,
                                   45], [2, 3, 4, 5,
                                         6], [12, 13, 14, 15,
                                              16], [22, 23, 24, 25,
                                                    26], [32, 33, 34, 35, 36],
                      [42, 43, 44, 45,
                       46], [3, 4, 5, 6,
                             7], [13, 14, 15, 16,
                                  17], [23, 24, 25, 26,
                                        27], [33, 34, 35, 36,
                                              37], [43, 44, 45, 46,
                                                    47], [4, 5, 6, 7, 8],
                      [14, 15, 16, 17,
                       18], [24, 25, 26, 27,
                             28], [34, 35, 36, 37,
                                   38], [44, 45, 46, 47,
                                         48], [5, 6, 7, 8,
                                               9], [15, 16, 17, 18,
                                                    19], [25, 26, 27, 28, 29],
                      [35, 36, 37, 38,
                       39], [45, 46, 47, 48,
                             49], [4, 13, 22, 31,
                                   40], [5, 14, 23, 32,
                                         41], [6, 15, 24, 33,
                                               42], [7, 16, 25, 34,
                                                     43], [8, 17, 26, 35, 44],
                      [9, 18, 27, 36,
                       45], [11, 22, 33,
                             44], [1, 12, 23, 34,
                                   45], [2, 13, 24, 35,
                                         46], [3, 14, 25, 36,
                                               47], [4, 15, 26, 37,
                                                     48], [5, 16, 27, 38, 49])

    def __init__(self, squares=[]):
        if len(squares) == 0:
            self.squares = [None for i in range(50)]
        else:
            self.squares = squares
        self.player = 'B'
        self.deck = pydealer.Deck()
        self.deck.shuffle()
        self.p1_hand = pydealer.Stack()
        self.p2_hand = pydealer.Stack()
        self.deal_cards()

    def str_2_card(self, move):
        tempDeck = pydealer.Deck()
        hand = tempDeck.get(move)
        return hand

    def deal_cards(self):
        #global deck, p1_hand, p2_hand
        for i in range(10):
            if i % 2 == 0:
                self.p1_hand.add(self.deck.deal())
            else:
                self.p2_hand.add(self.deck.deal())

    def print_board(self):
        #for element in [self.squares[i:i + 10] for i in range(0, len(self.squares), 10)]:
        ##print(element)
        board = pygame.image.load("board.png")
        bCoin = pygame.image.load("blue_coin.png")
        gCoin = pygame.image.load("green_coin.png")
        self.screen.blit(board, (250, 100))
        for i in range(10):
            for j in range(5):
                rl = j * 125 + 137
                cl = i * 94 + 272
                e = self.squares[j * 10 + i]
                if e == 'B':
                    self.screen.blit(bCoin, (cl, rl))
                elif e == 'G':
                    self.screen.blit(gCoin, (cl, rl))
        pygame.display.flip()
        #self.printHand()

    def board_string(self):
        board_list = self.squares
        string = ''
        for i in board_list:
            if i == None:
                string += '_'
            else:
                string += str(i)
        return string

    def available_moves(self):
        if self.player == 'B':
            r = [k for k in self.p1_hand]
            ##print(r)
            return r
        elif self.player == 'G':
            r = [k for k in self.p2_hand]
            ##print(r)
            return r

    def get_squares(self, player):
        return [k for k, v in enumerate(self.squares) if v == player]

    def make_move(self, card, location):
        empty = self.check_coin(location)
        if empty:
            self.place_coin(location, self.player)
        else:
            self.remove_coin(location)
        if self.player == 'B':
            self.p1_hand.get(str(card))
            self.p1_hand.add(self.deck.deal())
        elif self.player == 'G':
            self.p2_hand.get(str(card))
            self.p2_hand.add(self.deck.deal())
        return True

    def getHand(self, player):
        hand = ""
        if player == 'B':
            for card in self.p1_hand:
                hand = hand + "," + str(card)
        else:
            for card in self.p2_hand:
                hand = hand + "," + str(card)
        return hand[1:]

    def remove_coin(self, location):
        self.squares[int(location)] = None
        self.print_board()

    def place_coin(self, location, player):
        location = str(location)
        self.squares[int(location)] = player
        bCoin = pygame.image.load("blue_coin.png")
        gCoin = pygame.image.load("green_coin.png")
        #print("location",location)
        if len(location) == 1:
            rl = 0 * 125 + 137
            cl = int(location[0]) * 94 + 272
        else:
            rl = int(location[0]) * 125 + 137
            cl = int(location[1]) * 94 + 272
        if player == 'B':
            self.screen.blit(bCoin, (cl, rl))
        elif player == 'G':
            self.screen.blit(gCoin, (cl, rl))
        pygame.display.flip()
        pygame.time.wait(200)
        #for element in [self.squares[i:i + 10] for i in range(0, len(self.squares), 10)]:
        #rint(element)

    def find_card_location(self, card):
        return self.cardLocations[card]

    def check_coin(self, location):
        if self.squares[int(location)]:
            return False
        else:
            return True

    def winner(self):
        b = [i for i, k in enumerate(self.squares) if k == 'B']
        g = [i for i, k in enumerate(self.squares) if k == 'G']
        b.extend([40, 49])
        g.extend([40, 49])
        for i in itertools.combinations(b, 5):
            if list(i) in self.winning_combos:
                self.printComplete("Blue Won!")
                return 1
        for i in itertools.combinations(g, 5):
            if list(i) in self.winning_combos:
                self.printComplete("Green Won!")
                return -1
        return 0

    def printComplete(self, cText):
        font = pygame.font.SysFont("comicsansms", 72)
        text = font.render(str(cText), True, (0, 0, 0))
        self.screen.blit(
            text, (725 - text.get_width() // 2, 366 - text.get_height() // 2))
        pygame.display.flip()
        pygame.time.wait(5000)

    def printTitle(self, cText):
        font = pygame.font.SysFont("comicsansms", 60)
        text = font.render(str(cText), True, (255, 255, 255))
        pygame.draw.rect(self.screen, (0, 0, 0), (0, 0, 1450, 100), 0)
        self.screen.blit(text, (725 - text.get_width() // 2, 10))
        pygame.display.flip()

    def printHand(self):
        font = pygame.font.SysFont("comicsansms", 25)
        pygame.draw.rect(self.screen, (0, 0, 0), (0, 0, 250, 600), 0)
        pygame.draw.rect(self.screen, (0, 0, 0), (1200, 0, 1450, 600), 0)
        text = font.render("BLUE", True, (51, 51, 204))
        self.screen.blit(text, (125 - text.get_width() // 2, 100))
        y = 150
        for card in self.p1_hand:
            text = font.render(str(card), True, (51, 51, 204))
            self.screen.blit(text, (125 - text.get_width() // 2, y))
            y = y + 50
        text = font.render("GREEN", True, (18, 161, 18))
        self.screen.blit(text, (1325 - text.get_width() // 2, 100))
        y = 150
        for card in self.p2_hand:
            text = font.render(str(card), True, (18, 161, 18))
            self.screen.blit(text, (1325 - text.get_width() // 2, y))
            y = y + 50
        pygame.display.flip()

    def complete(self):
        #print("Deck: ",len(self.deck),", P1: ", len(self.p1_hand),", P2: ", len(self.p2_hand))
        if self.winner(): return True
        if len(self.p1_hand) <= 0 or len(self.p2_hand) <= 0:
            self.printComplete("Draw! No cards left!")
            return True
        if len(self.deck) <= 0:
            self.printComplete("Draw! No cards left!")
            return True
        return False

    def switch_player(self):
        if self.player == 'G': self.player = 'B'
        else: self.player = 'G'
import itertools
import pydealer
import random
import pygame, sys, os

#os.environ['SDL_VIDEO_WINDOW_POS'] = "%d,%d" % (50,50)

pygame.init()

cardLocations = {
    pydealer.Card(value='2', suit='Diamonds'): '28',
    pydealer.Card(value='3', suit='Diamonds'): '27',
    pydealer.Card(value='4', suit='Diamonds'): '26',
    pydealer.Card(value='5', suit='Diamonds'): '25',
    pydealer.Card(value='6', suit='Diamonds'): '24',
    pydealer.Card(value='7', suit='Diamonds'): '23',
    pydealer.Card(value='8', suit='Diamonds'): '22',
    pydealer.Card(value='9', suit='Diamonds'): '12',
    pydealer.Card(value='10', suit='Diamonds'): '13',
    pydealer.Card(value='Queen', suit='Diamonds'): '14',
    pydealer.Card(value='King', suit='Diamonds'): '15',
    pydealer.Card(value='Ace', suit='Diamonds'): '16',
    pydealer.Card(value='2', suit='Clubs'): '35',
    pydealer.Card(value='3', suit='Clubs'): '36',
    pydealer.Card(value='4', suit='Clubs'): '37',
    pydealer.Card(value='5', suit='Clubs'): '38',
    pydealer.Card(value='6', suit='Clubs'): '39',
    pydealer.Card(value='7', suit='Clubs'): '29',
    pydealer.Card(value='8', suit='Clubs'): '19',
    pydealer.Card(value='9', suit='Clubs'): '9',
    pydealer.Card(value='10', suit='Clubs'): '8',
コード例 #26
0
def add_numbered_cards_of_suit_to_hand(hand, n, suit):
    numbered_cards = ['2', '3', '4', '5', '6', '7', '8', '9']
    for _ in range(n):
        random.shuffle(numbered_cards)
        hand.add(pydealer.Card(numbered_cards.pop(), suit))
コード例 #27
0
def add_three_lowest_hearts(hand_of_cards):
    hand_of_cards.add(pydealer.Card('Two', 'Hearts'))
    hand_of_cards.add(pydealer.Card('Three', 'Hearts'))
    hand_of_cards.add(pydealer.Card('Four', 'Hearts'))
コード例 #28
0
def add_card_of_value(hand_of_cards, value, suit):
    hand_of_cards.add(pydealer.Card(value, suit))
コード例 #29
0
def calc_trick_winner(trick):
	highest_card = pyd.Card()
コード例 #30
0
    def test_gt(self):
        """"""
        two_diamonds = pydealer.Card("2", "Diamonds")

        self.assertGreater(self.card, two_diamonds)