예제 #1
0
        private void Klikniecie(object sender, MouseEventArgs e)
        {
            int x = e.X / (ClientSize.Width / GameSize);
            int y = e.Y / (ClientSize.Height / GameSize);

            if (x >= GameSize || y >= GameSize)
            {
                return;
            }
            if (!Game.Rusz(x, y))
            {
                MessageBox.Show(this, "Nie możesz tutaj ruszyć!", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                Invalidate();
            }
            DialogResult result;

            switch (Game.CzyWygrana())
            {
            case Gra.WYNIK_GRY.WYGRANA_KOLKO:
                result = MessageBox.Show(this, "Wygrało kółko! Chcesz zagrać jeszcze raz?", "Alert", MessageBoxButtons.YesNo);
                break;

            case Gra.WYNIK_GRY.WYGRANA_KRZYZYK:
                result = MessageBox.Show(this, "Wygrał krzyżyk! Chcesz zagrać jeszcze raz?", "Alert", MessageBoxButtons.YesNo);
                break;

            case Gra.WYNIK_GRY.REMIS:
                result = MessageBox.Show(this, "Remis! Chcesz zagrać jeszcze raz?", "Alert", MessageBoxButtons.YesNo);
                break;

            default:
                return;
            }
            if (result == DialogResult.Yes)
            {
                Game = new Gra(GameSize, Gra.RUCH.CZLOWIEKA);
                Invalidate();
            }
            else
            {
                Environment.Exit(0);
            }
        }