forked from vaibhav-jain18/python
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBlackJack_Game.py
More file actions
143 lines (124 loc) · 3.68 KB
/
BlackJack_Game.py
File metadata and controls
143 lines (124 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
import random as rn
deck = [2,3,4,5,6,7,8,9,10,'J','Q','K','A']
suit = ['spade' , 'heart' , 'diamond' , 'club']
arr = []
pl = []
dl = []
# Check Blackjack__________________________________________
def BlackJack(s):
if s==21:
return True
else:
return False
# Check Bust_______________________________________________
def Bust(s):
if s>21:
return True
else:
return False
# Check Ace is 1 or 11_____________________________________
def check_For_Ace(s):
if (s+11)<=21:
return 11
else:
return 1
# Adjust the sum___________________________________________
def check_sum(s):
if s < 21:
return s
for i in range(len(pl)-1,-1,-1):
if pl[i] == 'A':
s -= 10
break
return s
# creating a well shuffled pack of cards___________________
def startGame():
print("Welcome to the BlackJack Game:\n")
for i in suit:
for j in deck:
arr.append([i,j])
rn.shuffle(arr)
pl.append(arr[0])
pl.append(arr[1])
dl.append(arr[2])
dl.append(arr[3])
print(f'\nDealer draws {dl[0]} and [xxxxxx,xx]\n')
s = 0
for i in range(0,2):
if arr[i][1] == 'J' or arr[i][1] == 'K' or arr[i][1] == 'Q':
s += 10
elif arr[i][1] == 'A':
s += check_For_Ace(s)
else:
s += arr[i][1]
return s
# player's chance__________________________________________
def playersTurn(s):
print("You are currently at " + str(s))
print(f'Current Hand: {pl}')
s = check_sum(s)
if (BlackJack(s)):
print("Hurray......It's a BLACKJACK....You Won\n")
return 2
elif (Bust(s)):
print("You got Bust.....You Lost\n")
return 3
while(1):
i = int(input("\nHit(Press 1) or Stay(Press 0): "))
if i==1 or i==0:
return i
else:
print("Enter a valid number....\n")
if __name__ == '__main__':
s = startGame()
c = j = 0
for i in range(4,len(arr)):
j = playersTurn(s)
if j == 2 or j == 3:
j = i
break
elif j == 0:
j = i
c = 100
break
print(f'You draw {arr[i]}\n')
if arr[i][1] == 'J' or arr[i][1] == 'K' or arr[i][1] == 'Q':
c = 10
elif arr[i][1] == 'A':
c = check_For_Ace(s)
else:
c = arr[i][1]
s += c
pl.append(arr[i])
if c == 100:
sp = s
s = 0
for i in range(2,4):
if arr[i][1] == 'J' or arr[i][1] == 'K' or arr[i][1] == 'Q':
s += 10
elif arr[i][1] == 'A':
s += check_For_Ace(s)
else:
s += arr[i][1]
print(f"\nDealer's second card was {dl[1]}")
for i in range(j,len(arr)):
print(f"\nDealer is at {s}")
print(f"\nDealer's current hand: {dl}\n")
s = check_sum(s)
if (BlackJack(s)):
print("Dealer got a BlackJack and won the Game\nYou Lost\n")
break
elif (Bust(s)):
print("Dealer got Busted\nYou Won\n")
break
elif (sp < s):
print("Dealer Won the Game\n")
break
print(f"Dealer draws {arr[i]}")
dl.append(arr[i])
if arr[i][1] == 'J' or arr[i][1] == 'K' or arr[i][1] == 'Q':
s += 10
elif arr[i][1] == 'A':
s += check_For_Ace(s)
else:
s += arr[i][1]