Beispiel #1
0
        public Result Move(int i, int j)
        {
            int i1, j1, i2, j2;

            if (Pos.Who(out i1, out j1, out i2, out j2) != Result.Game)
            {
                return(Pos.Who(out i1, out j1, out i2, out j2));
            }

            if (Pos.Mark(i, j, V))
            {
                DrawMark(i, j);

                if (V == 'X')
                {
                    V = 'O';
                }
                else
                {
                    V = 'X';
                }

                Result res = Pos.Who(out i1, out j1, out i2, out j2);

                if (res == Result.X)
                {
                    DrawLine(i1, j1, i2, j2);
                    //MessageBox.Show("Выиграли Крестики!");
                }

                if (res == Result.O)
                {
                    DrawLine(i1, j1, i2, j2);
                    //MessageBox.Show("Выиграли Нолики!");
                }

                if (res == Result.Non)
                {
                    MessageBox.Show("Ничья!");
                }

                if ((res == Result.Game) && (V == 'O'))
                {
                    Run();
                }

                return(res);
            }
            else
            {
                return(Result.Error);
            }
        }
Beispiel #2
0
        TPosition PreMove(int i, int j)
        {
            TPosition res = Pos.Copy();

            if (res.Mark(i, j, V))
            {
                return(res);
            }
            else
            {
                return(null);
            }
        }