def __init__(self, owner, dicdatos): self.dicdatos = dicdatos site = dicdatos["SITE"] self.level = dicdatos["LEVEL"] self.intervalo = dicdatos["INTERVAL"] self.intervaloPorPieza = dicdatos["INTERVALPIECE"] self.esatacada = dicdatos["ISATTACKED"] self.esatacante = dicdatos["ISATTACKING"] self.posicion = dicdatos["POSITION"] self.color = dicdatos["COLOR"] self.errors = dicdatos["ERRORS"] self.time = dicdatos["TIME"] self.liFENs = dicdatos["FENS"] mas = "x" if self.intervaloPorPieza else "" titulo = "%s (%s%d\")" % (site, mas, self.intervalo) super(WPlay, self).__init__(owner, titulo, Iconos.Gafas(), "visualplay") self.procesador = owner.procesador self.configuracion = self.procesador.configuracion # Tiempo en tablero intervaloMax = self.intervalo if self.intervaloPorPieza: intervaloMax *= 32 # Tablero confTablero = self.configuracion.confTablero("VISUALPLAY", 48) self.tablero = Tablero.Tablero(self, confTablero) self.tablero.crea() lyT = Colocacion.V().control(self.tablero) self.gbTablero = Controles.GB(self, "", lyT) # entradas ly = Colocacion.G() self.posPosicion = None self.posColor = None self.posIsAttacked = None self.posIsAttacking = None lista = [_("Piece")] if self.posicion: lista.append(_("Position")) if self.color: lista.append(_("Square color")) if self.esatacada: lista.append(_("Is attacked?")) if self.esatacante: lista.append(_("Is attacking?")) self.liLB2 = [] for col, eti in enumerate(lista): ly.control(Controles.LB(self, eti), 0, col + 1) lb2 = Controles.LB(self, eti) ly.control(lb2, 0, col + len(lista) + 2) self.liLB2.append(lb2) elementos = len(lista) + 1 liComboPieces = [] for c in "PNBRQKpnbrqk": liComboPieces.append(("", c, self.tablero.piezas.icono(c))) self.pmBien = Iconos.pmAceptarPeque() self.pmMal = Iconos.pmCancelarPeque() self.pmNada = Iconos.pmPuntoAmarillo() self.liBloques = [] for x in range(32): fila = x % 16 + 1 colPos = elementos if x > 15 else 0 unBloque = [] self.liBloques.append(unBloque) # # Solucion lb = Controles.LB(self, "").ponImagen(self.pmNada) ly.control(lb, fila, colPos) unBloque.append(lb) # # Piezas colPos += 1 cb = Controles.CB(self, liComboPieces, "P") # cb.setStyleSheet("* { min-height:32px }") cb.setIconSize(QtCore.QSize(20, 20)) ly.control(cb, fila, colPos) unBloque.append(cb) if self.posicion: ec = Controles.ED(self, "").caracteres(2).controlrx( "(|[a-h][1-8])").anchoFijo(24).alinCentrado() colPos += 1 ly.controlc(ec, fila, colPos) unBloque.append(ec) if self.color: cl = QTVarios.TwoImages(Iconos.pmBlancas(), Iconos.pmNegras()) colPos += 1 ly.controlc(cl, fila, colPos) unBloque.append(cl) if self.esatacada: isat = QTVarios.TwoImages(Iconos.pmAtacada().scaledToWidth(24), Iconos.pmPuntoNegro()) colPos += 1 ly.controlc(isat, fila, colPos) unBloque.append(isat) if self.esatacante: at = QTVarios.TwoImages(Iconos.pmAtacante().scaledToWidth(24), Iconos.pmPuntoNegro()) colPos += 1 ly.controlc(at, fila, colPos) unBloque.append(at) ly1 = Colocacion.H().otro(ly).relleno() ly2 = Colocacion.V().otro(ly1).relleno() self.gbSolucion = Controles.GB(self, "", ly2) f = Controles.TipoLetra("", 11, 80, False, False, False, None) bt = Controles.PB(self, _("End game"), self.terminar, plano=False).ponIcono( Iconos.FinPartida()).ponFuente(f) self.btTablero = Controles.PB(self, _("Go to board"), self.activaTablero, plano=False).ponIcono( Iconos.Tablero()).ponFuente(f) self.btComprueba = Controles.PB(self, _("Test the solution"), self.compruebaSolucion, plano=False).ponIcono( Iconos.Check()).ponFuente(f) self.btGotoNextLevel = Controles.PB(self, _("Go to next level"), self.gotoNextLevel, plano=False).ponIcono( Iconos.GoToNext()).ponFuente(f) ly0 = Colocacion.H().control(bt).relleno().control( self.btTablero).control(self.btComprueba).control( self.btGotoNextLevel) lyBase = Colocacion.H().control(self.gbTablero).control( self.gbSolucion) layout = Colocacion.V().otro(ly0).otro(lyBase) self.setLayout(layout) self.recuperarVideo() self.gotoNextLevel()