NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 3 - Hrací kostka v C# - Zapouzdření, konstruktor a Random

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na vlastikch
Jan Vargovský:1.10.2013 20:27

No mezi debug a release verzí jen přepneš nahoře v menu, mělo by to být někde u start tlačítka. Nebo pak přímo Build -> Config. manager a tam nastavíš release.

Nebo pak ta moje možnost, že uspíš vlákno na 10-15 ms... Pak si to schválně zkus sdraco, já lepší možnost bohužel nenašel, protože se to vždy intializuje podle času...

 
Odpovědět
1.10.2013 20:27
Avatar
vlastikch
Člen
Avatar
vlastikch:2.10.2013 14:37

Ahoj .Tak Release nepomohlo.

Toto pomohlo

Thread.Sleep(Ti­meSpan.FromSe­conds(0.0005));

Dík :-).

 
Odpovědět
2.10.2013 14:37
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:2.10.2013 14:56

Aha, to je dost hloupé, že to dělá i v release. Ideálně by měl být ten generátor statický, ale v začátcích to asi opravdu nejde jinak, než tam dát ten sleep.

Odpovědět
2.10.2013 14:56
New kid back on the block with a R.I.P
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:2.10.2013 14:59

Jak to myslíš v začátcích ? Máš snad nějakou pokročilejší verzi? Dle mě žádná není, protože ti to vždycky generuje čísla dle systémového času :)

 
Odpovědět
2.10.2013 14:59
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:2.10.2013 15:04

Říkám, že by ta instance Random měla být statická, tedy sdílená. Všechny instance kostky potom používají jednu instanci a je jedno kdy jsou vytvořené.

Odpovědět
2.10.2013 15:04
New kid back on the block with a R.I.P
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:2.10.2013 16:42

Od toho tam jsou seedy :)

 
Odpovědět
2.10.2013 16:42
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Jan Vargovský
David Hartinger:2.10.2013 16:52

Nějak nechápu, kam míříš. Psal jsi, že ve stejný čas se to zaseeduje stejně, seed ti tedy nepomůže a přece si ho nebudeš vymýšlet u každé instance. Pomůže ti to, že si instanci Randomu nasdílíš, jak jsem již 2x psal. Buď jí uděláš private static, nebo jí budeš přebírat v instančním konstruktoru.

Odpovědět
2.10.2013 16:52
New kid back on the block with a R.I.P
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na David Hartinger
Jan Vargovský:2.10.2013 16:55

V tu chvíli jsem myslel na něco jiného, takže ta moje odpověď je trošku z cesty ...

 
Odpovědět
2.10.2013 16:55
Avatar
dez1nd
Člen
Avatar
dez1nd:25.10.2013 13:08

ahoj jen jsem se chtel zeptat, kdyz vytvaris dalsi instanci kostky tak pises ze zdrojak je

Kostka sestistenna = new Kostka();
Kostka desetistenna = new Kostka(10);
Console.Write­Line(sestisten­na.VratPocetSten());
Console.Write­Line(desetisten­na.VratPocetSten());
Console.ReadKey();

ale prvni radek by mel byt = new Kostka(6); nebo ne ?

 
Odpovědět
25.10.2013 13:08
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na dez1nd
David Hartinger:25.10.2013 13:32

Bezparametrický konstruktor nastavuje hodnotu 6:

public Kostka()
{
        pocetSten = 6;
        random = new Random();
}
Odpovědět
25.10.2013 13:32
New kid back on the block with a R.I.P
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 154.