示例#1
0
        public int avaliar(Board tabuleiro)
        {
            int mB, mP;

            mB = 0; mP = 0;

            if ((tabuleiro.vMat[0] + tabuleiro.vMat[1] > 1000))
            {
                mB = tabuleiro.vPos[0] + dna.pPos[0][BlackMagic.index(tabuleiro.bbs[(int)tipoPeca.REI])];
                mP = tabuleiro.vPos[1] + dna.pPos[1][BlackMagic.index(tabuleiro.bbs[(int)tipoPeca.KP])];
            }
            else
            {
                mB = tabuleiro.vPos[0] + dna.pPos[0][BlackMagic.index(tabuleiro.bbs[(int)tipoPeca.REI + 2])];
                mP = tabuleiro.vPos[1] + dna.pPos[1][BlackMagic.index(tabuleiro.bbs[(int)tipoPeca.KP + 2])];
            }
            //tabuleiro.print();
            if (tabuleiro.corMover == 0)
            {
                return(tabuleiro.vMat[0] + 1 - tabuleiro.vMat[1] + mB - mP);
            }
            else
            {
                return(tabuleiro.vMat[1] + 1 - tabuleiro.vMat[0] + mP - mB);
            }
        }