本文整理匯總了Python中Code.Jugada類的典型用法代碼示例。如果您正苦於以下問題:Python Jugada類的具體用法?Python Jugada怎麽用?Python Jugada使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Jugada類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: leerPV
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
示例2: mueveHumano
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
示例3: mueveRival
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
示例4: mueveHumano
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
示例5: mueveHumano
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
示例6: siguienteJugada
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
示例7: mueveHumano
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
示例8: pgnInformacion
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()
示例9: mueveHumano
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)
示例10: mueveRival
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
示例11: dameJugadasTXT
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
示例12: mueveHumano
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
示例13: mueveHumano
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
示例14: mueveHumano
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
示例15: mueveRival
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