31using System.Collections.Generic;
40 private static Random
rand =
new Random();
47 return (
rand.NextDouble() >= 0.5 );
56 return rand.Next( maxValue );
62 public static int NextInt(
int min,
int max )
64 return rand.Next( min, max );
70 public static double NextDouble(
double min,
double max )
72 return min +
rand.NextDouble() * ( max - min );
82 int startCode = upperCase ? (int)
'A' : (
int)
'a';
83 int endCode = upperCase ? (int)
'Z' : (
int)
'z';
84 return (
char)
NextInt( startCode, endCode + 1 );
92 double randdir =
rand.NextDouble();
94 if ( randdir <= 0.25 )
100 if ( randdir <= 0.75 )
115 double[] array =
new double[size];
117 for (
int i = 0; i < size; i++ )
133 public static double[]
NextDoubleArray(
double min,
double max,
int size,
int maxchange )
135 double[] array =
new double[size];
139 for (
int i = 0; i < size; i++ )
156 return new Color( (
float)
rand.NextDouble(), (
float)
rand.NextDouble(), (
float)
rand.NextDouble(), 1 );
185 var r =
new Random( obj.GetHashCode() );
186 return new Color( (
float)r.NextDouble(), (
float)r.NextDouble(), (
float)r.NextDouble(), 1 );
262 while ( a2 < a1 ) a2 += 2 * Math.PI;
272 public static TimeSpan
NextTimeSpan(
double minSeconds,
double maxSeconds )
274 return TimeSpan.FromSeconds(
NextDouble( minSeconds, maxSeconds ) );
300 double randomNum =
rand.NextDouble();
301 double accumulator = 0;
303 for (
int i = 0; i < p.Length; i++ )
306 if ( randomNum < accumulator )
return i;
320 for (
int i = list.Count; i > 1; i--)
323 int j =
rand.Next(i);
326 list[j] = list[i - 1];
340 int i =
NextInt( choices.Length );
353 int i =
NextInt( choices.Count );
System.Drawing.Color Color
static Scalar Max(params Scalar[] vals)
static Scalar Min(params Scalar[] vals)
Satunnaisgeneraattori. Luo satunnaisia arvoja, mm. lukuja, vektoreita sekä kulmia.
static void Shuffle< T >(IList< T > list)
Sotkee rakenteen satunnaiseen järjestykseen
static Vector NextVector(BoundingRectangle rect, int r=0)
Luodaan satunnainen vektori, jonka "piste" on suorakaiteen sisällä.
static Angle NextAngle(Angle min, Angle max)
Palauttaa satunnaisen kulman tietyltä väliltä.
static double[] NextDoubleArray(double min, double max, int size, int maxchange)
Palauttaa double-taulukon.
static char NextLetter(bool upperCase=false)
Arpoo satunnaisen kirjaimen väliltä a-z.
static int NextInt(int min, int max)
Palauttaa satunnaisen kokonaisluvun, joka on vähintään
static Angle NextAngle()
Palauttaa satunnaisen kulman.
static Color NextColor(Color first, Color second)
Palauttaa satunnaisen värin.
static Color NextDarkColor()
Palauttaa satunnaisen tumman värin.
static Color NextLightColor()
Palauttaa satunnaisen vaalean värin.
static Vector NextVector(double minLength, double maxLength)
Palauttaa satunnaisen vektorin.
static int NextIntWithProbabilities(params double[] p)
Palauttaa satunnaisen kokonaisluvun annettujen todennäköisyyksien perusteella.
static Shape NextShape()
Palauttaa satunnaisen muodon.
static double NextDouble(double min, double max)
Palauttaa satunnaisen liukuluvun parametrien
static T SelectOne< T >(params T[] choices)
Palauttaa yhden annetuista vaihtoehdoista. Esim. RandomGen.SelectOne<string>("yksi",...
static Color NextColor()
Palauttaa satunnaisen värin.
static bool NextBool()
Palauttaa satunnaisen totuusarvon.
static double[] NextDoubleArray(double min, double max, int size)
Palauttaa double-taulukon.
static Vector NextVector(double minX, double minY, double maxX, double maxY)
Palauttaa satunnaisen vektorin.
static Direction NextDirection()
Palauttaa satunnaisen suunnan.
static Angle NextAngle(Angle max)
Palauttaa satunnaisen kulman nollasta annettuun maksimiin.
static Color NextColor(object obj)
Palauttaa satunnaisen värin olioilmentymän perusteella. Sama olio palauttaa aina saman värin.
static TimeSpan NextTimeSpan(double minSeconds, double maxSeconds)
Palauttaa satunnaisen aikavälin.
static int NextInt(int maxValue)
Palauttaa satunnaisen kokonaisluvun, joka on vähintään 0 ja pienempi kuin
static readonly Rectangle Rectangle
Suorakulmio.
static readonly Triangle Triangle
Tasasivuinen kolmio.
static readonly Ellipse Ellipse
Ellipsi tai ympyrä.
static readonly Shape Octagon
Oktagoni eli kahdeksankulmio.
static readonly Star Star
Tähti.
static readonly Shape Diamond
Timantti- / salmiakkikuvio
static readonly Shape Hexagon
Heksagoni eli kuusikulmio.
static readonly Heart Heart
Sydän.
static readonly Shape Pentagon
Pentagoni eli viisikulmio.
Suuntakulma (rajoitettu -180 ja 180 asteen välille) asteina ja radiaaneina. Tietoja kulmasta: http://...
static Angle FromRadians(double radian)
Luo kulman annettujen radiaanien mukaan.
double Radians
Palauttaa tai asettaa kulman radiaaneina.
double Top
Suorakaiteen yläreunan Y
double Right
Suorakaiteen oikean reunan X
double Left
Suorakaiteen vasemman reunan X
double Bottom
Suorakaiteen alareunen Y
static readonly Color White
Valkoinen.
static readonly Color Black
Musta.
static Color Mix(params Color[] colors)
Sekoittaa kahta tai useampaa väriä.
static Color Lerp(Color value1, Color value2, double amount)
Lineaarinen interpolaatio värien välillä
static Direction Up
Suunta ylös.
static Direction Right
Suunta oikealle.
static Direction Down
Suunta alas.
static Direction Left
Suunta vasemmalle.
static Vector FromLengthAndAngle(double length, double angle)
Luo vektorin pituuden ja kulman perusteella.