def busca(self, tipo, clave): if tipo is None: if clave.startswith("*"): clave = clave[1:] tipo = EXTERNO else: tipo = INTERNO rival = None if tipo == EXTERNO: for cm in self.liMotoresExternos: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == MICGM: for cm in self.liMotoresGM: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == MICPER: liMotores = EnginesMicElo.listaCompleta() for cm in liMotores: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == INTERNO: for cm in self.liMotoresInternos: if cm.clave == clave: rival = cm break if not rival: rival = self.liMotoresInternos[0] if tipo == FIXED: rival = None for elo, lista in self.dicMotoresFixedElo.iteritems(): for cm in lista: if cm.clave == clave: rival = cm break if rival: break if not rival: rival = self.liMotoresInternos[0] return tipo, rival
def listaMotores(self, elo): li = EnginesMicElo.listaCompleta() numX = len(li) for num, mt in enumerate(li): mt.siJugable = True mt.siOut = False mt.numero = numX - num return li
def listaMotores(self, elo): li = EnginesMicElo.listaCompleta() numX = len(li) for num, mt in enumerate(li): mt.siJugable = True mt.siOut = False mt.numero = numX-num return li
def lista(): li = EnginesMicElo.listaCompleta() dicElos = DicMicElos().dic() for mt in li: k = mt.clave if k in dicElos: mt.elo = dicElos[k] return li
def __init__(self, configuracion): self.configuracion = configuracion self.dicIconos = {INTERNO: Iconos.Motor(), EXTERNO: Iconos.MotoresExternos(), MICGM: Iconos.GranMaestro(), MICPER:Iconos.EloTimed(), FIXED: Iconos.FixedElo()} self.liMotoresGM = EnginesMicElo.listaGM() self.liMotoresInternos = configuracion.listaMotoresInternos() self.dicMotoresFixedElo = configuracion.dicMotoresFixedElo() self.rehazMotoresExternos()
def __init__(self, configuracion): self.configuracion = configuracion self.dicIconos = {INTERNO: Iconos.Motor(), EXTERNO: Iconos.MotoresExternos(), MICGM: Iconos.GranMaestro(), MICPER:Iconos.EloTimed(), FIXED: Iconos.FixedElo()} self.dicMotoresGM = EnginesMicElo.dicGM() self.liMotoresInternos = configuracion.listaMotoresInternos() self.dicMotoresFixedElo = configuracion.dicMotoresFixedElo() self.rehazMotoresExternos()
def busca(self, tipo, clave): if tipo is None: if clave.startswith("*"): clave = clave[1:] tipo = EXTERNO else: tipo = INTERNO rival = None if tipo == EXTERNO: for cm in self.liMotoresExternos: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == MICGM: for cm in self.liMotoresGM: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == MICPER: liMotores = EnginesMicElo.listaCompleta() for cm in liMotores: if cm.clave == clave: rival = cm break if not rival: tipo = INTERNO clave = self.configuracion.rivalInicial if tipo == INTERNO: for cm in self.liMotoresInternos: if cm.clave == clave: rival = cm break if not rival: rival = self.liMotoresInternos[0] if tipo == FIXED: rival = None for elo, lista in self.dicMotoresFixedElo.iteritems(): for cm in lista: if cm.clave == clave: rival = cm break if rival: break if not rival: rival = self.liMotoresInternos[0] if tipo == IRINA: rival = None for cm in self.liIrina: if cm.clave == clave: rival = cm break if not rival: rival = self.liMotoresInternos[0] if tipo == ELO: rival = None for cm in self.liElo: if cm.clave == clave: rival = cm break if not rival: rival = self.liMotoresInternos[0] return tipo, rival
def inicio(self, datosMotor, minutos, segundos, siCompetitivo, aplazamiento=None): self.tipoJuego = kJugMicElo self.resultado = None self.siJuegaHumano = False self.estado = kJugando self.siCompetitivo = siCompetitivo if aplazamiento: siBlancas = aplazamiento["SIBLANCAS"] else: siBlancas = self.determinaColor(datosMotor) self.siJugamosConBlancas = siBlancas self.siRivalConBlancas = not siBlancas self.rmRival = None self.liRMrival = [] self.noMolestar = 0 self.resignPTS = -1000 self.siTutorActivado = False self.pantalla.ponActivarTutor(False) self.ayudasPGN = self.ayudas = 0 self.tiempo = {} self.maxSegundos = minutos * 60 self.segundosJugada = segundos # -Aplazamiento 1/2-------------------------------------------------- if aplazamiento: self.partida.recuperaDeTexto(aplazamiento["JUGADAS"]) self.datosMotor = EnginesMicElo.MotorMicElo(aplazamiento["NOMBRE"], aplazamiento["EXE"]) self.datosMotor.alias = aplazamiento["NOMBRE"] self.datosMotor.elo = aplazamiento["ELO"] self.datosMotor.pgana = aplazamiento["PGANA"] self.datosMotor.ppierde = aplazamiento["PPIERDE"] self.datosMotor.ptablas = aplazamiento["PTABLAS"] self.datosMotor.book = aplazamiento["BOOK"] self.datosMotor.recuperaUCI(aplazamiento["UCI"]) self.tiempo[True] = Util.Timer(aplazamiento["TIEMPOBLANCAS"]) self.tiempo[False] = Util.Timer(aplazamiento["TIEMPONEGRAS"]) self.maxSegundos = aplazamiento["MAXSEGUNDOS"] self.segundosJugada = aplazamiento["SEGUNDOSJUGADA"] self.listaAperturasStd.asignaApertura(self.partida) else: self.datosMotor = datosMotor self.tiempo[True] = Util.Timer(self.maxSegundos) self.tiempo[False] = Util.Timer(self.maxSegundos) cbook = self.datosMotor.book if self.datosMotor.book else VarGen.tbook self.book = Books.Libro("P", cbook, cbook, True) self.book.polyglot() elo = self.datosMotor.elo self.maxMoveBook = elo/200 if 0 <= elo <= 1700 else 9999 eloengine = self.datosMotor.elo eloplayer = self.configuracion.miceloActivo(siCompetitivo) self.whiteElo = eloplayer if siBlancas else eloengine self.blackElo = eloplayer if not siBlancas else eloengine self.xrival = self.procesador.creaGestorMotor(self.datosMotor, None, None, siMultiPV=self.datosMotor.multiPV > 0) self.pteToolRendirse = False if not self.siCompetitivo: self.pteToolRendirse = True self.maxPlyRendirse = 6 elif self.siJugamosConBlancas: self.pteToolRendirse = True self.maxPlyRendirse = 1 else: self.maxPlyRendirse = 0 if aplazamiento and self.partida.numJugadas() > self.maxPlyRendirse: self.pteToolRendirse = False self.ponToolBar() self.pantalla.activaJuego(True, True, siAyudas=False) self.ponMensajero(self.mueveHumano) self.ponPosicion(self.partida.ultPosicion) self.ponPiezasAbajo(siBlancas) self.quitaAyudas(True, siQuitarAtras=siCompetitivo) self.mostrarIndicador(True) nbsp = " " * 3 txt = "%s:%+d%s%s:%+d%s%s:%+d" % ( _("Win"), self.datosMotor.pgana, nbsp, _("Draw"), self.datosMotor.ptablas, nbsp, _("Lost"), self.datosMotor.ppierde ) self.ponRotulo1("<center>%s</center>" % txt) self.ponRotulo2("") self.pgnRefresh(True) self.ponCapInfoPorDefecto() #-Aplazamiento 2/2-------------------------------------------------- if aplazamiento: self.mueveJugada(kMoverFinal) self.siPrimeraJugadaHecha = True else: self.siPrimeraJugadaHecha = False tpBL = self.tiempo[True].etiqueta() tpNG = self.tiempo[False].etiqueta() self.rival = rival = self.datosMotor.alias + " (%d)" % self.datosMotor.elo jugador = self.configuracion.jugador + " (%d)" % self.configuracion.miceloActivo(siCompetitivo) bl, ng = jugador, rival if self.siRivalConBlancas: bl, ng = ng, bl self.pantalla.ponDatosReloj(bl, tpBL, ng, tpNG) self.refresh() self.ponPosicionDGT() self.siguienteJugada()