Example #1
0
        public IEnumerable <Coord> MakeListOfConvertedTokens(Player p, int x, int y)
        {
            var playChanges = new List <Coord>();

            OffsetCalculator calc = new OffsetCalculator(x, y);

            for (int dir = 0; dir < 9; dir++)
            {
                calc.setDirection(dir);
                int length = CountLine(p, calc);
                calc.MakeOffset(length);

                if (LineShouldChangeOwnership(length, calc, p))
                {
                    var lineChanges = ListChangesInLine(length, calc);
                    playChanges.AddRange(lineChanges);
                }
            }

            if (playChanges.Any())
            {//als er een lege plaats wordt aangeklikt, kom je hier zeker al terecht
                playChanges.Add(new Coord(x, y));
            }

            return(playChanges);
        }
Example #2
0
        public bool CanPlayThere(Player p, int x, int y)
        {
            if (!IsValidPlay(p, x, y))
            {
                return(false);
            }

            var calc = new OffsetCalculator(x, y);

            for (int dir = 0; dir < 9; dir++)
            {
                calc.setDirection(dir);
                int offset = CountLine(p, calc);

                if (offset > 1)
                {
                    return(true);
                }
            }

            return(false);
        }