32 using System.Collections.Generic;
41 private static Random rand =
new Random();
49 return ( rand.NextDouble() >= 0.5 );
58 return rand.Next( maxValue );
67 public static int NextInt(
int min,
int max )
69 return rand.Next( min, max );
80 return min + rand.NextDouble() * ( max - min );
90 int startCode = upperCase ? (int)
'A' : (
int)
'a';
91 int endCode = upperCase ? (int)
'Z' : (
int)
'z';
92 return (
char)
NextInt( startCode, endCode + 1 );
101 double randdir = rand.NextDouble();
103 if ( randdir <= 0.25 )
106 if ( randdir <= 0.5 )
109 if ( randdir <= 0.75 )
124 double[] array =
new double[size];
126 for (
int i = 0; i < size; i++ )
142 public static double[]
NextDoubleArray(
double min,
double max,
int size,
int maxchange )
144 double[] array =
new double[size];
148 for (
int i = 0; i < size; i++ )
152 curmin =
AdvanceMath.MathHelper.Max((
float)min, (
float)(array[i] - maxchange));
153 curmax =
AdvanceMath.MathHelper.Min((
float)max, (
float)(array[i] + maxchange));
165 return new Color( (
float)rand.NextDouble(), (float)rand.NextDouble(), (float)rand.NextDouble(), 1 );
192 return Color.
Lerp( first, second, (
float)rand.NextDouble());
261 while ( a2 < a1 ) a2 += 2 * Math.PI;
278 double randomNum = rand.NextDouble();
279 double accumulator = 0;
281 for (
int i = 0; i < p.Length; i++ )
284 if ( randomNum < accumulator )
return i;
298 for (
int i = list.Count; i > 1; i--)
301 int j = rand.Next(i);
304 list[j] = list[i - 1];
318 int i =
NextInt( choices.Length );
331 int i =
NextInt( choices.Count );
static Direction Down
Suunta alas.
static Color Mix(params Color[] colors)
Sekoittaa kahta tai useampaa väriä.
static Vector NextVector(BoundingRectangle rect, int r=0)
Luodaan satunnainen vektori, jonka "piste" on suorakaiteen sisällä.
static Color NextLightColor()
Palauttaa satunnaisen vaalean värin.
static Direction NextDirection()
Palauttaa satunnaisen suunnan.
static readonly Color Black
Musta.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
static Direction Left
Suunta vasemmalle.
static bool NextBool()
Palauttaa satunnaisen totuusarvon.
double Bottom
Suorakaiteen alareunen Y
Satunnaisgeneraattori. Luo satunnaisia arvoja, mm. lukuja, vektoreita sekä kulmia.
static char NextLetter(bool upperCase=false)
Arpoo satunnaisen kirjaimen väliltä a-z.
static void Shuffle< T >(IList< T > list)
Sotkee rakenteen satunnaiseen järjestykseen
double Right
Suorakaiteen oikean reunan X
static double [] NextDoubleArray(double min, double max, int size, int maxchange)
Palauttaa double-taulukon täytettyinä satunnaisilla luvuilla väliltä [min,max]
static double NextDouble(double min, double max)
Palauttaa satunnaisen liukuluvun parametrien
static Vector NextVector(double minX, double minY, double maxX, double maxY)
Palauttaa satunnaisen vektorin.
static Color Lerp(Color value1, Color value2, double amount)
static int NextInt(int maxValue)
Palauttaa satunnaisen kokonaisluvun, joka on vähintään 0 ja pienempi kuin
static int NextIntWithProbabilities(params double[] p)
Palauttaa satunnaisen kokonaisluvun annettujen todennäköisyyksien perusteella.
static Color NextDarkColor()
Palauttaa satunnaisen tumman värin.
static Angle NextAngle(Angle max)
Palauttaa satunnaisen kulman nollasta annettuun maksimiin.
double Left
Suorakaiteen vasemman reunan X
static T SelectOne< T >(params T[] choices)
Palauttaa yhden annetuista vaihtoehdoista. Esim. RandomGen.SelectOne<string>("yksi", "kaksi", "kolme");
static Angle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
double Top
Suorakaiteen yläreunan Y
static double [] NextDoubleArray(double min, double max, int size)
Palauttaa double-taulukon täytettyinä satunnaisilla luvuilla väliltä [min,max]
double Radians
Palauttaa tai asettaa kulman radiaaneina.
static Color NextColor()
Palauttaa satunnaisen värin.
static Angle NextAngle()
Palauttaa satunnaisen kulman.
static Angle NextAngle(Angle min, Angle max)
Palauttaa satunnaisen kulman tietyltä väliltä.
static Vector NextVector(double minLength, double maxLength)
Palauttaa satunnaisen vektorin.
static int NextInt(int min, int max)
Palauttaa satunnaisen kokonaisluvun, joka on vähintään
static Direction Right
Suunta oikealle.
static Direction Up
Suunta ylös.
static Color NextColor(Color first, Color second)
Palauttaa satunnaisen värin.
static readonly Color White
Valkoinen.