-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
138 lines (114 loc) · 4.01 KB
/
Copy pathmain.py
File metadata and controls
138 lines (114 loc) · 4.01 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
import Chips
import Deck
def can_hit_more(cards_at_hand):
i = len(cards_at_hand)
#print(list(range(0,i,1)))
#print(str(i))
valuesum=0
for count in range(0, i, 1):
print("cards_at_hand: "+cards_at_hand[count][0][0])
valuesum += int(Deck.values[cards_at_hand[count][0][0]])
if valuesum < 21:
print("Player is eligible to hit more")
return True
else:
return False
def check_if_blackjack(cards_at_hand):
i = len(cards_at_hand)
valuesum=0
for count in range(0,i,1):
#print(Deck.values[cards_at_hand[count][0][0]])
valuesum += int(Deck.values[cards_at_hand[count][0][0]])
if valuesum == 21:
return True
else:
return False
def check_if_busted(cards_at_hand):
i = len(cards_at_hand)
valuesum = 0
for count in range(0, i, 1):
valuesum += int(Deck.values[cards_at_hand[count][0][0]])
if valuesum == 21:
return True
else:
return False
def declare_winner(dealercard1,dealercard2,playercard):
print(f"Dealer card #2 is " + dealercard2[0][0] + " of " + dealercard2[0][1])
dealersum = int(Deck.values[dealercard1[0][0]]) + int(Deck.values[dealercard2[0][0]])
playersum=0
i = len(playercard)
for count in range(0, i, 1):
playersum += int(Deck.values[playercard[count][0][0]])
print("playersum: "+str(playersum))
print("dealersum: "+str(dealersum))
if dealersum < 21 and playersum < 21:
if playersum > dealersum:
return "player"
elif playersum < dealersum:
return "dealer"
elif dealersum > 21:
print("Dealer busted!")
return "player"
elif playersum > 21:
print("Player busted!")
return "dealer"
elif dealersum == 21:
print("Dealer black-jack")
return "dealer"
elif playersum == 21:
print("Player black-jack")
return "player"
def next_hand(playercard,deck):
if input("Want to hit ? enter 'y' or 'n'") == 'y':
playercard.append(deck.popacard())
return playercard
def another_hand():
result = input("Do you want to play another hand? Enter 'y' or 'n'")
if result[0].lower() == 'y':
return True
else:
return False
def main():
#shuffle the cards:
deck = Deck.Deck()
deck.shuffle()
next_hit = True
while next_hit:
#Place a bet
bet=int(input("Make a bet"))
chips = Chips.Chips()
chips.placebet(bet)
#Draw cards for Dealer:
dealercard1 = deck.popacard()
print(f"Dealer card #1 is "+dealercard1[0][0]+ " of "+dealercard1[0][1])
dealercard2=deck.popacard()
#pop 2 cards for Player
playercard = []
#playercard = [('ten','spades'),('ace','spades')]
playercard.append(deck.popacard())
playercard.append(deck.popacard())
print(f"Player card #1 is {playercard[0][0][0]} of {playercard[0][0][1]}")
print(f"Player card #2 is {playercard[1][0][0]} of {playercard[1][0][1]}")
hit_more = True
while hit_more:
if can_hit_more(playercard):
print("inside can_hit_more")
if input("Want to hit ? enter 'y' or 'n'") == 'y':
playercard.append(deck.popacard())
if not check_if_blackjack(playercard):
if not check_if_busted(playercard):
hit_more=True
else:
hit_more=False
else:
hit_more=False
else:
hit_more=False
else:
hit_more=False
result = declare_winner(dealercard1, dealercard2, playercard)
if result == "player":
print("Player wins")
elif result == "dealer":
print("dealer")
main()