我目前正在Visual Basic中爲我在學校的項目製作二十一點遊戲。BlackJack Project - 無法將ace從11更改爲1
在大酒杯,當你有王牌(初始值11),其值變爲1時的卡的總價值爲> 21碼,這將只是把每一個ACE
我走10米堅持這一點。
這是我有(即不工作)的代碼:
Do While PlayerValue > 21 And counter <= noAcesPlayer
counter += 1
PlayerValue -= 10
Loop
在塞納里奧,我有:2,8,A,8(= 29) 但是,由於有一個Ace,並且總值大於21,則應該從中減去10(= 19) - 上述代碼不會執行此操作。
另一種情形將是10,8,A,A(= 40) 再次,兩個A應該變成1的,由於總值> 21,給20
任何幫助,將不勝感激。 :)
您在兩個示例中獲得了什麼值,而不是正確的值?使用調試器時,'PlayerValue'和'counter'是否具有正確的初始值? – SolarBear
我的猜測是'counter'或'noAcesPlayer'(我們都猜猜它們是什麼)沒有你認爲它的價值,所以循環從不輸入。使用一個斷點來檢查它們的值。 – Plutonix
同意@Plutonix。你在循環之前/之後重置了「計數器」嗎? '計數器= 0' – Steve