C# Random szám?
Hogyan lehet azt megcsinálni hogy bekér a gép egy számot (1 vagy 2).
AZTÁN
Van 10db szám , abból 8db 1-es , 2db 2-es és ebből véletlenszerűen kiválaszt a gép egyet , és ha megegyezik a választott számunkal akkor nyertünk 100$-t , ha viszont nem egyezik meg akkor vesztünk 10$-t .
Az egyenleg változónk 1000$ alapból és ha 0 lesz akkor vége a játéknak , viszont amíg van egyenlegünk addig újra és újra megy a játèk .
Az alap dolgokkal meg vagyok csak a randomot illetve ezt az újra újra kellene meg csinálni , amit gondolom While ciklussal kell ?!
A 8 darab 1-est és 2 darab 2-est egy tömbben tárolod. Ezesetben így néz ki a kód:
(már létezik egy gepszamai nevű 10 elemű feltöltött tömböd)
int egyenleg = 1000;
do {
int bekertszam = -1;
while(bekertszam != 1 && bekertszam != 2) {
Console.Write("Szám (1 vagy 2):");
bekertszam = Convert.ToInt32(Console.ReadLine());
}
Random random = new Random();
int randomszam = random.Next(0, 9 + 1); //így tudsz random számot generálni, szóval itt pl. 0,1,2,3,4,5,6,7,8 vagy 9 lehet, 10 már nem, de a maximum értéknek itt hozzá kell adni 1-et.
if(gepszamai[randomszam] == bekertszam) {
egyenleg +=100;
Console.WriteLine("Nyertél 100$-t! A jelenlegi egyenleged: " + egyenleg);
} else {
egyenleg -=10;
Console.WriteLine("Nyertél 10$-t! A jelenlegi egyenleged: " + egyenleg);
}
}
} while(egyenleg > 0);
Ennek működnie kéne, bár nem teszteltem. Ebben az esetben van ugye egy 10 számot tartalmazó tömböd (gepszamai), és legenerál egy random számot 0 és 9 között, és azzal a számmal hasonlítja össze a bekért számot, ami a tömb annyiadik értéke (randomszam). 2 while ciklus van a kódban, azaz egyik (a "külső") azért, hogy addig fusson a program, amíg az egyenleg nagyobb, mint nulla. A másik ciklus azért kell, hogy addig kérjen be számot, amíg az nem 1, vagy 2 (mondjuk ha a bekért szám szöveg, az errorozni fog). Ha van valami kérdésed, akkor szívesen válaszolok rá akár PM-ben akár itt is :)
Bocsi, a számbekérős ciklus így néz ki, elnéztem:
int bekertszam = -1;
do {
Console.Write("Szám (1 vagy 2):");
bekertszam = Convert.ToInt32(Console.ReadLine());
} while(bekertszam != 1 && bekertszam != 2);
És ha milliós oldal lesz majd akkor ne a random-tól kérj randomot mert az nem random ;) Mindig ugyazt a sort adja.
Vannak cryptosafe random függvények azok tényleg randomok (sok esetben hw random generatortól az alaplapon/CPU-ban).
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!