Esempio n. 1
0
        public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board)
        {
            List <Coordone> Coords     = new List <Coordone>();
            int             a          = 1;
            Color           adversaire = Color.White;

            if (color == Color.White)
            {
                adversaire = Color.Black;
                a          = -1;
            }
            //Deplacement
            if (this.TestBoardLimit(PieceCoord.x, PieceCoord.y + a))
            {
                Pawn pieceCaseDeplacement = Board[PieceCoord.x, PieceCoord.y + a];
                if (pieceCaseDeplacement == null)
                {
                    Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a));
                }
            }

            //Attack 1
            if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + a))
            {
                Pawn PieceAttaks = Board[PieceCoord.x + 1, PieceCoord.y + a];
                if (PieceAttaks != null && PieceAttaks.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + a));
                }
            }

            //Attack 2
            if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + a))
            {
                Pawn PieceAttaks2 = Board[PieceCoord.x - 1, PieceCoord.y + a];

                if (PieceAttaks2 != null && PieceAttaks2.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + a));
                }
            }

            return(Coords);
        }
Esempio n. 2
0
        public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board)
        {
            List <Coordone> Coords = new List <Coordone>();

            Color adversaire = Color.White;

            if (color == Color.White)
            {
                adversaire = Color.Black;
            }
            //Attack1Tower
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.y + a > 7)
                {
                    break;
                }
                Pawn PieceCaseDeplacement = Board[PieceCoord.x, PieceCoord.y + a];

                if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y + a))
                {
                    Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a));
                }
                else if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a));
                    break;
                }

                else
                {
                    break;
                }
            }
            //Attack2Tower
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.y - a < 0)
                {
                    break;
                }
                Pawn PieceCaseDeplacement2 = Board[PieceCoord.x, PieceCoord.y - a];

                if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y - a))
                {
                    Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - a));
                }
                else if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - a));
                    break;
                }
                else
                {
                    break;
                }
            }
            //Attack3Tower
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x + a > 7)
                {
                    break;
                }
                Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y];

                if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y))
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y));
                }

                else if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y));
                    break;
                }

                else
                {
                    break;
                }
            }
            //Attack4Tower
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x - a < 0)
                {
                    break;
                }
                Pawn PieceCaseDeplacement4 = Board[PieceCoord.x - a, PieceCoord.y];
                if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y))
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y));
                }
                else if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y));
                    break;
                }
                else
                {
                    break;
                }
            }

            //Attack1Bischop
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x - a < 0 || PieceCoord.y + a > 7)
                {
                    break;
                }
                Pawn PieceCaseDeplacement = Board[PieceCoord.x - a, PieceCoord.y + a];

                if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y + a))
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y + a));
                }
                else if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y + a));
                    break;
                }

                else
                {
                    break;
                }
            }
            //Attack2Bischop
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x - a < 0 || PieceCoord.y - a < 0)
                {
                    break;
                }
                Pawn PieceCaseDeplacement2 = Board[PieceCoord.x - a, PieceCoord.y - a];

                if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y - a))
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y - a));
                }
                else if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y - a));
                    break;
                }
                else
                {
                    break;
                }
            }
            //Attack3Bischop
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x + a > 7 || PieceCoord.y - a < 0)
                {
                    break;
                }
                Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y - a];

                if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y - a))
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y - a));
                }

                else if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y - a));
                    break;
                }

                else
                {
                    break;
                }
            }
            //Attack4Bischop
            for (int a = 1; a < 8; a++)
            {
                if (PieceCoord.x + a > 7 || PieceCoord.y + a > 7)
                {
                    break;
                }
                Pawn PieceCaseDeplacement4 = Board[PieceCoord.x + a, PieceCoord.y + a];
                if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y + a))
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y + a));
                }
                else if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y + a));
                    break;
                }
                else
                {
                    break;
                }
            }

            return(Coords);
        }
Esempio n. 3
0
        public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board)
        {
            List <Coordone> Coords     = new List <Coordone>();
            int             a          = 1;
            int             b          = 1;
            int             c          = 1;
            int             d          = 1;
            Color           adversaire = Color.White;

            if (color == Color.White)
            {
                adversaire = Color.Black;
            }

            switch (PieceCoord.x)
            {
            case 7:
                a = 0;
                break;

            case 0:
                b = 0;
                break;
            }
            switch (PieceCoord.y)
            {
            case 7:
                c = 0;
                break;

            case 0:
                d = 0;
                break;
            }


            Pawn PieceCaseDeplacement  = Board[PieceCoord.x, PieceCoord.y + c];
            Pawn PieceCaseDeplacement2 = Board[PieceCoord.x, PieceCoord.y - d];
            Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y];
            Pawn PieceCaseDeplacement4 = Board[PieceCoord.x - b, PieceCoord.y];

            //Attack 5
            if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 1))
            {
                Pawn PieceCaseDeplacement5 = Board[PieceCoord.x - 1, PieceCoord.y + 1];

                if (PieceCaseDeplacement5 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 1));
                }
                if (PieceCaseDeplacement5 != null && PieceCaseDeplacement5.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 1));
                }
            }

            //Attack 6
            if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 1))
            {
                Pawn PieceCaseDeplacement6 = Board[PieceCoord.x - 1, PieceCoord.y - 1];

                if (PieceCaseDeplacement6 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 1));
                }
                if (PieceCaseDeplacement6 != null && PieceCaseDeplacement6.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 1));
                }
            }

            //Attack 7
            if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 1))
            {
                Pawn PieceCaseDeplacement7 = Board[PieceCoord.x + 1, PieceCoord.y - 1];
                if (PieceCaseDeplacement7 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 1));
                }

                if (PieceCaseDeplacement7 != null && PieceCaseDeplacement7.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 1));
                }
            }

            //Attack 8
            if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 1))
            {
                Pawn PieceCaseDeplacement8 = Board[PieceCoord.x + 1, PieceCoord.y + 1];

                if (PieceCaseDeplacement8 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 1));
                }
                if (PieceCaseDeplacement8 != null && PieceCaseDeplacement8.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 1));
                }
            }


            //Attack1
            if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y + c))
            {
                Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + c));
            }
            if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire)
            {
                Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + c));
            }

            //Attack2
            if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y - d))
            {
                Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - d));
            }
            if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire)
            {
                Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - d));
            }

            //Attack 3

            if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y))
            {
                Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y));
            }

            if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire)
            {
                Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y));
            }

            //Attack 4
            if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x - b, PieceCoord.y))
            {
                Coords.Add(new Coordone(PieceCoord.x - b, PieceCoord.y));
            }
            if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire)
            {
                Coords.Add(new Coordone(PieceCoord.x - b, PieceCoord.y));
            }

            //Attack 5


            //Attack 6


            //Attack 7

            //Attack 8


            return(Coords);
        }
Esempio n. 4
0
        public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board)
        {
            List <Coordone> Coords = new List <Coordone>();

            Color adversaire = Color.White;

            if (color == Color.White)
            {
                adversaire = Color.Black;
            }


            if (this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y + 1))
            {
                Pawn PieceCaseDeplacement = Board[PieceCoord.x - 2, PieceCoord.y + 1];

                if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y + 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y + 1));
                }
                if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y + 1));
                }
            }

            //Attack 2
            if ((this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 2)))
            {
                Pawn PieceCaseDeplacement2 = Board[PieceCoord.x - 1, PieceCoord.y + 2];
                if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 2))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 2));
                }
                if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 2));
                }
            }
            //Attack 3
            if ((this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 2)))
            {
                Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + 1, PieceCoord.y + 2];

                if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 2))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 2));
                }

                if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 2));
                }
            }
            //Attack 4
            if (this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y + 1))
            {
                Pawn PieceCaseDeplacement4 = Board[PieceCoord.x + 2, PieceCoord.y + 1];
                if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y + 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y + 1));
                }
                if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y + 1));
                }
            }
            //Attack 5
            if (this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y - 1))
            {
                Pawn PieceCaseDeplacement5 = Board[PieceCoord.x - 2, PieceCoord.y - 1];
                if (PieceCaseDeplacement5 == null && this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y - 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y - 1));
                }
                if (PieceCaseDeplacement5 != null && PieceCaseDeplacement5.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y - 1));
                }
            }
            //Attack 6
            if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 2))
            {
                Pawn PieceCaseDeplacement6 = Board[PieceCoord.x - 1, PieceCoord.y - 2];
                if (PieceCaseDeplacement6 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 2))
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 2));
                }
                if (PieceCaseDeplacement6 != null && PieceCaseDeplacement6.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 2));
                }
            }
            //Attack 7
            if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 2))
            {
                Pawn PieceCaseDeplacement7 = Board[PieceCoord.x + 1, PieceCoord.y - 2];
                if (PieceCaseDeplacement7 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 2))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 2));
                }

                if (PieceCaseDeplacement7 != null && PieceCaseDeplacement7.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 2));
                }
            }
            //Attack 8
            if (this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y - 1))
            {
                Pawn PieceCaseDeplacement8 = Board[PieceCoord.x + 2, PieceCoord.y - 1];
                if (PieceCaseDeplacement8 == null && this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y - 1))
                {
                    Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y - 1));
                }
                if (PieceCaseDeplacement8 != null && PieceCaseDeplacement8.color == adversaire)
                {
                    Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y - 1));
                }
            }

            return(Coords);
        }