Advertisement
dmveazey

War

Mar 22nd, 2012
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.18 KB | None | 0 0
  1. import random
  2.  
  3. def shuffled_deck():
  4.     deck = []
  5.     for suit in ['Clubs', 'Diamonds', 'Hearts', 'Spades']:
  6.         for num in xrange(2, 15):
  7.             deck.append([num, suit])
  8.     random.shuffle(deck)
  9.     return deck
  10.    
  11. def card_name(card):
  12.     if card == 11:
  13.         return 'Jack'
  14.     elif card == 12:
  15.         return 'Queen'
  16.     elif card == 13:
  17.         return 'King'
  18.     elif card == 14:
  19.         return 'Ace'
  20.     else:
  21.         return str(card)
  22.  
  23. def deal_cards(deck):
  24.     return deck[::2], deck[1::2]
  25.  
  26. def check_cards(player1, player2):
  27.     if player1 > player2:
  28.         return 'player1'
  29.     elif player1 < player2:
  30.         return 'player2'
  31.     else:
  32.         return 'tied'
  33.        
  34. def replenish(wonpile):
  35.     random.shuffle(wonpile)
  36.     return wonpile
  37.  
  38. deck = shuffled_deck()
  39. hand1, hand2 = deal_cards(deck)
  40. ontable = []
  41. round = 0
  42. hand1won = []
  43. hand2won = []
  44.  
  45. while len(hand1) > 0 and len(hand2) > 0:
  46.     round += 1
  47.     print "Round %d" % round
  48.     card1 = hand1.pop(0)
  49.     card2 = hand2.pop(0)
  50.     ontable.extend([card1, card2])
  51.     print "Player One plays the %s of %s." % (card_name(card1[0]), card1[1])
  52.     print "Player Two plays the %s of %s." % (card_name(card2[0]), card2[1])
  53.     play_winner = check_cards(card1[0], card2[0])
  54.     if play_winner == 'player1':
  55.         print "Player One wins the round."
  56.         hand1won.extend(ontable)
  57.         ontable = []
  58.     elif play_winner == 'player2':
  59.         print "Player Two wins the round."
  60.         hand2won.extend(ontable)
  61.         ontable = []
  62.     elif play_winner == 'tied':
  63.         print "The players tie for this round and the cards remain on the table."
  64.     print "The score is now Player One: %s, Player Two: %s" % (len(hand1won)+len(hand1), len(hand2won)+len(hand2))
  65.     if len(hand1) == 0 and len(hand1won) > 0:
  66.         print "Player One replenishes."
  67.         hand1 = replenish(hand1won)
  68.         hand1won = []
  69.     if len(hand2) == 0 and len(hand2won) > 0:
  70.         print "Player Two replenishes."
  71.         hand2 = replenish(hand2won)
  72.         hand2won = []
  73.  
  74. if len(hand1) > len(hand2):
  75.     print "Player One wins the game!"
  76. elif len(hand1) < len(hand2):
  77.     print "Player Two wins the game!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement