Exemplo n.º 1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            // Lädt Statements aus einer Datei
            int    linecount     = 1;
            string statementtext = "";

            bool[]       screens  = new bool[100];
            string       filePath = System.IO.Path.GetFullPath("lösung\\statements\\videospiele.txt");
            StreamReader r        = new StreamReader(filePath, Encoding.Default);

            while (!r.EndOfStream)
            {
                string zeile = r.ReadLine();
                if (linecount % 2 == 1)
                {
                    statementtext = zeile;
                }
                else
                {
                    // Binärstring in bool umwandeln
                    if (linecount == 2)
                    {
                        screens = new bool[zeile.Length];
                    }
                    char[] values = zeile.ToCharArray();
                    for (int zähler = 0; zähler < zeile.Length; zähler++)
                    {
                        screens[zähler] = Convert.ToBoolean(Convert.ToInt32(Convert.ToString(values[zähler])));
                    }
                    statementliste.Add(new Statement(statementtext, screens.ToArray()));
                }
                linecount++;
            }
            r.Close();

            // Lädt Antworten aus einer Datei
            filePath = System.IO.Path.GetFullPath("lösung\\screens\\videospiele.txt");
            r        = new StreamReader(filePath, Encoding.Default);
            while (!r.EndOfStream)
            {
                string zeile = r.ReadLine();
                subjektliste.Add(zeile);
            }
            r.Close();

            // Durchmischt die ELemente einer Liste
            statementliste = ShuffleList(statementliste);
            List <string> screenliste = new List <string>(subjektliste);

            screenliste = ShuffleList(screenliste);

            // Erstellt die einzelenen Labels für die Antworten
            labelscreens = new Label[20];
            for (int zähler = 0; zähler < 20; zähler++)
            {
                labelscreens[zähler]             = new Label();
                labelscreens[zähler].Text        = screenliste[zähler];
                labelscreens[zähler].Left        = 150 + zähler % 5 * 100;
                labelscreens[zähler].Top         = 65 + zähler % 4 * 60;
                labelscreens[zähler].MaximumSize = new Size(90, 0);
                labelscreens[zähler].AutoSize    = true;
                labelscreens[zähler].Font        = new Font("Bahnschrift", 9);
                this.Controls.Add(labelscreens[zähler]);
            }

            // Zeigt ein Statement an
            label1.Text = statementliste[chosenStatetementIndex].Statementtext;
        }