Hogy oldanátok meg ezt a feladatot? (C#)
Egy blackjack-et szeretnék, csinálni. A lapok szétosztása, mind a banknak mind a játékosnak megvan. Sőt a játékos már lapot is tud kérni, egésze az 5. lapig(mert ugye szabályban is így van). A program, tudja pontozni a 2-3-4-5-6-7-8-9 es lapokat valamint a tízes értékűeket. (10-jumbo-dáma-király)
Viszont az ász pontozását, nem tudom, hogy oldhatnám meg. Ugyebár azt kéne, hogy mikor a játékos ászt, kap akkor ugye alapból 11- et kapjon az ász viszont, ha így túllépi a 21, et akkor csak 1 et érhet, hogy ne lépje túl. Viszont ha pl kaptunk egy kettest meg ászt, akkor ugye 13 pontunk van(ász=11 2=2) viszont ha erre húzunk egy tízes értékű lapot(10-jumbo-dáma-király) akkor ász értéke csökkenjen egyre, tehát ász=1 2=2 tízes=10 így a pontunk 13-lesz. Fordítva, is kellene működnie- tehát pl kapunk egy tízest, és 5 öst akkor az 15 pont. Erre húzunk ászt, akkor ott az ásznak az értéke kezdettől fogva csak 1 lehet, hogy a játékos ne lépje túl a 21 et. Ennek a megoldására, szeretnék ötleteket, kódokat, valamit. A progi, a fájlnevek alapján tudja, meg hogy melyik kártya mi is lehet. Tehát, csak a pontozás kéne az ászra. Ezt a részt nem tudom megfejteni sajnos. Tehát ász értéke lehet 1 és 11. A megoldásokat előre is köszönöm.
realMesos válasza:
if then else-el
nemtom a változóidat szal bedimeltem őket
dim asz
dim current_hand
dim max_ertek
Private Sub main()
asz="11"
max_ertek="21"
current_hand='Ide illeszd be a képletet amivel kiszámoltad a pillanatnyi kézben lévő lapok összegét
If current_hand = "10" then
msgbox("BlackJack!")
end if
If current_hand < "10" then
current_hand = current_hand + asz
End if
If current_hand > "10" then
asz= "1"
current_hand =current_hand+asz
End if
End Sub
Ezt a választ te írtad.
A válasz írója 42%-ban hasznos válaszokat ad.
A válasz megírásának időpontja: ma 16:15
Privát e-mail a válasz írójának
realMesos válasza:
Case-el
nemtom a változóidat szal bedimeltem őket
dim asz
dim current_hand
dim max_ertek
Private Sub main()
asz="11"
max_ertek="21"
current_hand='Ide illeszd be a képletet amivel kiszámoltad a pillanatnyi kézben lévő lapok összegét
Select Case (current_hand)
Case (=10)
msgbox("BlackJack")
Case (<10)
current_hand=asz+current_hand
Case(>10)
asz="1"
current_hand=asz+current_hand
End Case
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!