Ich bin ein kleines Blackjacksimulationsprogramm am schreiben. Nun habe ich beim ersten Teil (ohne double down und split pairs) ein kleines Problem.
Code: Alles auswählen
def BJpart1(playercards, D=Deck, W=0, L=0, T=0):
Basic_Deck = [2,3,4,5,6,7,8,9,10,10,10,10,11]
Deck = 32*Basic_Deck
for x in range(2,12): #x= Karten des Dealers
D.remove(x)
for s in range(12,21): # s<= stand, s> draw
for i in range(1000):
random.shuffle(Dnew)
for j in range(6): # Das Ziehen weiteren sieben Karten ist unwahrscheinlich
if D[j]+playercards == 21:
Pend = 'BJP' # Player hat Blackjack -> "Blackjackplayer"
elif D[j]+playercards >= s:
Pend = D[j]+playercards #Playerend is erreicht, falls die Summe grösser als der testwert von s ist
break
else: playercards = D[j]+playercards #Das gleiche wird nun mit dem Dealer gemacht
for k in range(6,12): #6-11, damit nicht die gleichen Karten wie beim player gezogen werde.
if D[k]+x == 21:
Dend = 'BJD' # Dealder hat Blackjack -> "Blackjackdealer"
elif D[k]+x >= 17:
Dend = D[k]+x#Dealerend erreicht
break
else: x = Dnew[k]+x
if Pend > 21:
L = L + 1
elif Pend > Dend and Pend <= 21:
W = W + 1
elif Pend < Dend and Dend <= 21: # W=wins, L=losses, T=ties
L = L + 1
elif Pend <= 21 and Dend > 21:
W = W + 1
elif Pend <= 21 and Pend == Dend:
T = T + 1
elif Dend == 'BJD' and Pend != 'BJP':
L = L + 1
elif Dend == 'BJD' and Pend == 'BJP':
T = T + 1
elif Dend != 'BJD' and Pend == 'BJP':
W = W + 1
print(W, L, T)
Code: Alles auswählen
BJpart1(13)
0 1 0
Mfg