Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from numpy import random
- # 0 is win, -2 is lose, -1 is draw
- bustscore = -1
- cards = player = house = []
- pres = hres = [0]
- def pscore():return pres[-1]
- def hscore(): return hres[-1]
- def start(busts):
- global player,house,cards,bustscore,pres,hres
- bustscore = busts
- player = []
- cards = []
- house = []
- hres = [0]
- pres = [0]
- cards = 4*[i for i in range(1,14)]
- random.shuffle(cards)
- for i in range(2):
- x = hit()
- if x == 0 or x == -2:
- return x
- x = dealer()
- if x != None:
- return x
- res = player + [house[0]]
- return res
- def hit():
- global player,house,cards,bustscore,pres,hres
- x = cards.pop()
- player.append(min(10,x))
- pres = [i+min(x,10) for i in pres]
- if x == 1:
- pres.extend([i+10 for i in pres])
- pres.sort()
- while len(pres) != 0:
- if pres[-1] > bustscore:
- pres.pop()
- elif pres[-1] == bustscore:
- return 0 #Win
- else:
- break
- if (len(pres) == 0):
- return -2 #Lose
- return x
- def dealer():
- global player,house,cards,bustscore,pres,hres
- x = hres[-1]
- y = pres[-1]
- if x >= bustscore-4 and x > y:
- return -2 #Dealer wins
- if x >= bustscore-4 and x == y:
- return -1 #Draw
- d = cards.pop()
- house.append(min(10,d))
- hres = [i + min(10,d) for i in hres]
- if (d == 1):
- hres.extend([i+10 for i in hres])
- while len(hres) != 0:
- if hres[-1] > bustscore:
- hres.pop()
- elif hres[-1] == bustscore:
- return -2 #Dealer Blackjack
- else:
- break
- if len(hres) == 0:
- return 0 #player Wins
- return None
- def stand():
- global player,house,cards,bustscore,pres,hres
- while True:
- x = dealer()
- if x != None:
- return x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement