Mar-06-2020, 02:53 PM
Hey guys/gals,
I have been working on my first python project of modelling a deck of standard playing cards. I am hoping to program a basic card game and then begin making a GUI for it.
I am stuck on getting the players hand organized. The card class has two attributes: value, suit. I would like to organize by 'value' so that I can come back check for pairs, 3 of a kind, etc...
Also, I just started reviewing PEP-8 recently. So I will be reorganizing things after its all functional as a learning exercise.
What do you guys/gals recommend
I have been working on my first python project of modelling a deck of standard playing cards. I am hoping to program a basic card game and then begin making a GUI for it.
I am stuck on getting the players hand organized. The card class has two attributes: value, suit. I would like to organize by 'value' so that I can come back check for pairs, 3 of a kind, etc...
Also, I just started reviewing PEP-8 recently. So I will be reorganizing things after its all functional as a learning exercise.
What do you guys/gals recommend
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
from Card import Card class Deck: def __init__( self ): self .deck_of_cards = [] def initialize_deck( self ): suits = [ "Hearts" , "Clubs" , "Spades" , "Diamonds" ] values = [ "Ace" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "Jack" , "Queen" , "King" ] for suit in suits: for value in values: temp_card = Card() #create a temporary card for each iteration temp_card.setvalue(value) #set value and suit of temporary card prior to storage temp_card.setsuit(suit) self .deck_of_cards.append(temp_card) #store card in the Deck object def shuffle_deck( self ): import random #Import "random" module to gain access to "random.shuffle()" random.shuffle( self .deck_of_cards) def draw_card( self ): temp_card = self .deck_of_cards.pop() return (temp_card) def load_card( self , temp_card): self .deck_of_cards.append(temp_card) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class Card: def __init__( self ): self .value = "UNASSIGNED VALUE" self .suit = "UNASSIGNED SUIT" #def __init__(self, newvalue, newsuit): #self.value = newvalue #self.suit = newsuit def getvalue( self ): return ( self .value) def getsuit( self ): return ( self .suit) def setvalue( self , new_value): self .value = new_value def setsuit( self , new_suit): self .suit = new_suit def identify_card( self ): print ( self .getvalue(), "of" , self .getsuit()) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
from Deck import Deck from Card import Card class Hand: def __init__( self ): self .cards_in_hand = [] def look_hand( self ): for card in self .cards_in_hand: card.identify_card() def draw_card( self , deck): self .cards_in_hand.append(deck.draw_card()) #def give_card(self): #FUNCTION WILL REMOVE A SPECIFIC CARD FROM HAND.CARDS_IN_HAND[]. #FUNCTION WILL RECIEVE A NUMBER WHICH CORRELATES TO THE INDEX LOCATION OF THE #CARD TO BE RETURNED BY THE FUNCTION #def sort_hand(self): #FUNCTION WILL ORDER THE HAND BY VALUE OF THE CARDS. #def check_hand(self): #FUNCTION WILL RETURN AN INTEGER WHICH CORRESPONDS TO HIGHEST CHANCE TO WIN #AND AN INTEGER WHICH CORRESPONDS TO THE HIGH CARD OF THE HAND, # HIGH CARD = 0 # PAIR = 1 # TWO PAIR = 2 # 3 OF A KIND = 3 # STRAIGHT = 4 # FLUSH = 5 # FULL HOUSE = 6 # 4 OF A KIND = 7 # STR8T FLUSH = 8 # ROYAL FLUSH = 9 # 4 OF A KIND = 3 # HIGH CARD: 2 = [0], 3 = [1] ... ACE = [13] |