コード例 #1
0
ファイル: Partida.py プロジェクト: deevrek/lucaschess
def lipv_lipgn(lipv):
    LCEngine.setFenInicial()
    li_pgn = []
    for pv in lipv:
        info = LCEngine.moveExPV(pv[:2], pv[2:4], pv[4:])
        li_pgn.append(info._san)
    return li_pgn
コード例 #2
0
ファイル: ControlPosicion.py プロジェクト: tosca07/lucaschess
    def mover(self, desdeA1H8, hastaA1H8, coronacion=""):
        self.setLCE()

        mv = LCEngine.moveExPV(desdeA1H8, hastaA1H8, coronacion)
        if not mv:
            return False, "Error"

        self.liExtras = []

        enrK = mv.isCastleK()
        enrQ = mv.isCastleQ()
        enPa = mv.isEnPassant()

        if coronacion:
            if self.siBlancas:
                coronacion = coronacion.upper()
            else:
                coronacion = coronacion.lower()
            self.liExtras.append(("c", hastaA1H8, coronacion))

        elif enrK:
            if self.siBlancas:
                self.liExtras.append(("m", "h1", "f1"))
            else:
                self.liExtras.append(("m", "h8", "f8"))

        elif enrQ:
            if self.siBlancas:
                self.liExtras.append(("m", "a1", "d1"))
            else:
                self.liExtras.append(("m", "a8", "d8"))

        elif enPa:
            capt = self.alPaso.replace("6", "5").replace("3", "4")
            self.liExtras.append(("b", capt))

        self.leeFen(LCEngine.getFen())  # despues de liExtras, por si enpassant

        return True, self.liExtras