Sto lavorando su un algoritmo di generazione del terreno scorrevole in C# e utilizzando XNA per visualizzare i dati.Oggetto casuale non disposto in C#
Sto facendo in modo che crei un nuovo punto a metà tra ciascun punto per iterazione, ad un'altezza casuale tra i due. Funziona OK, e l'ho impostato in modo che nella seconda iterazione scelga un punto casuale come nella diapositiva due, piuttosto che cercare di creare un nuovo punto tra i punti che si trovano sullo stesso asse.
cosa accade è che il ciclo utilizza lo stesso valore casuale dalla iterazione precedente: http://i.stack.imgur.com/UmWr7.png
Questo non è ideale, ovviamente, in quanto non è una generazione casuale corretta.
Se io uso un Thread.Sleep(20)
dopo ogni generazione punto funziona correttamente: http://i.stack.imgur.com/KziOg.png
Io non voglio avere a utilizzare il Sleep
soluzione, se possibile, in quanto è molto lento, e vorrei utilizzare questo in tempo reale. Sono abbastanza sicuro che questo abbia qualcosa a che fare con il garbage collector C#.
Qui è la mia ottenere il punto Codice
Random r = new Random();
int x = (p1.X + p2.X)/2;
int y;
if (!initial)
y = r.Next(Math.Min(p1.Y, p2.Y), Math.Max(p1.Y, p2.Y));
else
y = r.Next(Math.Min(p1.Y, p2.Y) - Game1.screenHeight/2, Math.Max(p1.Y, p2.Y) + Game1.screenHeight/2);
return new Point(x, y);
è la raccolta dei rifiuti una parte del problema?
Eventuali suggerimenti o soluzioni per risolvere questo ??
Ahh non posso credere di non averlo visto. Grazie mille per l'aiuto. – FrenchyNZ