예제 #1
0
        private void BtnA1_Click(object sender, EventArgs e)
        {
            Button geklickterButton = sender as Button;
            string play;
            bool   end;
            int    r, c;
            bool   startAnew = false;

            play = count % 2 == 0 ? "O" : "X";
            geklickterButton.Text   = play;
            geklickterButton.Click -= BtnA1_Click;

            GetCoord(geklickterButton, out c, out r);

            Logic.WriteToArray(arr, c, r, play);
            count++;

            if (count == 9)
            {
                MessageBox.Show("Unentschieden.");
                drawCounter++;
                startAnew = Reset();
            }
            if (!startAnew)
            {
                end = Logic.Win(arr);

                if (end)
                {
                    MessageBox.Show("Du hast gewonnen!");
                    winCounter++;
                    startAnew = Reset();
                }
                if (!startAnew)
                {
                    play = count % 2 == 0 ? "O" : "X";
                    KI.KiTurn(arr, out c, out r);
                    btnArr[c, r].Text   = play;
                    btnArr[c, r].Click -= BtnA1_Click;

                    Logic.WriteToArray(arr, c, r, play);

                    end = Logic.Win(arr);

                    if (end)
                    {
                        MessageBox.Show("Verloren hahahahahaha!");
                        lossCounter++;
                        startAnew = Reset();
                    }

                    if (!startAnew)
                    {
                        count++;
                    }
                }
            }
        }
예제 #2
0
        public Form1()
        {
            // gui elemente initialisieren
            InitializeComponent();

            // den zufallsgenerator fuer den ersten computer zug erzeugen
            zufallsgenerator = new Random();

            // die ki aufbauen
            ki = new KI();

            // aus der textdatei laden
            // die zugliste und ihren index aufbauen und initialisieren. wird fuer rueckgaenfig und wiederherstellen benoetigt.
            zugliste = new List<Button>();
            zugliste_position = 0;

            // button liste aufbauen
            buttons = new List<Button>();
            buttons.Add(button1);
            buttons.Add(button2);
            buttons.Add(button3);
            buttons.Add(button4);
            buttons.Add(button5);
            buttons.Add(button6);
            buttons.Add(button7);
            buttons.Add(button8);
            buttons.Add(button9);

            // font der buttons anpassen
            setze_font();

            // click handler der spiel buttons anschliessen
            event_setzen();

            // reset durchfuehren
            reset();
        }