C# kde je chyba ? – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C#  kde je chyba ? – .NET – Fórum – Programujte.comC# kde je chyba ? – .NET – Fórum – Programujte.com

 

Milan
~ Anonymní uživatel
282 příspěvků
23. 5. 2013   #1
-
0
-

potrebujem aby agent mal počas cyklov čo najčastejšie inú hodnotu orientacie(môže byť 0,1,2,3). Počas cyklov robí :

for (int i=0;i<pocetA;i++){
   { for (int k=0;k<cycles;k++){
   d.orientacia=d.changeorientacia();
  
    }
      }
       }

zatial má väčšinou počas tých cyklov vždy rovnakú. Používam na to metódu public int changeorientacia ()
{  Random rnd=new Random();
  int[]l= new int[4];
  l[0]=0;l[1]=2;l[2]=1;l[3]=3;
  int cislo;
   cislo=rnd.Next(3);
  return l[cislo];
   }

Nahlásit jako SPAM
IP: 176.112.191.–
ingiraxo+15
Grafoman
23. 5. 2013   #2
-
0
-

dej instanci Random přímo jako instanci třídy (prostě ji vyhoď z tý funkce)

a nebylo by snažší dát v tý funkci jenom return rnd.Next(4); ? To tvoje pole mi přijde zbytečný

nebo dát přímo do těch cyklů d.orientacia = rnd.Next(4);

Nahlásit jako SPAM
IP: 93.90.162.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
velurex0
Stálý člen
23. 5. 2013   #3
-
0
-

Přesně tak to je. Já to jen dovysvětlím. Konstruktor Random bez parametrů inicializuje podle systémového času a tohle zřejmě běží tak rychle, že několikrát po sobě zavolané new Random() je vždy nastaveno na stejnou hodnotu. Právě proto si musíš udělat instanci mimo a pak už opravdu jen stačí d.orientacia = rnd.Next(4)

Nahlásit jako SPAM
IP: 46.167.210.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 43 hostů

Podobná vlákna

Kde je chyba ? — založil sipeer

Kde je chyba? — založil DooFy93

Kde je chyba — založil Milan

Kde je chyba?? — založil Af_k

Kde je chyba? — založil VelkyBubak

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý