// Das ist die ArrayList für die Wörter, die einglesen werden:
ArrayList wörter = new ArrayList();
// Die Stringarrays in welche die Zeilen unterteilt werden:
public string[] wort_1, wort_2, wort_3, wort_4, wort_5, wort_6, wort_7, wort_8, wort_9, wort_10;
ARRAY VERWENDEN
// Nun die Strings wo die Lösungen drinstehen (l steht für Lösung):
public string l1, l2, l3, l4, l5, l6, l7, l8, l9, l10;
ARRAY VERWENDEN
// Das ist das Click-Event, das die Zufallszahlen wählt und die Wörter
// in die Labels schreibt:
void Button12Click(object sender, System.EventArgs e)
{
StreamReader Wortleser = new StreamReader(comboBox2.Text);
string Zeile = String.Empty;
while ( (Zeile = Wortleser.ReadLine()) != null )
{
wörter.Add(Zeile);
}
// Zeilen im Array "wörter" werden gezählt:
double zahl = array1.Count - 1;
if(zahl > 10)
{
// Das sind die Zahlen, die für den Zufallsgenerator wichtig sind:
double zahl11, zahl21, zahl31, zahl41, zahl51, zahl61, zahl71, zahl81, zahl91, zahl101;
ARRAY VERWENDEN
// Die Zahlen werden nun gerundet, dass sie für den Zufalssgenerator brauchbar sind:
int zahl1 = Convert.ToInt16(Math.Round(zahl / 10,1));
int zahl2 = Convert.ToInt16(Math.Round(zahl * 2,1));
int zahl3 = Convert.ToInt16(Math.Round(zahl * 3,1));
int zahl4 = Convert.ToInt16(Math.Round(zahl * 4,1));
int zahl5 = Convert.ToInt16(Math.Round(zahl * 5,1));
int zahl6 = Convert.ToInt16(Math.Round(zahl * 6,1));
int zahl7 = Convert.ToInt16(Math.Round(zahl * 7,1));
int zahl8 = Convert.ToInt16(Math.Round(zahl * 8,1));
int zahl9 = Convert.ToInt16(Math.Round(zahl * 9,1));
int zahl10 = Convert.ToInt16(Math.Round(zahl * 10,1));
SCHLEIFE VERWENDEN
// So, nun der eigentliche Zufallsgenerator:
Random zz = new Random();
try
{
Methode VERWENDEN
// Block 1 (Links) füllen
// Feld 1 füllen
string Line1 = wörter[zz.Next(0, zahl1)].ToString();
wort_1 = Line1.Split(new char[] {','});
this.wort1.Text = wort_1[1];
l1 = wort_1[2];
// Feld 2 füllen
string Line2 = wörter[zz.Next(zahl1, zahl2)].ToString();
wort_2 = Line2.Split(new char[] {','});
this.wort2.Text = wort_2[1];
l2 = wort_2[2];
// Feld 3 füllen
string Line3 = wörter[zz.Next(zahl2, zahl3)].ToString();
wort_3 = Line3.Split(new char[] {','});
this.wort3.Text = wort_3[1];
l3 = wort_3[2];
// Feld 4 füllen
string Line4 = wörter[zz.Next(zahl3, zahl4)].ToString();
wort_4 = Line4.Split(new char[] {','});
this.wort4.Text = wort_4[1];
l4 = wort_4[2];
// Feld 5 füllen
string Line5 = wörter[zz.Next(zahl4, zahl5)].ToString();
wort_5 = Line5.Split(new char[] {','});
this.wort5.Text = wort_5[1];
l5 = wort_5[2];
// Block 2 (rechts) füllen
// Feld 6 füllen
string Line6 = wörter[zz.Next(zahl5, zahl6)].ToString();
wort_6 = Line6.Split(new char[] {','});
this.wort6.Text = wort_6[1];
l6 = wort_6[2];
// Feld 7 füllen
string Line7 = wörter[zz.Next(zahl6, zahl7)].ToString();
wort_7 = Line7.Split(new char[] {','});
this.wort7.Text = wort_7[1];
l7 = wort_7[2];
// Feld 8 füllen
string Line8 = wörter[zz.Next(zahl7, zahl8)].ToString();
wort_8 = Line8.Split(new char[] {','});
this.wort8.Text = wort_8[1];
l8 = wort_8[2];
// Feld 9 füllen
string Line9 = wörter[zz.Next(zahl8, zahl9)].ToString();
wort_9 = Line9.Split(new char[] {','});
this.wort9.Text = wort_9[1];
l9 = wort_9[2];
// Feld 10 füllen
string Line10 = wörter[zz.Next(zahl9, zahl10)].ToString();
wort_10 = Line10.Split(new char[] {','});
this.wort10.Text = wort_10[1];
l10 = wort_10[2];
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
else
{
MessageBox.Show("Es müssen mindestens 10 Wörter in der Worliste sein. In der Wortliste " + comboBox2.Text + " sind aber nur " + zahl + " Wörter!");
}
}