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; }
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; }
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()); }