コード例 #1
0
ファイル: card_game.py プロジェクト: vtpp2014/card-kit
    def ready_to_run(self):
        """Initialization done after pygame initializes.

        This happens before the run looop starts.
        """
        card_sprite.load_spritesheet()

        self.deck = deck.Deck()
        self.deck.shuffle()
        self.deck_location = (150, 150)

        self.discard_pile = deck.Deck(initial_cards=[])
        self.discard_pile_location = (300, 150)

        self.flash = flash.FlashMessage(
            message="Draw some cards!\nPress 'n' to reset.",
            duration=3000,
            fade_duration=2000)
        self.flash.show()
        self.flash_location = (100, 50)

        deck_rect = self.deck.drawing_rect()
        self.deck_bounding_rect = deck_rect.move(self.deck_location)
        self.discard_pile_bounding_rect = deck_rect.move(
            self.discard_pile_location)
コード例 #2
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testPeekDoesNotRemoveCardFromDeck(self):
     cards = [card.Card(ck.ACE, suit, ck.FACE_DOWN) for suit in ck.SUITS]
     d = deck.Deck(cards)
     c = d.peek()
     self.assertEqual(len(cards), len(d))
     c2 = d.deal()
     self.assertEqual(c, c2)
コード例 #3
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testInitialCardsAreDealtInOrder(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     self.assertEqual(cards[0], d.deal())
     self.assertEqual(cards[1], d.deal())
     self.assertEqual(cards[2], d.deal())
     self.assertEqual(cards[3], d.deal())
コード例 #4
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testResetUnshufflesDeck(self):
     random.seed("foo")
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     d.shuffle()
     d.reset()
     dealt_cards = d.deal_several(4)
     self.assertEqual(cards, dealt_cards)
コード例 #5
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testResetSetsDeckToOriginalCards(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     d.deal_several(len(cards))
     self.assertEqual(0, len(d))
     d.reset()
     self.assertEqual(len(cards), len(d))
     dealt_cards = d.deal_several(4)
     self.assertEqual(cards, dealt_cards)
コード例 #6
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testAddAddsCardToTopOfDeck(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     new_card = card.Card(ck.TWO, ck.CLUBS)
     d.add(new_card)
     c = d.deal()
     self.assertEqual(new_card, c)
     c = d.deal()
     self.assertEqual(cards[0], c)
コード例 #7
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testAddToBottomAddsCardToBottomOfDeck(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     new_card = card.Card(ck.TWO, ck.CLUBS)
     d.add(new_card, to_bottom=True)
     dealt_cards = d.deal_several(len(cards))
     self.assertEqual(cards, dealt_cards)
     c = d.deal()
     self.assertEqual(new_card, c)
コード例 #8
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealWithFaceSetsFace(self):
     d = deck.Deck([
         card.Card(ck.ACE, ck.SPADES, ck.FACE_DOWN),
         card.Card(ck.ACE, ck.SPADES, ck.FACE_UP)
     ])
     c = d.deal(face=ck.FACE_UP)
     self.assertEqual(ck.FACE_UP, c.face)
     c = d.deal(face=ck.FACE_DOWN)
     self.assertEqual(ck.FACE_DOWN, c.face)
コード例 #9
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testShuffle(self):
     # Hardcode the seed for this test.
     random.seed("foo")
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     d.shuffle()
     dealt_cards = d.deal_several(len(cards))
     # This was determined by capturing the results using the given seed.
     expected_shuffle = [cards[0], cards[3], cards[1], cards[2]]
     self.assertEqual(expected_shuffle, dealt_cards)
コード例 #10
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testPeekFailsIfDeckIsEmpty(self):
     d = deck.Deck([])
     with self.assertRaises(deck.DeckError):
         d.peek()
コード例 #11
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDefaultDeckHas52Cards(self):
     d = deck.Deck()
     self.assertEqual(52, len(d))
コード例 #12
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testCanCreateDeckWithCustomCardSet(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     self.assertEqual(4, len(d))
コード例 #13
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testPeekShowsTopCard(self):
     cards = [card.Card(ck.ACE, suit, ck.FACE_DOWN) for suit in ck.SUITS]
     d = deck.Deck(cards)
     c = d.peek()
     self.assertEqual(cards[0], c)
コード例 #14
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealSeveralWithFaceSetsFace(self):
     cards = [card.Card(ck.ACE, suit, ck.FACE_DOWN) for suit in ck.SUITS]
     d = deck.Deck(cards)
     dealt_cards = d.deal_several(2, ck.FACE_UP)
     for c in dealt_cards:
         self.assertEqual(ck.FACE_UP, c.face)
コード例 #15
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealSeveralRemovesCardsFromDeck(self):
     d = deck.Deck()
     d.deal_several(7)
     self.assertEqual(45, len(d))
コード例 #16
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealRemovesCardFromDeck(self):
     d = deck.Deck()
     d.deal()
     self.assertEqual(51, len(d))
コード例 #17
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealSeveralDealsInOrder(self):
     cards = [card.Card(ck.ACE, suit) for suit in ck.SUITS]
     d = deck.Deck(cards)
     dealt_cards = d.deal_several(len(cards))
     self.assertEqual(cards, dealt_cards)
コード例 #18
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDealFailsIfDeckIsEmpty(self):
     d = deck.Deck([])
     with self.assertRaises(deck.DeckError):
         d.deal()
コード例 #19
0
ファイル: test_deck.py プロジェクト: vtpp2014/card-kit
 def testDeckIsEmpty(self):
     d = deck.Deck([])
     self.assertTrue(d.is_empty())
     d = deck.Deck()
     self.assertFalse(d.is_empty())