Csharp/C Sharp/Development Class/Random
Содержание
An automated pair of dice
<source lang="csharp"> /* C#: The Complete Reference by Herbert Schildt Publisher: Osborne/McGraw-Hill (March 8, 2002) ISBN: 0072134852
- /
// An automated pair of dice.
using System;
public class RandDice {
public static void Main() { Random ran = new Random(); Console.Write(ran.Next(1, 7) + " "); Console.WriteLine(ran.Next(1, 7)); }
}
</source>
Get next random number in double
<source lang="csharp"> using System; using System.Windows.Forms; using System.Drawing; public class Test {
static void Main() { Random roller = new Random(); double toHit = roller.NextDouble(); Console.WriteLine(toHit); }
}
</source>
Get Random number
<source lang="csharp"> using System; class CondOpApp {
[STAThread] static void Main(string[] args) { Random rand = new Random(); int a = 0, b = 0; for (int i = 0; i < 5; i++) { a = rand.Next() % 100; b = rand.Next() % 100; Console.WriteLine("a={0}, b={1}, so the winner is: {2}", a, b, a > b ? "a" : "b"); } }
}
</source>
Random Color and Rectangle
<source lang="csharp"> using System; using System.Drawing; using System.Windows.Forms;
class RandomRectangle: Form {
public static void Main() { Application.Run(new RandomRectangle()); } public RandomRectangle() { Text = "Random Rectangle"; Timer timer = new Timer(); timer.Interval = 1; timer.Tick += new EventHandler(TimerOnTick); timer.Start(); } void TimerOnTick(object obj, EventArgs ea) { Random rand = new Random(); int x1 = rand.Next(ClientSize.Width); int x2 = rand.Next(ClientSize.Width); int y1 = rand.Next(ClientSize.Height); int y2 = rand.Next(ClientSize.Height); Color color = Color.FromArgb(rand.Next(256), rand.Next(256), rand.Next(256)); Graphics grfx = CreateGraphics(); grfx.FillRectangle(new SolidBrush(color), Math.Min(x1, x2), Math.Min(y1, y2), Math.Abs(x2 - x1), Math.Abs(y2 - y1)); grfx.Dispose(); }
}
</source>
Roll a six-sided die imes.
<source lang="csharp">
using System; public class RollDie {
public static void Main( string[] args ) { Random randomNumbers = new Random(); int frequency1 = 0; int frequency2 = 0; int frequency3 = 0; int frequency4 = 0; int frequency5 = 0; int frequency6 = 0; int face; for ( int roll = 1; roll <= 6000; roll++ ) { face = randomNumbers.Next( 1, 7 ); switch ( face ) { case 1: frequency1++; break; case 2: frequency2++; break; case 3: frequency3++; break; case 4: frequency4++; break; case 5: frequency5++; break; case 6: frequency6++; break; } } Console.WriteLine( "Face\tFrequency" ); // output headers Console.WriteLine( "1\t{0}\n2\t{1}\n3\t{2}\n4\t{3}\n5\t{4}\n6\t{5}", frequency1, frequency2, frequency3, frequency4, frequency5, frequency6 ); }
}
</source>
Shifted and scaled random integers.
<source lang="csharp">
using System; public class RandomIntegers {
public static void Main( string[] args ) { Random randomNumbers = new Random(); int face; for ( int counter = 1; counter <= 20; counter++ ) { face = randomNumbers.Next( 1, 7 ); Console.Write( "{0} ", face ); if ( counter % 5 == 0 ) Console.WriteLine(); } }
}
</source>