- #1
garr6120
- 42
- 0
I am having trouble removing the same cards from my hand in my game of oldMaid. this is my source:
Mod note: Added code tags to preserve indentation, and modified code slightly (replacing index i in arrays with j.
Mod note: Added code tags to preserve indentation, and modified code slightly (replacing index i in arrays with j.
Python:
deck=[]
suits = ['\u2660', '\u2661', '\u2662', '\u2663']
ranks = ['2','3','4','5','6','7','8','9','10','J','Q','K','A']
for suit in suits:
for rank in ranks:
deck.append(rank+suit)
deck.remove('Q\u2663') # remove a queen as the game requires
return deck
def shuffle_deck(deck):
'''(list of str)->None
Shuffles the given list of strings representing the playing deck
'''
random.shuffle(deck)
#####################################
def deal_cards(deck):
dealer=[]
other=[]
half=len(deck)//2
for j in range(half):
dealer.append(deck[j])
for j in range(half,len(deck)):
other.append(deck[j])
return (dealer, other)
def remove_pairs(l):
no_pairs=[]
for j in range(1,len(l)):
if l[j-1][0]!=l[j][0]:
no_pairs.append(l[j])
random.shuffle(no_pairs)
return no_pairs
def play_game():
'''()->None
This function plays the game'''
deck=make_deck()
shuffle_deck(deck)
tmp=deal_cards(deck)
dealer=tmp[0]
human=tmp[1]
print("Hello. My name is Robot and I am the dealer.")
print("Welcome to my card game!")
print("Your current deck of cards is:")
print_deck(human)
print("Do not worry. I cannot see the order of your cards")
print("Now discard all the pairs from your deck. I will do the same.")
wait_for_player()
dealer=remove_pairs(dealer)
human=remove_pairs(human)
# main
play_game()
Last edited by a moderator: