C# Zufallszahlengenerator am Beispiel Lotto - itfacts.org die IT Seite für Nachrichten, Tutorials für Profis
0

C# Zufallszahlengenerator am Beispiel Lotto

Im kommenden Quellcode findet ihr ein Beispiel wir man einen Zufallszahlengenerator anhand des Beispiels „Lotto“ entwickeln könnt. Es werden einige Sachen mit eingeschlossen, wie zum Beispiel das Ausgeben einer kompletten Liste in eine TextBox oder dass keine Zahl doppelt vorkommen darf.

Zuerst erstellen wir ein neues Projekt, ziehen mit dem Designer zwei labels, sowie zwei Textboxen rein und gehen nun zum Quellcode über.


namespace lotto
{
public partial class Form1 : Form
{
  List<int> myList = new List<int>();
  Random rnd = new Random();

  public Form1()
  {
    InitializeComponent();

    // ruft unsere Methode auf
    Lottozahlen();

    // ändern der Labelbeschriftungen
    this.label1.Text = "Gezogene Zahlen";
    this.label2.Text = "Superzahl";
  }

  // Unser Lottozahlen Generator
  private void Lottozahlen()
  {
    // diese Schleife wird 6 mal durchlaufen, falls keine Zahl doppelt vorkam
    for (int i=0; i < 6; i++)
    {
      // unserem int wird eine Zufallszahl zugewiesen (1-49)
      int zahl = rnd.Next(1, 49);

      // prüft ob zugewiesene Zahl bereits in der Liste vorhanden ist
      if (!myList.Contains(zahl))
      {
         // Ist die Zahl nicht vorhanden, so fügen wir unsere Zahl der Liste hinzu
         myList.Add(zahl);
      }

      // Falls vorhanden, ziehen wir von i 1 ab, um genau 6 Zahlen zu bekommen
      else
      {
         i--;
      }
    }

    // Ausgabe der Zufallszahlen in eine TextBox
    // Für jeden Eintrag zahl in unserer Liste
    foreach (int zahl in myList)
    {
       // wir konvertieren unsere int's in Strings um und speichern diese in "c"
       string c = zahl.ToString();

       // Ausgabe der Zufallszahlen in der TextBox1
       // " " ist dafür, dass die Zahlen getrennt ausgegeben werden
       textBox1.Text += " " + c;
    }

    // Jetzt ziehen wir noch eine Superzahl

    // Wir weisen zahl2 eine Zufallszahl von 0 bis 9 zu
    int zahl2 = rnd.Next(0, 9);

    // Wir geben die Zahl in der textBox2 aus (konventieren wieder den int in einen String)
    textBox2.Text = zahl2.ToString();

    }
}

Dieses Beispiel kann noch beliebig erweitert werden, zum Beispiel mit der Zusatzzahl, oder der Ziehung des Spiels 77 und Super6. Dieses Programm ist vielleicht für den einen oder anderen Lottospieler zu gebrauchen, wenn einem gerade keine Zahlen einfallen 🙂 Die ausführbare Datei wird demnächst als Download zur Verfügung stehen.

In Kategorie: C#, Tutorials Tags: , , ,

Like & Share

Ähnliche Artikel

Hinterlasse ein Kommentar

Kommentar abschicken