Hey Jungs beim Blackjack, der Dealer wird wissen, dass Ass 1 oder 11 sein kann, aber wenn die Gelegenheit kommt es als 1 zu spielen, bust es. Zum Beispiel:Blackjack-Programm, Probleme mit Händler zu erkennen Ace-Wert [Python]
mit 2 Asse beginnen, haben Sie technisch entweder 2, eine 12 oder eine 22
können sagen, die erste Karte des Dealers ist ein Jack bekommt.
Daher haben Sie entweder: a 12, a 22, oder 32. der Computer daher, hält die 12 Haltung, und fügt die Buchse, so dass es eine 22 und verliert.
Hier ist der Code
def evaluateHand(self, dHand):
DValue = 0
for card in dHand:
rank = card.getRank()
if rank > 10:
rank = 10
elif rank == 1 and DValue + 11 <= 21:
rank = 11
DValue = DValue + rank
return DValue
hier, wo ich für ace meinen Wert zu definieren, und ich bin mir ziemlich sicher, dass es an meinem elif-Anweisung ist, aber sonst nichts ich versuche ausarbeitet. irgendwelche Vorschläge?
kleinen Vorschlag: Änderung 'card.getRank (') stattdessen eine Eigenschaft verwenden und nenne es Rang. Erstellen Sie eine neue Eigenschaft mit dem Namen 'hand_value', die die Bewertung der Karte (1-10) übernimmt. Deine Karten sollten wissen, wie viel sie wert sind, und deine Hand sollte sich nicht darum kümmern, was ihre Ränge sind (außer dass Asse Sonderkasas sein müssen) –
Betrachten wir ein 'card.py', das ungefähr so aussieht [this] (https: //gist.github.com/NotTheEconomist/74d2369f144852141054b9cd11195789) –