Blackjack-forhandler ess verdi

Fa via App Store Les dette innlegget i var app!

Beregner handverdier i Blackjack.

Jeg implementerer et lite Black Jack-spill i C #, og jeg har folgende problem a beregne spillerens handverdi. Ess kan ha en verdi pa 1 eller 11 basert pa spillerens hand. Hvis spilleren har tre kort og ett ess, sa hvis summen av kortene er & lt = = 10 vil esen ha verdi pa 11, ellers vil den ha en verdi pa 1.

Na kan vi anta at jeg ikke vet hvor mange ess spilleren har, og spillet er implementert, slik at forhandleren kan bruke mer enn ett kortkort. Brukeren kan ha i en hand til og med 5, 6, 7, 8. ess.

Hva er den beste maten (muligens a bruke Linq) for a evaluere alle essene spilleren har til a fa den n rmeste kombinasjonen til 21 (i tillegg til de andre kortene)?

Jeg kjenner spillerens kort og jeg vil beregne verdiene deres, ved a bruke essene til a na den n rmeste verdien til 21.

Legg opp verdien av alle ikke-essene og legg til antall esser: 2, Q, A, A = 2 + 10 + (2) = 14.

Deretter trekker du det fra 21: 21-14 = 7.

Er dette tallet mindre enn 10 (hvis bare 1 ess == 11)? Mindre enn 20 (hvis begge ess == 11)?

Siden dette foles som lekser, er dette med vilje ikke det komplette svaret, men skal veilede deg sammen.

Det virker ikke sa komplisert,

du legger bare til alle andre kort og finner den laveste verdien handen har na to tilfeller: sum & lt; = 10: slik at du sjekker hvordan to utfall antar at ett ess kan betraktes som 11 pa denne maten: sum + 11 + ( numAces-1) * 1