Kezdőoldal » Számítástechnika » Programozás » Hogy oldanátok meg ezt a...

Hogy oldanátok meg ezt a feladatot? (C#)

Figyelt kérdés

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.


2011. okt. 20. 11:19
 1/3 anonim ***** válasza:
Rettentő bonyolult a fogalmazás, de ha jól érzékelem, de egy egyszerű elágazást szeretnél csinálni if utasítással.
2011. okt. 20. 23:59
Hasznos számodra ez a válasz?
 2/3 A kérdező kommentje:
Majdnem. Azt el tudom dönteni a lapokról(ill. a progi) hogy melyik lap az ász. A pontozással lenne gond. Bár az is if(elágazás). Nos akkor valami ötlet rá?
2011. okt. 21. 14:04
 3/3 realMesos ***** válasza:

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

2011. okt. 21. 16:21
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!