Exemplo n.º 1
0
            public static List <Pos> CanMoveKingMovement(Figure thfg, Pos cell, byte owner)
            {
                List <Pos> res = new List <Pos>();

                if (Figurest.CanMovePawnMovement(thfg, cell, 2) != null)
                {
                    return(res);
                }
                if (cell.Y == thfg.Cell.Y && cell.X == thfg.Cell.X + 1)
                {
                    return(res);
                }
                if (cell.Y == thfg.Cell.Y && cell.X == thfg.Cell.X - 1)
                {
                    return(res);
                }
                if (cell.Y == thfg.Cell.Y + 1 && cell.X == thfg.Cell.X)
                {
                    return(res);
                }
                if (cell.Y == thfg.Cell.Y - 1 && cell.X == thfg.Cell.X)
                {
                    return(res);
                }
                return(null);
            }
Exemplo n.º 2
0
            public static List <Pos> CanMove(Figure thfg, Pos cell, byte owner, IList <Figure> pieces)
            {
                if (thfg.Owner != owner)
                {
                    return(null);
                }
                switch (thfg.Type)
                {
                case FigureType.Pawn:
                    return(Figurest.CanMovePawnMovement(thfg, cell, thfg.Owner));

                case FigureType.King:
                    return(Figurest.CanMoveKingMovement(thfg, cell, thfg.Owner));

                case FigureType.Queen:
                    return(Figurest.CanMoveQueenMovement(thfg, cell, pieces));

                case FigureType.Rook:
                    return(Figurest.CanMoveRookMovement(thfg, cell, pieces));

                case FigureType.Knight:
                    return(Figurest.CanMoveKnightMovement(thfg, cell));

                case FigureType.Bishop:
                    return(Figurest.CanMoveBishopMovement(thfg, cell, pieces));
                }
                return(null);
            }