Advertisement
Comm4nd0

21 Card Game 2.1

Oct 19th, 2015
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.90 KB | None | 0 0
  1. import random
  2.  
  3. cards = ['A_Spades','2_Spades','3_Spades','4_Spades','5_Spades','6_Spades','7_Spades','8_Spades','9_Spades','10_Spades','J_Spades','Q_Spades','K_Spades',
  4.           'A_Clubs','2_Clubs','3_Clubs','4_Clubs','5_Clubs','6_Clubs','7_Clubs','8_Clubs','9_Clubs','10_Clubs','J_Clubs','Q_Clubs','K_Clubs',
  5.           'A_Harts','2_Harts','3_Harts','4_Harts','5_Harts','6_Harts','7_Harts','8_Harts','9_Harts','10_Harts','J_Harts','Q_Harts','K_Harts',
  6.           'A_Diamonds','2_Diamonds','3_Diamonds','4_Diamonds','5_Diamonds','6_Diamonds','7_Diamonds','8_Diamonds','9_Diamonds','10_Diamonds','J_Diamonds','Q_Diamonds','K_Diamonds',]
  7.  
  8. def welcome():
  9.     print"Welccome to the game '21'\n"
  10.  
  11. def menu():
  12.     print"Make your selection."
  13.     print "[1] - Single Player"
  14.     print "[2] - Multi player"
  15.     print "[3] - EXIT"
  16.  
  17.     choice = raw_input(": ")
  18.  
  19.     if choice == "1":
  20.         multi = 0
  21.         user1Name = raw_input("What is player 1's username?\n")
  22.         user2Name = ""
  23.         deal(multi,user1Name,user2Name)
  24.     elif choice == "2":
  25.         multi = 0
  26.         multi += 1
  27.         user1Name = raw_input("What is player 1's username?\n")
  28.         user2Name = raw_input("What is player 2's username?\n")
  29.         deal(multi,user1Name,user2Name)
  30.  
  31. def deal(multi,user1Name,user2Name):
  32.     user1 = []
  33.     user2 = []
  34.     comp1 = []
  35.     comp2 = []
  36.     changeOpt = "y"
  37.     user1 = userDeal(changeOpt,user1Name)
  38.  
  39.     if multi == 1:
  40.         changeOpt = "y"
  41.         user2 = userDeal(changeOpt,user2Name)
  42.  
  43.     comp1Name = "CPU1"
  44.     comp2Name = "CPU2"
  45.     changeOpt = "n"
  46.     comp1 = userDeal(changeOpt,comp1Name)
  47.  
  48.     if multi == 1:
  49.         changeOpt = "n"
  50.         comp2 = userDeal(changeOpt,comp2Name)
  51.  
  52.     winner(multi,user1,user2,comp1,comp2,user1Name,user2Name,comp1Name,comp2Name)
  53.  
  54. def userDeal(changeOpt,name):
  55.     hand = []
  56.     card1 = 0
  57.     card2 = 0
  58.     cardCount = 52
  59.     card1 = random.randrange(0,cardCount)
  60.     del cards[card1]
  61.     cardCount -= 1
  62.     card2 = random.randrange(0,cardCount)
  63.     del cards[card2]
  64.     cardCount -= 1
  65.     hand.append(cards[card1])
  66.     hand.append(cards[card2])
  67.     print "\n" + name + ", your cards are: "
  68.     print hand
  69.     if changeOpt == "y":
  70.         change = raw_input("Change card? y/N:")
  71.         if change.lower() == "y":
  72.             hand = changeCard(hand,name)
  73.     if changeOpt == "n":
  74.  
  75.  
  76.     return hand
  77.  
  78. def changeCard(hand,name):
  79.     print "\nWhich card would you like to change?"
  80.     print hand
  81.     print "Card (A)____Card (B)"
  82.     choice = raw_input("A or B: ")
  83.     if choice.lower() == "a":
  84.         card = 0
  85.         card = random.randrange(0,51)
  86.         del hand[0]
  87.         hand.append(cards[card])
  88.         print "\n" + name + ", your cards are: "
  89.         print hand
  90.     if choice.lower() == "b":
  91.         card = 0
  92.         card = random.randrange(0,51)
  93.         del hand[1]
  94.         hand.append(cards[card])
  95.         print "\n" + name + ", your cards are: "
  96.         print hand
  97.     return hand
  98.  
  99. def winner(multi,user1,user2,comp1,comp2,user1Name,user2Name,comp1Name,comp2Name):
  100.     user1 = cardVal(user1)
  101.     print"\n%s your score is: %s" % (user1Name ,user1)
  102.     if multi == 1:
  103.         user2 = cardVal(user2)
  104.         print"%s your score is: %s" % (user2Name ,user2)
  105.     comp1 = cardVal(comp1)
  106.     print "CPU1's score is %s" % (comp1)
  107.     if multi == 1:
  108.         comp2 = cardVal(comp2)
  109.         print "CPU2's score is %s" % (comp2)
  110.         print "\nWINNER"
  111.         winner = max(user1,user2,comp1,comp2)
  112.         if winner == user1:
  113.             print "The winner is %s with %s!" % (user1Name,winner)
  114.         if winner == comp1:
  115.             print "The winner is %s with %s!" % (comp1Name,winner)
  116.         if winner == user2:
  117.             print "The winner is %s with %s!" % (user2Name,winner)
  118.         if winner == comp2:
  119.             print "The winner is %s with %s!" % (comp2Name,winner)
  120.     #option to change card here!!
  121.     if multi <1:
  122.         print "\nWINNER"
  123.         winner = max(user1,comp1)
  124.         if winner == user1:
  125.             print "The winner is %s with %s!" % (user1Name,winner)
  126.         if winner == comp1:
  127.             print "The winner is %s with %s!" % (comp1Name,winner)
  128.  
  129. def cardVal(user):
  130.     cardVal = 0
  131.     cardsTotal = 0
  132.     cardNo = 0
  133.     while cardNo < 2:
  134.         card = user[cardNo][0]
  135.         if card == "A":
  136.             cardVal = 11
  137.         elif card == "2":
  138.             cardVal = 2
  139.         elif card == "3":
  140.             cardVal = 3
  141.         elif card == "4":
  142.             cardVal = 4
  143.         elif card == "5":
  144.             cardVal = 5
  145.         elif card == "6":
  146.             cardVal = 6
  147.         elif card == "7":
  148.             cardVal = 7
  149.         elif card == "8":
  150.             cardVal = 8
  151.         elif card == "9":
  152.             cardVal = 9
  153.         else:
  154.             cardVal = 10
  155.  
  156.         cardNo += 1
  157.         cardsTotal = cardsTotal + cardVal
  158.  
  159.     return cardsTotal
  160.  
  161. welcome()
  162. menu()
  163.  
  164. print"END!"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement