嘿傢伙玩二十一點時,經銷商會知道ace可以是1或11,但是當機會來玩它爲1時,它會破產。例如:二十一點計劃,與經銷商認可的Ace值有問題[蟒蛇]
用2個ACE球剛開始時,你在技術上有一張2,12,或22
比方說第一張牌莊家的牌是傑克。
因此,你有:一個12,一個22,或一個32. 因此,保持12的態度,並增加了傑克使它成爲22並失去。
這裏的代碼
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
這裏就是我定義的王牌我的價值,我敢肯定這是我的elif語句,但沒有別的我嘗試出來的作品。 有什麼建議嗎?
小建議:改變'card.getRank()'使用的屬性,而不是,並稱之爲「排名」。創建一個名爲'hand_value'的新屬性來處理卡片的估價(1-10)。你的牌應該知道他們的價值,你的牌不應該在意他們的等級是多少(除非牌必須是特殊裝的) –
考慮一個'card.py',看起來像[this](https: //gist.github.com/NotTheEconomist/74d2369f144852141054b9cd11195789) –