def tutorChange(self): if PantallaTutor.cambioTutor(self, self.configuracion): self.procesador.cambiaXTutor()
def elegir(self, siPuntos, liApPosibles=None): self.rmUsuario, posUsuario = self.mrmTutor.buscaRM( self.jg.movimiento()) if self.rmUsuario is None: # Elegimos si la opcion del tutor es mejor que la del usuario # Ponemos un mensaje mientras piensa me = QTUtil2.mensEspera.inicio(self.pantalla, _("Analyzing the move...."), posicion="ad") fen = self.jg.posicion.fen() mrmUsuario = self.gestorTutor.analiza(fen) self.rmUsuario = mrmUsuario.liMultiPV[0] self.rmUsuario.cambiaColor(self.jg.posicion) me.final() if me.teclaPulsada(self.gestor.teclaPanico): self.gestor.siTeclaPanico = True return False # Estadisticas if self.salvarCSV: self.guardaEstadisticas() # Comparamos la puntuacion del usuario con la del tutor if not self.mrmTutor.mejorRMQue(self.rmUsuario, self.difpts, self.difporc): return False # Creamos la lista de movimientos analizados por el tutor self.listaRM = self.hazListaRM(posUsuario) # rm,nombre # Creamos la ventana siRival = self.rmRival and " " in self.rmRival.getPV() self.liApPosibles = liApPosibles siApertura = not (liApPosibles is None) if siApertura: siRival = False self.w = w = PantallaTutor.PantallaTutor(self, self, siRival, siApertura, self.siBlancas, siPuntos) self.cambiadoRM(0) self.partidaUsuario = Partida.Partida(self.jg.posicion) self.partidaUsuario.append_jg(self.jg) self.partidaUsuario.leerPV(self.rmUsuario.getPV()) self.posUsuario = 0 self.maxUsuario = len(self.partidaUsuario.liJugadas) self.tableroUsuario.ponPosicion(self.jg.posicion) w.ponPuntuacionUsuario(self.rmUsuario.texto()) if siRival: self.rmRival.cambiaColor() pvBloque = self.rmRival.getPV() n = pvBloque.find(" ") if n > 0: pvBloque = pvBloque[n + 1:].strip() else: pvBloque = "" if pvBloque: self.partidaRival = Partida.Partida(self.ultPosicion) self.partidaRival.leerPV(pvBloque) self.posRival = 0 self.maxRival = len(self.partidaRival.liJugadas) - 1 if self.maxRival >= 0: self.tableroRival.ponPosicion( self.partidaRival.liJugadas[0].posicion) self.mueveRival(True) w.ponPuntuacionRival(self.rmRival.texto()) self.mueveTutor(True) self.mueveUsuario(True) if w.exec_(): if w.siElegidaApertura: desde = self.partidaAperturas.jugada(0).desde hasta = self.partidaAperturas.jugada(0).hasta if desde == self.desde and hasta == self.hasta: return False self.desde = desde self.hasta = hasta self.coronacion = "" elif w.respLibro: self.desde, self.hasta, self.coronacion = w.respLibro else: rm = self.listaRM[self.posRM][0] self.desde = rm.desde self.hasta = rm.hasta self.coronacion = rm.coronacion return True return False
def tutorChange(self): if PantallaTutor.cambioTutor(self, self.configuracion): self.procesador.cambiaXTutor()
def elegir(self, siPuntos, liApPosibles=None): self.rmUsuario, posUsuario = self.mrmTutor.buscaRM(self.move.movimiento()) if self.rmUsuario is None: # Elegimos si la opcion del tutor es mejor que la del usuario # Ponemos un mensaje mientras piensa me = QTUtil2.mensEspera.inicio(self.main_window, _("Analyzing the move...."), position="ad") fen = self.move.position.fen() mrmUsuario = self.gestorTutor.analiza(fen) if len(mrmUsuario.li_rm) == 0: self.rmUsuario = self.mrmTutor.li_rm[0].copia() self.rmUsuario.from_sq = self.move.from_sq self.rmUsuario.to_sq = self.move.to_sq self.rmUsuario.promotion = self.move.promotion self.rmUsuario.mate = 0 self.rmUsuario.puntos = 0 else: self.rmUsuario = mrmUsuario.li_rm[0] self.rmUsuario.cambiaColor(self.move.position) me.final() # Estadisticas if self.x_save_csv: self.guardaEstadisticas() # Comparamos la puntuacion del usuario con la del tutor if not self.mrmTutor.mejorRMQue(self.rmUsuario, self.difpts, self.difporc): return False # Creamos la lista de movimientos analizados por el tutor self.list_rm = self.do_lirm(posUsuario) # rm,name # Creamos la ventana siRival = self.rm_rival and " " in self.rm_rival.getPV() self.liApPosibles = liApPosibles in_the_opening = not (liApPosibles is None) if in_the_opening: siRival = False self.w = w = PantallaTutor.PantallaTutor(self, self, siRival, in_the_opening, self.is_white, siPuntos) self.cambiadoRM(0) self.partidaUsuario = Game.Game(self.move.position) self.partidaUsuario.add_move(self.move) self.partidaUsuario.read_pv(self.rmUsuario.getPV()) self.posUsuario = 0 self.maxUsuario = len(self.partidaUsuario.li_moves) self.tableroUsuario.setposition(self.move.position) w.ponPuntuacionUsuario(self.rmUsuario.texto()) if siRival: self.rm_rival.cambiaColor() pvBloque = self.rm_rival.getPV() n = pvBloque.find(" ") if n > 0: pvBloque = pvBloque[n + 1 :].strip() else: pvBloque = "" if pvBloque: self.partidaRival = Game.Game(self.last_position) self.partidaRival.read_pv(pvBloque) self.posRival = 0 self.maxRival = len(self.partidaRival.li_moves) - 1 if self.maxRival >= 0: self.tableroRival.setposition(self.partidaRival.li_moves[0].position) self.mueve_rival(True) w.ponPuntuacionRival(self.rm_rival.texto()) self.moving_tutor(True) self.moving_user(True) if w.exec_(): if w.siElegidaApertura: from_sq = self.partidaAperturas.move(0).from_sq to_sq = self.partidaAperturas.move(0).to_sq if from_sq == self.from_sq and to_sq == self.to_sq: return False self.from_sq = from_sq self.to_sq = to_sq self.promotion = "" elif w.respLibro: self.from_sq, self.to_sq, self.promotion = w.respLibro else: rm = self.list_rm[self.pos_rm][0] self.from_sq = rm.from_sq self.to_sq = rm.to_sq self.promotion = rm.promotion return True return False