public override ChangePoint Shoot(Board board, int x, int y)
        {
            ChangePoint point = new ChangePointComposite(x, y);

            for (int i = x - (width / 2); i < x + width - width / 2; i++)
            {
                if (board.WithinBounds(i, y))
                {
                    point.Add(board.RevealTile(i, y));
                }
            }

            return(point);
        }
Пример #2
0
        public override ChangePoint Shoot(Board board, int x, int y) // x y
        {
            ChangePoint point = new ChangePointComposite(x, y);

            for (int i = x; i < x + width; i++)
            {
                for (int j = y; j < y + width; j++)
                {
                    if (board.WithinBounds(i, j))
                    {
                        point.Add(board.RevealTile(i, j));
                    }
                }
            }

            return(point);
        }
        public override ChangePoint Shoot(Board board, int x, int y) // x y
        {
            ChangePoint point = new ChangePointComposite(x, y);

            for (int i = x - 2; i < x + 3; i++)
            {
                for (int j = y - 2; j < y + 3; j++)
                {
                    if (board.WithinBounds(i, j) && reveal == true)
                    {
                        point.Add(board.RevealTile(i, j));
                    }
                    reveal = !reveal;
                }
            }

            return(point);
        }
Пример #4
0
        public override ChangePoint OnReveal(Board board, int x, int y)
        {
            ChangePoint point = new ChangePointComposite(x, y);

            int currIndex = board.GetIndex(x, y);
            int radius    = 2;

            for (int i = x - radius + 1; i < x + radius; i++)
            {
                for (int j = y - radius + 1; j < y + radius; j++)
                {
                    if (board.WithinBounds(i, j) && currIndex != board.GetIndex(i, j))
                    {
                        point.Add(board.RevealTile(i, j));
                    }
                }
            }

            return(point);
        }