Exemplo n.º 1
0
 def ent_otro(self):
     pos = DatosNueva.numEntrenamiento(self.pantalla,
                                       self.titEntreno,
                                       self.numEntrenos,
                                       pos=self.posEntreno)
     if pos is not None:
         self.posEntreno = pos
         self.reiniciar()
Exemplo n.º 2
0
    def cambiar(self):

        if self.posSiguiente >= 0:
            pos = DatosNueva.numEntrenamiento(self.pantalla, self.tactica.tituloAmpliado(), self.numPosiciones,
                                              pos=self.posSiguiente)
            if pos is not None:
                self.posSiguiente = pos - 1
                self.tactica.ponPosActual(self.posSiguiente)

                self.ent_siguiente()
Exemplo n.º 3
0
    def cambiar(self):

        if self.posSiguiente >= 0:
            pos = DatosNueva.numEntrenamiento(self.pantalla, self.tactica.tituloAmpliado(), self.numPosiciones,
                                              pos=self.posSiguiente)
            if pos is not None:
                self.posSiguiente = pos - 1
                self.tactica.ponPosActual(self.posSiguiente)

                self.ent_siguiente()
Exemplo n.º 4
0
    def jugar(self, numero=None):

        if self.estado == kJugando:
            self.estado = kFinJuego
            self.desactivaTodas()

        if numero is None:
            pos = self.pgn.primeroSinHacer() + 1
            numero = DatosNueva.numEntrenamiento(self.pantalla, _("Find all moves"),
                                                 pos, etiqueta=_("Level"), pos=pos, mensAdicional="<b>" + _(
                    "Movements must be indicated in the following order: King, Queen, Rook, Bishop, Knight and Pawn.") + "</b>")
            if numero is None:
                return
            numero -= 1

        fen = self.pgn.dame(numero)
        self.numero = numero
        cp = ControlPosicion.ControlPosicion()
        cp.leeFen(fen)
        self.siJugamosConBlancas = self.siBlancas = cp.siBlancas
        if self.siBlancas:
            siP = self.siJugador
        else:
            siP = not self.siJugador
        self.ponPiezasAbajo(siP)
        self.ponPosicion(cp)
        self.cp = cp
        self.refresh()
        self.ml.ponFen(fen)
        self.liMovs = self.ml.dameMovimientos()

        # Creamos un avariable para controlar que se mueven en orden
        d = {}
        fchs = "KQRBNP"
        if not cp.siBlancas:
            fchs = fchs.lower()
        for k in fchs:
            d[k] = ""
        for mov in self.liMovs:
            mov.pon_a1h8()
            mov.siElegido = False
            pz = mov.pz
            d[pz] += pz
        self.ordenPZ = ""
        for k in fchs:
            self.ordenPZ += d[k]

        self.errores = 0
        self.iniTiempo = time.time()
        self.pendientes = len(self.liMovs)
        self.estado = kJugando

        self.tablero.quitaFlechas()

        mens = ""
        if cp.enroques:
            if ("K" if cp.siBlancas else "k" ) in cp.enroques:
                mens = "O-O"
            if ("Q" if cp.siBlancas else "q" ) in cp.enroques:
                if mens:
                    mens += " + "
                mens += "O-O-O"
            if mens:
                mens = _("Castling moves possible") + ": " + mens
        if cp.alPaso != "-":
            mens += " " + _("En passant") + ": " + cp.alPaso

        self.pantalla.ponRotulo1(mens)

        self.nivel = numero
        self.siBlancas = cp.siBlancas
        self.ponRotulo2n()

        self.pantalla.ponToolBar(( k_abandonar, ))
        self.pantalla.base.pgn.goto(numero, 0)
        self.activaColor(self.siBlancas)
Exemplo n.º 5
0
 def ent_otro(self):
     pos = DatosNueva.numEntrenamiento(self.pantalla, self.titEntreno, self.numEntrenos, pos=self.posEntreno)
     if pos is not None:
         self.posEntreno = pos
         self.reiniciar()
Exemplo n.º 6
0
    def jugar(self, numero=None):

        if self.estado == kJugando:
            self.estado = kFinJuego
            self.desactivaTodas()

        if numero is None:
            pos = self.pgn.primeroSinHacer() + 1
            numero = DatosNueva.numEntrenamiento(
                self.pantalla,
                _("Find all moves"),
                pos,
                etiqueta=_("Level"),
                pos=pos,
                mensAdicional="<b>" +
                _("Movements must be indicated in the following order: King, Queen, Rook, Bishop, Knight and Pawn."
                  ) + "</b>")
            if numero is None:
                return
            numero -= 1

        fen = self.pgn.dame(numero)
        self.numero = numero
        cp = ControlPosicion.ControlPosicion()
        cp.leeFen(fen)
        self.siJugamosConBlancas = self.siBlancas = cp.siBlancas
        if self.siBlancas:
            siP = self.siJugador
        else:
            siP = not self.siJugador
        self.ponPiezasAbajo(siP)
        self.ponPosicion(cp)
        self.cp = cp
        self.refresh()

        LCEngine.setFen(fen)
        self.liMovs = LCEngine.getExMoves()

        # Creamos un avariable para controlar que se mueven en orden
        d = {}
        fchs = "KQRBNP"
        if not cp.siBlancas:
            fchs = fchs.lower()
        for k in fchs:
            d[k] = ""
        for mov in self.liMovs:
            mov.siElegido = False
            pz = mov.pieza()
            d[pz] += pz
        self.ordenPZ = ""
        for k in fchs:
            self.ordenPZ += d[k]

        self.errores = 0
        self.iniTiempo = time.time()
        self.pendientes = len(self.liMovs)
        self.estado = kJugando

        self.tablero.quitaFlechas()

        mens = ""
        if cp.enroques:
            if ("K" if cp.siBlancas else "k") in cp.enroques:
                mens = "O-O"
            if ("Q" if cp.siBlancas else "q") in cp.enroques:
                if mens:
                    mens += " + "
                mens += "O-O-O"
            if mens:
                mens = _("Castling moves possible") + ": " + mens
        if cp.alPaso != "-":
            mens += " " + _("En passant") + ": " + cp.alPaso

        self.pantalla.ponRotulo1(mens)

        self.nivel = numero
        self.siBlancas = cp.siBlancas
        self.ponRotulo2n()

        self.pantalla.ponToolBar((k_abandonar, ))
        self.pantalla.base.pgn.goto(numero, 0)
        self.activaColor(self.siBlancas)