Advertisement
Guest User

rebel son

a guest
Nov 24th, 2014
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. from random import randint
  3. #Globaalne muutuja
  4. drawn_cards = []
  5. deck = []
  6.  
  7. def create_pack():
  8. all_cards = []
  9. picture_cards = ["J", "Q", "K", "A"]
  10. card_suits = ["♣", "♠", "♥", "♦"]
  11.  
  12.  
  13. for i in range(2,11):
  14. all_cards.append(i)
  15.  
  16. for i in picture_cards:
  17. all_cards.append(i)
  18.  
  19.  
  20. for card in all_cards:
  21. for suit in card_suits:
  22. correct_card = "%s%s" % (suit, card)
  23. deck.append(correct_card)
  24.  
  25. def draw_card():
  26. while(1):
  27. draw = randint(0, len(deck) - 1)
  28. if(draw not in drawn_cards):
  29. break
  30. drawn_cards.append(draw)
  31. return draw
  32.  
  33.  
  34.  
  35. def dealer_decides(hand):
  36. value = hand_to_value(hand)
  37. print value
  38. while value < 22:
  39. if value == 21:
  40. print "Blacjack!"
  41. return
  42. elif value < 21:
  43. decide = raw_input("New card?")
  44. if decide.lower() == 'y' or decide.lower() == 'yea':
  45. new_nr = draw_card()
  46. new_card = deck[new_nr]
  47. print new_card
  48. return
  49. elif decide.lower() == 'n' or decide.lower() == 'no':
  50. "Passing turn - %d" % value
  51. return
  52. else:
  53. print "Didin't undersand anything"
  54. return
  55. return "Bust!"
  56.  
  57. def hand_to_value(hand):
  58. # Teeb kaartidest massiivi,
  59. # mis sisaldab käe arvulist väärtust.
  60. value = []
  61. picture_cards = ["J", "Q", "K", "A"]
  62. for kaart in hand:
  63. #print "%s - %d" % (kaart, len(kaart))
  64. if len(kaart) == 5:
  65. value.append(10)
  66. elif kaart[-1] == "A":
  67. value.append(11)
  68. elif kaart[-1] in picture_cards:
  69. value.append(10)
  70. elif int(kaart[-1]) in range(2, 11):
  71. value.append(int(kaart[-1]))
  72.  
  73. sum = change_aces(value)
  74. return sum
  75.  
  76. def change_aces(value):
  77. aces = value.count(11)
  78. t = sum(value)
  79. if t > 21 and aces > 0:
  80. while aces > 0 and t > 21:
  81. t -= 10
  82. aces -= 1
  83. return t
  84.  
  85. create_pack()
  86. card1 = deck[draw_card()] # (x,y)
  87. card2 = deck[draw_card()]
  88. hand = (card1, card2)
  89. print "Hand - %s | %s" % (card1, card2)
  90. print dealer_decides(hand)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement