Exemple #1
0
        public static bool ProcuraPeca(char [] splitedMove, bool Cor)
        {
            CorAtual = Cor;
            int MovePeca = 0;

            foreach (var casa in state)
            {
                Array.Clear(MovimentoAtual, 0, 0);
                bool Captura = false;
                if (casa.Peca != null)
                {
                    StateAtual        = casa;
                    MovimentoAtual[0] = splitedMove[0];
                    int isPawn = Utilidades.IsPawn(splitedMove, casa, Cor);
                    if (isPawn == 1)
                    {
                        MovimentoAtual[2] = splitedMove[1];
                        MovimentoAtual[1] = splitedMove[0];
                        MovimentoAtual[0] = 'P';
                    }
                    if (splitedMove[1] == 'X')
                    {
                        Captura           = true;
                        MovimentoAtual[2] = splitedMove[3];
                        MovimentoAtual[1] = splitedMove[2];
                        MovimentoAtual[0] = MovimentoAtual[0] == 'P' ? 'P' : splitedMove[0];
                    }
                    if (isPawn != -1)
                    {
                        MovePeca = Utilidades.MovePeca(Captura);
                        if (casa.Peca?.Cor == Cor && casa.Peca?.Tipo == MovimentoAtual[0])
                        {
                            if (MovimentoAtual[0] == '0')
                            {
                                MovimentoAtual = splitedMove;
                            }
                            if (MovePeca != 0)
                            {
                                break;
                            }
                        }
                    }
                }
            }
            if (MovePeca == 1)
            {
                return(true);
            }
            Console.WriteLine("Movimento Inválido, por favor insira outro!");
            return(false);
        }
Exemple #2
0
        public Casa GeraCasa(int i, int j)
        {
            Casa    slot = new Casa();
            Boolean cor  = false;

            if (i == 1 || i == 2)
            {
                cor = true;
            }
            if (i == 1 || i == 8)
            {
                switch (j)
                {
                case 0:
                case 7:
                    slot.Peca = new Tower(cor);
                    break;

                case 1:
                case 6:
                    slot.Peca = new Knight(cor);
                    break;

                case 2:
                case 5:
                    slot.Peca = new Bishop(cor);
                    break;

                case 3:
                    slot.Peca = new Queen(cor);
                    break;

                case 4:
                    slot.Peca = new King(cor);
                    break;

                default:
                    break;
                }
            }
            if (i == 2 || i == 7)
            {
                slot.Peca = new Pawn(cor);
            }
            slot.PosLetra = slot.Convert(j);
            slot.PosNum   = i;
            return(slot);
        }