Hogyan lehet C#-ban a random események gyakoriságát változtatni helyzettől függően?
van egy ilyen kódom hogy:
if(hely == 1)
{
//ide kéne az adott random esemény balanceolása, de fogalmam sincs hogy tudok balanceolni még nem volt ilyen dolgom, pedig eddig minden jól ment
}
Mondjuk ha elmondanád mi a búbánatot szeretnél csinálni könnyebb lenne.
Ezt meg igen vicces dolog volt kódnak nevezni.
p = random() // 0..1 közötti érték
ha p < 0.75 akkor "Gizike elment a boltba és összetalálkozott Imivel"
Ez jelenti azt, hogy Gizi 75%, hogy lemegy a bótba.
Szerintem ezt a 75%-ot (0.75) akarod balanszolni, módosítani. Hát módosítsd.
Hát és mi a gond?
Generálsz egy véletlen számot és megnézed kisebb-e a kívánt értéknél.
Vagy ha nem itt akarsz számot generálni csak állítani az értékeken, akkor írj egy osztályt, amiben benne van a generátor és a szabályzókat is letárolod, modósíthatod.
Valahogy úgy képzelném el az interfészt:
interface RandomGenerator
{
bool Generate();
void SetRandomness(int percentage);
}
Nem feltétlen kell külön random, ha saját osztályt írsz, bele lehet foglalni ezt is akár.
Rengeteg a lehetőség.
Random szám külön-külön kell a független eseményekhez. A fent említett 2 eseménynél például, ha csak 1 random számot generál, akkor Évike magával viszi majd mindig Gizit. Hiszen ha p<0.5, akkor p<0.75 is igaz. Máris borul a függetlenség.
Az, hogy most külön osztályba szervezi a generátort vagy nem, tök másodlagos dolog, esztétika.
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!