login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[C#] new Random() (Opgelost)

Offline jerone - 16/10/2008 16:34 (laatste wijziging 16/10/2008 16:34)
Avatar van jeroneJS gevorderde Hey all,

Iemand een oplossing voor een random getal dat meerdere keren per seconde wordt aangeroepen.
Ik heb ergens gelezen dat een random met timer werkt waardoor je steeds dezelfde uitslag krijgt als je het zo snel achter elkaar aanroept (confirmed).
Heb echter alleen geen oplossing gevonden.

gr J

12 antwoorden

Gesponsorde links
Offline Kr4nKz1n - 16/10/2008 16:38
Avatar van Kr4nKz1n Onbekend Dezelfde uitslag omdat hij het snel achter elkaar aanroept?

Ik ken geen C#, maar dat lijkt me dan een bug.
Offline jerone - 16/10/2008 16:41
Avatar van jerone JS gevorderde Bug/feature, het ligt dichtbij elkaar.  
Offline Abbas - 16/10/2008 16:44
Avatar van Abbas Gouden medaille

Crew .NET
  1. Random myRandom = new Random();
  2. int x = myRandom.Next(minimumWaarde, maximumWaarde);
  3. //de maximumWaarde telt niet meer mee
  4. //als je dus een random getal van 1 tot en met 10 wilt
  5. //doe je dat zo:
  6. Random getal = new Random();
  7. int x = getal.Next(1, 11);
Offline jerone - 16/10/2008 16:47 (laatste wijziging 16/10/2008 16:50)
Avatar van jerone JS gevorderde Jah titjes dat is dus de code die ik al had en dat problemen geeft.  

De class die ik heb aangemaakt wordt meerdere keren aangeroepen en bevat ook deze code.
Maar elke uitkomst is hetzelfde getal.

Zet ik er nou bijvoorbeeld een message box achter, dan moet ik dus klikken (wat een seconde kost) en krijg ik wel elke x een andere uitkomst.

ps. Ik ben redelijk nieuw met C#.
Offline Kr4nKz1n - 16/10/2008 16:49
Avatar van Kr4nKz1n Onbekend Maar nog een var aan met de VORIGE, indien gelijk, run overnieuw ?
Offline jerone - 16/10/2008 16:53
Avatar van jerone JS gevorderde Er moet toch een simplere oplossing zijn, lijkt mij tenmiste.
Offline Stijn - 16/10/2008 17:05
Avatar van Stijn PHP expert
Citaat:
De class die ik heb aangemaakt wordt meerdere keren aangeroepen en bevat ook deze code.
Maar elke uitkomst is hetzelfde getal.

Hoe staat die random code in je class, laten we daarmee beginnen. Het kan niet zijn dat jou class > 100 keer per seconde wordt opgeroepen.

In twee seconden doet een simpel bash script zo'n 20 000 iteraties en geeft telkens verschillende random getallen. Dus volgens mij zit het probleem in jou class en niet in het .NET framework.
Offline jerone - 16/10/2008 17:18 (laatste wijziging 16/10/2008 17:24)
Avatar van jerone JS gevorderde Plaatscode: 32665

Word zo aangeroepen:
  1. Verkeer fiets1 = new Verkeer(panel1, g, Type.Fiets, Richting.NZ, 250, 100);
  2. Verkeer fiets2 = new Verkeer(panel1, g, Type.Fiets, Richting.OW, 670, 265);
  3. Verkeer fiets3 = new Verkeer(panel1, g, Type.Fiets, Richting.ZN, 500, 645);
  4. Verkeer fiets4 = new Verkeer(panel1, g, Type.Fiets, Richting.WO, 190, 480);


En de afbeeldingen bestaan en zijn verschillend in kleur. Toch krijg ik elke x dezelfde afbeelding.

Als ik de message box 'uncomment' (loop) krijg ik wel verschillende afbeeldingen.

Dat het in mijn class fout staat kan ook (ben beginnend), maar ik heb het toch ergens gelezen (ben aan het terug zoeken).

ps. als j nog andere fouten ziet...
Offline Abbas - 16/10/2008 17:23
Avatar van Abbas Gouden medaille

Crew .NET
KLIK, een eigen projectje. Een knop die een for-loop met een teller van 0 tot 50 aanroept. In die loop wordt elke keer opnieuw de klasse aangeroepen waar de volgende waarde teruggestuurd wordt. Geen enkel probleem hoor! 
Offline jerone - 16/10/2008 17:34 (laatste wijziging 16/10/2008 17:55)
Avatar van jerone JS gevorderde Heb jouw gedeelte geïmplementeerd, maar nog steeds dezelfde uitslag.
Heb zelfs het afbeelding gedeelte weggehaald en nummer als tekst uitgeprint. Maar ik krijg elke x dezelfde nummer.

Ik heb me hele project online gezet, als je tijd hebt om na te kijken: kruispunt.
Het gaat om de getallen die in sommige knoppen staan, de rest is niet belangrijk.

EDIT:
Na lang zoeken oplossing gevonden. Weet alleen de echte reden nog niet...
Offline Abbas - 16/10/2008 18:12
Avatar van Abbas Gouden medaille

Crew .NET
Hm, ik ook niet! Het enige verschil is dat je bij het "foute" stuk elke keer een nieuwe Random-instantie gebruikt en bij de andere, waarbij je wel verschillende outputs krijgt, 1x een Random-instantie gebruikt en daar elke keer de .Next van neemt.

Ik heb nu even iets geprobeerd in jouw project, moeten die knoppen allemaal verschillend zijn van getal? Of toch zoveel mogelijk (omdat je maar van 1 tem 4 kiest.. Want ik krijg nu toch soms 3 verschillende getallen te zien op de buttons.
Offline jerone - 16/10/2008 18:18
Avatar van jerone JS gevorderde Het was de bedoeling verschillende getallen (/afbeeldingen) in de knoppen te krijgen.
De nieuwe werkende versie staat online...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.169s