Ahoj,
chtěl bych se informovat na generování náhodných čísel. Potřeboval bych generovanou řadu nějakým zpusobem ovlivnit. Když si vemu jako příklad hrací kostku, chtěl bych ovlivnit padnutí čísla 6. Jde to nějakým způsobem? Klasickou hrací kostku dám dohromady, ale s tímto si nevím rady. :smile11:
V oblasti programování začínám, tak prosím omluvte mé začátečnické otázky. :(
Fórum › .NET
[C#] ovlivnění generování náhodného čísla
To liborb : Například falešná kostka, která hodí vícekrát 6 než jakékoliv jiné číslo :smile1:
Mám mít za měsíc ve škole zkoušku a zatím zjišťuji, že v tom celkem lítam :smile13: Děkuji za jakoukoliv pomoc či radu.
Mohu sem kdyžtak překopírovat kód kostky, který již mám hotový jako příklad a na něj bysme to mohli aplikovat.
To liborb :
namespace WindowsFormsApplication1
{
public partial class hraci_kostka : Form
{
Random náhoda = new Random();
public hraci_kostka()
{
InitializeComponent();
}
private void hazej_Click(object sender, EventArgs e)
{
int číslo = náhoda.Next(1, 6 + 1);
polecislo.Text = číslo.ToString();
}
}
}
přikládám kod, celkem dobrá myšlenka, zkusím popřemýšlet jak to zrealizovat. :smile1:
namespace WindowsFormsApplication1
{
public partial class hraci_kostka : Form
{
Random náhoda = new Random();
public hraci_kostka()
{
InitializeComponent();
}
private void hazej_Click(object sender, EventArgs e)
{
int číslo = náhoda.Next(1, 10 + 1);
if (číslo > 6)
číslo = 6;
polecislo.Text = číslo.ToString();
}
}
}
doplnil jsem podmínku if (zvýrazněná tučně) a zdá se že maká jak má. Takhle jsi to nějak měl na mysli? :smile7:
2 poznámky:
- nepoužívej diakritiku při programování
- novu instanci Random zakládej se semínkem (seed), jinak bude průběh "házení kostkou" při každém spuštění aplikace stejný
A tu mojí dobrou myšlenku :) zrealizuješ rozšířením rozsahu a následnou podmínkou.
EDIT: :smile4:
Děkuji za upozornění, za diakritiku se omlouvám, zlozvyk... :smile14:
semínko "seed", abych pravdu řekl opravdu začínám a slyším o tom poprvé, nicméně je to dobrý tip a určitě si to budu pamatovat a používat :smile1:
A jestli správně rozumím tvé myšlence, tak jsem to až na diakritiku a "seed" napsal správně? :smile1:
Wasp napsal:A jestli správně rozumím tvé myšlence, tak jsem to až na diakritiku a "seed" napsal správně? :smile1:
Diakritika je spíše kosmetika, seed je "nutnost" (používá se něco od času nebo tiků procesu od startu PC apod. - prostě něco, co při příštím spuštění bude mít jinou hodnotu). No a jinak si mojí myšlenku zrealizoval správně :)
Dobrý den.
Mám pocit, že od jisté doby .Net generuje seed dle data automaticky. V nápovědě pro random je v konstruktoru bez argumentů:
Initializes the instance of ... random class, using a time dependent default seed value. Pokud jsem si to přeložil správně, seed už není nutné používat :)
To skorec1:
Předpokládejme, že v 1. cyklu máš pravděpodobnost padnutí 6 rovnou 0<=k<=1.
Takže kdybys zopakoval dostatečný počet opakování (víc než 1/k), dostal bys dle tvé logiky pravděpodobnost větší než 1. Což nemůže platit. Snad jsem to pochopil správně, kdyžtak mne opravte. Řešení liborb je dle mého názoru rychlé i korektní.
Asi je to tím že jsem dnes trochu mimo, ale nedochází mi proč v parametrech pro .next předává 6+1 a ne 6 nebo 7. Dle MSDN library jde o rozsah, proto mi také vrtá hlavou proč je u kostky rozsah 1-7 (neboli 6+1).
EDIT: Jde mi o to jen z čiré zvědavosti.
To Petrroll : jak jsem psal na začátku, začínám a zatím nemám moc široký přehled a snažím se držet toho co nám vysvětlují na VŠ. Nejspíš to nebude to správné, ale začít se nějak musí. Profesor nám říkal, že v takovémto případě se musí dávat horní mez o jednu výšší, tedy 6+1. Udajně je to nelogické a proto jsem to přijal jako pravidlo. V přikládám do přílohy výstřižek z knihy, kterou máme k dispozici ke studiu.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Program na generování náhodného pojmu — založil TomasP
Generace náhodného čísla — založil martasns
Ovlivnění druhého okna prohlížeče — založil Kall_Ell
Vybrání náhodného souboru — založil BlackHole
Generator nahodneho textu — založil Michalek
Moderátoři diskuze