Csharp/C Sharp/Development Class/Random

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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>