當前位置: 首頁>>代碼示例>>Python>>正文


Python Jugada.dameJugada方法代碼示例

本文整理匯總了Python中Code.Jugada.dameJugada方法的典型用法代碼示例。如果您正苦於以下問題:Python Jugada.dameJugada方法的具體用法?Python Jugada.dameJugada怎麽用?Python Jugada.dameJugada使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Code.Jugada的用法示例。


在下文中一共展示了Jugada.dameJugada方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: leerPV

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def leerPV(self, pvBloque):
        posicion = self.ultPosicion
        pv = []
        for mov in pvBloque.split(" "):
            if len(mov) >= 4 and mov[0] in "abcdefgh" and mov[1] in "12345678" and mov[2] in "abcdefgh" and mov[
                3] in "12345678":
                pv.append(mov)
            else:
                break

        siB = self.siBlancas

        for mov in pv:
            desde = mov[:2]
            hasta = mov[2:4]
            if len(mov) == 5:
                coronacion = mov[4]
                if siB:
                    coronacion = coronacion.upper()
            else:
                coronacion = None
            siBien, mens, jg = Jugada.dameJugada(posicion, desde, hasta, coronacion)
            if siBien:
                self.liJugadas.append(jg)
                posicion = jg.posicion
            siB = not siB
        self.ultPosicion = posicion
        return self
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:30,代碼來源:Partida.py

示例2: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):
        if not coronacion and self.partida.ultPosicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.partida.ultPosicion.siBlancas)
            if coronacion is None:
                return False

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)

        if siBien:
            self.partida.liJugadas.append(jg)
            self.partida.ultPosicion = jg.posicion
            if self.partida.siTerminada():
                jg.siJaqueMate = jg.siJaque
                jg.siAhogado = not jg.siJaque
            resp = self.partida.si3repetidas()
            if resp:
                jg.siTablasRepeticion = True
            elif self.partida.ultPosicion.movPeonCap >= 100:
                jg.siTablas50 = True
            elif self.partida.ultPosicion.siFaltaMaterial():
                jg.siTablasFaltaMaterial = True
            self.tablero.ponPosicion(jg.posicion)
            self.tablero.ponFlechaSC(jg.desde, jg.hasta)

            self.siguienteJugada()
            return True
        else:
            return False
開發者ID:garyliu33,項目名稱:lucaschess,代碼行數:30,代碼來源:RunVoyager.py

示例3: mueveRival

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveRival(self, desde, hasta, coronacion):

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        if siBien:
            self.partida.ultPosicion = jg.posicion
            if not self.siTutorActivado:
                self.siAnalizadoTutor = False
            else:

                if not self.siDirigido:
                    self.analizaTutor()  # Que analice antes de activar humano, para que no tenga que esperar
                    self.siAnalizadoTutor = True

            self.masJugada(jg, False)
            self.movimientosPiezas(jg.liMovs, True)

            self.error = ""

            if self.siDirigido and ( self.partida.ultPosicion.fen() not in self.dicDirigidoFen ):
                self.lineaTerminadaOpciones()

            return True
        else:
            self.error = mens
            return False
開發者ID:Slyte159,項目名稱:lucaschess,代碼行數:27,代碼來源:GestorEntPos.py

示例4: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):
        if self.siJuegaHumano:
            self.paraHumano()
        else:
            self.sigueHumano()
            return False

        movimiento = desde + hasta

        # Peon coronando
        if not coronacion and self.partida.ultPosicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.partida.ultPosicion.siBlancas)
            if coronacion is None:
                self.sigueHumano()
                return False
        if coronacion:
            movimiento += coronacion

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)

        if siBien:
            self.movimientosPiezas(jg.liMovs)
            self.masJugada(jg, True)
            self.error = ""
            self.siguienteJugada()
            return True
        else:
            self.sigueHumano()
            self.error = mens
            return False
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:32,代碼來源:GestorMateMap.py

示例5: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):
        # Peon coronando
        if not coronacion and self.partida.ultPosicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.partida.ultPosicion.siBlancas)
            if coronacion is None:
                return False

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)

        if siBien:

            self.movimientosPiezas(jg.liMovs)

            self.partida.ultPosicion = jg.posicion
            self.masJugada(jg, True)
            self.error = ""

            if self.siJuegaMotor and not self.partida.siEstaTerminada():
                self.siJuegaMotor = False
                self.desactivaTodas()
                self.juegaRival()
                self.siJuegaMotor = True  # Como juega por mi pasa por aqui, para que no se meta en un bucle infinito

            self.siguienteJugada()
            return True
        else:
            self.error = mens
            return False
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:30,代碼來源:GestorSolo.py

示例6: siguienteJugada

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def siguienteJugada(self):
        if self.estado == kFinJuego:
            return False

        self.estado = kJugando

        siBlancas = self.partida.siBlancas()
        self.colorJugando = siBlancas

        if self.compruebaFinal():
            return False

        self.ponIndicador(siBlancas)
        self.refresh()

        self.relojStart(siBlancas)

        siEncontrada = False
        analisis = None
        bk = self.book[siBlancas]
        if bk:
            siEncontrada, desde, hasta, coronacion = self.eligeJugadaBook(bk, self.bookRR[siBlancas])
            if not siEncontrada:
                self.book[siBlancas] = None

        if not siEncontrada:
            xrival = self.xmotor[siBlancas]
            tiempoBlancas = self.tiempo[True].tiempoPendiente
            tiempoNegras = self.tiempo[False].tiempoPendiente
            segundosJugada = xrival.motorTiempoJugada
            if self.siTerminar:
                return False
            mrm = xrival.juegaTiempoTorneo(tiempoBlancas, tiempoNegras, segundosJugada)
            if mrm is None:
                return False
            rm = mrm.mejorMov()
            desde = rm.desde
            hasta = rm.hasta
            coronacion = rm.coronacion
            analisis = mrm, 0

        self.relojStop(siBlancas)
        if self.siTerminar:
            return False

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        if not jg:
            return False
        if analisis:
            jg.analisis = analisis
            jg.critica = ""
        self.masJugada(jg)
        self.movimientosPiezas(jg.liMovs, True)

        return not self.siTerminar
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:57,代碼來源:GestorTorneo.py

示例7: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):

        if not coronacion and self.partida.ultPosicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.partida.ultPosicion.siBlancas)
            if coronacion is None:
                return False

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        if not siBien:
            return False

        self.partida.ultPosicion = jg.posicion
        self.partida.liJugadas.append(jg)
        if self.siAyuda:
            self.tablero.quitaFlechas()
        self.movimientosPiezas(jg.liMovs, False)
        if self.siTerminada():
            self.siguienteMate()
            return

        self.numMov += 1
        if self.numMov == self.mate:
            self.repiteMate(True, True)
            return

        # Juega rival con depth 3
        rm = self.xrival.juega()
        desde = rm.desde
        hasta = rm.hasta
        coronacion = rm.coronacion

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        self.partida.ultPosicion = jg.posicion
        self.partida.liJugadas.append(jg)
        self.ponFlechaSC(jg.desde, jg.hasta)
        self.movimientosPiezas(jg.liMovs, False)
        if self.siTerminada():
            self.repiteMate(True, True)
            return
        self.activaColor(True)  # Caso en que hay coronacion, sino no se activa la dama
開發者ID:cdcupt,項目名稱:lucaschess,代碼行數:42,代碼來源:GestorMate.py

示例8: pgnInformacion

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def pgnInformacion(self, fila, clave):
        posJugada, jg = self.pgn.jugada(fila, clave)
        if jg:
            fen = jg.posicionBase.fen()
            lista = self.libro.miraListaJugadas(fen)

            siEditar = True
            if len(lista) > 0:
                resp = PantallaBooks.saltaJugadaBooks(self, lista, jg)
                if resp is None:
                    return
                siEditar = resp[0] is None
            if siEditar:
                Gestor.Gestor.pgnInformacion(self, fila, clave)
            else:
                # Eliminamos todas las jugadas desde esta hasta el final
                numpos = jg.numpos
                self.partida.liJugadas = self.partida.liJugadas[:numpos]
                if self.partida.numJugadas() == 0:
                    self.aciertos = 0
                    self.movimientos = 0
                    self.partida.ultPosicion = self.partida.iniPosicion
                else:
                    jg = self.partida.liJugadas[-1]
                    self.aciertos = jg.aciertos
                    self.movimientos = jg.movimientos
                    self.partida.ultPosicion = jg.posicion
                self.ponRotulo2(self.txtAciertos())
                self.partida.pendienteApertura = True

                # realizamos el movimiento
                desde, hasta, coronacion = resp
                siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
                self.movimientosPiezas(jg.liMovs, False)
                self.partida.ultPosicion = jg.posicion
                self.tablero.ponPosicion(jg.posicion)
                self.pantalla.base.pgnRefresh()
                self.ponRevision(False)

                self.listaJugadas = lista

                self.ponVariantes(jg)

                self.masJugada(jg, True)

                # refrescamos
                self.refresh()

                # siguienteJugada
                self.estado = kJugando
                self.siguienteJugada()
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:53,代碼來源:GestorBooks.py

示例9: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta):

        if self.cpActual.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.cpActual.siBlancas)
            if coronacion is None:
                return
        else:
            coronacion = ""

        siBien, mens, jg = Jugada.dameJugada(self.cpActual, desde, hasta, coronacion)

        if siBien:
            pv = desde + hasta + coronacion
            self.winBookGuide.seleccionaPV(pv)
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:16,代碼來源:WBG_InfoMove.py

示例10: mueveRival

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveRival(self, desde, hasta, coronacion):
        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        if siBien:
            self.partida.ultPosicion = jg.posicion

            self.masJugada(jg, False)
            self.movimientosPiezas(jg.liMovs, True)

            self.error = ""

            return True
        else:
            self.error = mens
            return False
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:16,代碼來源:GestorMateMap.py

示例11: dameJugadasTXT

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
 def dameJugadasTXT(self, posicionBase, siGM):
     li = []
     dRepeticiones = {}
     for gmPartida in self.liGMPartidas:
         move = gmPartida.move(self.ply)
         if move:
             if move not in dRepeticiones:
                 dRepeticiones[move] = [len(li), 1]
                 desde, hasta, coronacion = move[:2], move[2:4], move[4:]
                 siBien, mens, jg = Jugada.dameJugada(posicionBase, desde, hasta, coronacion)
                 li.append([desde, hasta, coronacion, gmPartida.rotuloBasico(siGM), jg.pgnSP()])
             else:
                 dRepeticiones[move][1] += 1
                 pos = dRepeticiones[move][0]
                 li[pos][3] = _("%d games") % dRepeticiones[move][1]
     return li
開發者ID:garyliu33,項目名稱:lucaschess,代碼行數:18,代碼來源:GM.py

示例12: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):

        if self.siJuegaHumano:
            self.paraHumano()
        else:
            self.sigueHumano()
            return False

        # Peon coronando
        if not coronacion and self.partida.ultPosicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.partida.ultPosicion.siBlancas)
            if coronacion is None:
                self.sigueHumano()
                return False

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)

        if not siBien:
            self.sigueHumano()
            self.error = mens
            return False

        siEncontrado = False
        if coronacion is None:
            coronacion = ""
        for pv, jdesde, jhasta, jcoronacion, jpgn in self.listaJugadas:
            if desde == jdesde and hasta == jhasta and coronacion == jcoronacion:
                siEncontrado = True
                break

        if not siEncontrado:
            self.menuAyuda()
            self.sigueHumano()
            return False

        self.ultPV = desde + hasta + coronacion
        self.ponRotulo2(self.txtAciertos())

        self.movimientosPiezas(jg.liMovs)

        self.partida.ultPosicion = jg.posicion
        self.masJugada(jg, True)
        self.error = ""
        self.siguienteJugada()
        return True
開發者ID:garyliu33,項目名稱:lucaschess,代碼行數:47,代碼來源:GestorAperturas.py

示例13: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):

        # Peon coronando
        if not coronacion and self.posicionBase.siPeonCoronando(desde, hasta):
            coronacion = self.w.tablero.peonCoronando(not self.jg.posicion.siBlancas)
            if coronacion is None:
                return False

        siBien, mens, jgNueva = Jugada.dameJugada(self.posicionBase, desde, hasta, coronacion)

        if siBien:

            self.movimientosPiezas(jgNueva.liMovs)
            self.w.tablero.ponFlechaSC(jgNueva.desde, jgNueva.hasta)
            self.analizaJugada(jgNueva)
            return True
        else:
            return False
開發者ID:cdcupt,項目名稱:lucaschess,代碼行數:20,代碼來源:Analisis.py

示例14: mueveHumano

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveHumano(self, desde, hasta, coronacion=None):
        self.tablero.desactivaTodas()

        # Peon coronando
        if not coronacion and self.posicion.siPeonCoronando(desde, hasta):
            coronacion = self.tablero.peonCoronando(self.posicion.siBlancas)
            if coronacion is None:
                self.ponJuego()
                return False

        siBien, mens, jg = Jugada.dameJugada(self.posicion, desde, hasta, coronacion)
        if siBien:
            self.tablero.ponPosicion(jg.posicion)
            self.tablero.ponFlechaSC(desde, hasta)
            self.hechaJugada(jg)
        else:
            self.ponJuego()
            return False
        return True
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:21,代碼來源:PantallaWorkMap.py

示例15: mueveRival

# 需要導入模塊: from Code import Jugada [as 別名]
# 或者: from Code.Jugada import dameJugada [as 別名]
    def mueveRival(self, respMotor):
        desde = respMotor.desde
        hasta = respMotor.hasta

        coronacion = respMotor.coronacion

        siBien, mens, jg = Jugada.dameJugada(self.partida.ultPosicion, desde, hasta, coronacion)
        if siBien:
            self.partida.ultPosicion = jg.posicion
            self.ponVariantes(jg)

            self.masJugada(jg, False)
            self.movimientosPiezas(jg.liMovs, True)

            self.error = ""

            return True
        else:
            self.error = mens
            return False
開發者ID:JERUKA9,項目名稱:lucaschess,代碼行數:22,代碼來源:GestorBooks.py


注:本文中的Code.Jugada.dameJugada方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。