Пример #1
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());
        }