Exemple #1
0
 public Move(ulong bbFrom, ulong bbTo, tipoMovimento tipo, tipoPeca peca, tipoPeca pecaCap, int indiceDe, int indicePara)
 {
     this.bbFrom         = bbFrom;
     this.bbTo           = bbTo;
     this.peca           = peca;
     this.pecaCap        = pecaCap;
     this.indiceDe       = indiceDe;
     this.indicePara     = indicePara;
     this.tipo           = tipo;
     this.enPassant      = -1;
     this.potencialRoque = 0;
     this.score          = 0;
 }
Exemple #2
0
 public Move(Move copiar)
 {
     this.bbFrom         = copiar.bbFrom;
     this.bbTo           = copiar.bbTo;
     this.peca           = copiar.peca;
     this.pecaCap        = copiar.pecaCap;
     this.indiceDe       = copiar.indiceDe;
     this.indicePara     = copiar.indicePara;
     this.tipo           = copiar.tipo;
     this.enPassant      = copiar.enPassant;
     this.potencialRoque = copiar.potencialRoque;
     this.score          = copiar.score;
 }
Exemple #3
0
        public string toAlgebra()
        {
            StringBuilder sb        = new StringBuilder();
            tipoPeca      pecaPromo = tipoPeca.NENHUMA;

            if (!((tipo == tipoMovimento.MROQUEK) || (tipo == tipoMovimento.MROQUEQ)))
            {
                sb.Append(BlackMagic.bbToString(bbFrom));
                sb.Append(BlackMagic.bbToString(bbTo));
                if (tipo > tipoMovimento.MPROMOCAP)
                {
                    pecaPromo = (tipoPeca)((int)tipo - (int)tipoMovimento.MPROMOCAP);
                }
                else if (tipo > tipoMovimento.MPROMO)
                {
                    pecaPromo = (tipoPeca)((int)tipo - (int)tipoMovimento.MPROMO);
                }
                if (pecaPromo != tipoPeca.NENHUMA)
                {
                    sb.Append(bbConstants.sPecas[(int)pecaPromo]);
                }
            }
            else
            {
                if (tipo == tipoMovimento.MROQUEK)
                {
                    if ((int)peca % 2 == 0)
                    {
                        sb.Append("e1g1");
                    }
                    else
                    {
                        sb.Append("e8g8");
                    }
                }
                else
                {
                    if ((int)peca % 2 == 0)
                    {
                        sb.Append("e1c1");
                    }
                    else
                    {
                        sb.Append("e8c8");
                    }
                }
            }
            return(sb.ToString());
        }