Exemplo n.º 1
0
 def posicionEditar(self):
     cp = Position.Position()
     cp.read_fen(self.fen)
     resp = Voyager.voyager_position(self, cp)
     if resp is not None:
         self.fen = resp
         self.muestraPosicion()
Exemplo n.º 2
0
 def posicionEditar(self):
     cp = Position.Position()
     cp.read_fen(self.fen)
     resp = Voyager.voyager_position(self, cp, wownerowner=self.procesador.main_window)
     if resp is not None:
         self.fen = resp.fen()
         self.muestraPosicion()
Exemplo n.º 3
0
    def change_position(self):
        prev = self.analyzing
        self.stop()

        resp = Voyager.voyager_position(self, self.position, wownerowner=self.procesador.main_window)
        if resp is not None:
            self.em_solucion.set_text("")
            self.position = resp
            self.board.set_position(self.position)

            self.sb_number.ponValor(self.sb_number.valor() + 1)

        if prev:
            self.start()
Exemplo n.º 4
0
 def nuevo(self):
     self.reset()
     position = Voyager.voyager_position(self, self.game.first_position)
     if position is not None:
         fen = position.fen()
         mt = self.t4.dtm(fen)
         if mt is None:
             QTUtil2.message_error(self, _("Invalid, this position is not evaluated by Gaviota Tablebases"))
             return
         if mt < 0:
             QTUtil2.message_error(self, _("Invalid, this position is lost"))
             return
         key, fenm2 = self.db.insert(fen, mt)
         self.set_key(key)
         pos = self.db.pos_fen(fenm2)
         self.grid.goto(pos, 0)
Exemplo n.º 5
0
    def startPosition(self):
        position = Voyager.voyager_position(self.main_window,
                                            self.game.first_position)
        if position is not None:
            if self.game.first_position == position:
                return
            self.game = Game.Game(ini_posicion=position,
                                  li_tags=self.game.li_tags)
            self.game.add_tag(
                "FEN", None if self.game.siFenInicial() else position.fen())
            self.game.order_tags()
            self.xfichero = None
            self.xpgn = None
            self.xjugadaInicial = None
            self.bloqueApertura = None

            self.reiniciar()
Exemplo n.º 6
0
 def set_position(self):
     resp = Voyager.voyager_position(self, self.game.last_position)
     if resp is not None:
         game = Game.Game(ini_posicion=resp)
         self.orden_game(game)
Exemplo n.º 7
0
    def configurarGS(self):
        sep = (None, None, None)

        liMasOpciones = [
            ("rotacion", _("Auto-rotate board"), Iconos.JS_Rotacion()),
            sep,
            ("leerpgn", _("Read PGN"), Iconos.PGN_Importar()),
            sep,
            ("pastepgn", _("Paste PGN"), Iconos.Pegar16()),
            sep,
        ]
        if not self.is_complete:
            liMasOpciones.extend([
                ("position", _("Edit start position"), Iconos.Datos()),
                sep,
                ("pasteposicion", _("Paste FEN position"), Iconos.Pegar16()),
                sep,
                ("voyager", _("Voyager 2"), Iconos.Voyager()),
            ])

        resp = self.configurar(liMasOpciones,
                               siCambioTutor=True,
                               siSonidos=True)

        if resp == "rotacion":
            self.auto_rotate = not self.auto_rotate
            is_white = self.game.last_position.is_white
            if self.auto_rotate:
                if is_white != self.board.is_white_bottom:
                    self.board.rotaBoard()

        elif resp == "position":
            ini_position = self.game.first_position
            new_position = Voyager.voyager_position(self.main_window,
                                                    ini_position)
            if new_position and new_position != ini_position:
                self.game.set_position(new_position)
                self.start(self.game, self.is_complete, self.only_consult,
                           self.with_previous_next, self.save_routine)
                self.changed = True
                self.put_toolbar()

        elif resp == "pasteposicion":
            texto = QTUtil.traePortapapeles()
            if texto:
                new_position = Position.Position()
                try:
                    new_position.read_fen(str(texto))
                    ini_position = self.game.first_position
                    if new_position and new_position != ini_position:
                        self.game.set_position(new_position)
                        self.start(self.game, self.is_complete,
                                   self.only_consult, self.with_previous_next,
                                   self.save_routine)
                        self.changed = True
                        self.put_toolbar()

                except:
                    pass

        elif resp == "leerpgn":
            game = self.procesador.select_1_pgn(self.main_window)
            self.replace_game(game)

        elif resp == "pastepgn":
            self.paste_pgn()

        elif resp == "voyager":
            game = Voyager.voyagerPartida(self.main_window, self.game)
            self.replace_game(game)
Exemplo n.º 8
0
    def configurarGS(self):
        sep = (None, None, None)

        liMasOpciones = [
            ("rotacion", _("Auto-rotate board"), Iconos.JS_Rotacion()),
            sep,
            ("leerpgn", _("Read PGN"), Iconos.PGN_Importar()),
            sep,
            ("pastepgn", _("Paste PGN"), Iconos.Pegar16()),
            sep,
        ]
        if not self.siCompleta:
            liMasOpciones.extend([
                ("position", _("Edit start position"), Iconos.Datos()),
                sep,
                ("pasteposicion", _("Paste FEN position"), Iconos.Pegar16()),
                sep,
                ("voyager", _("Voyager 2"), Iconos.Voyager1()),
            ])

        resp = self.configurar(liMasOpciones,
                               siCambioTutor=True,
                               siSonidos=True)

        if resp == "rotacion":
            self.auto_rotate = not self.auto_rotate
            is_white = self.game.last_position.is_white
            if self.auto_rotate:
                if is_white != self.tablero.is_white_bottom:
                    self.tablero.rotaTablero()

        elif resp == "position":
            ini_position = self.game.first_position
            new_position = Voyager.voyager_position(self.main_window,
                                                    ini_position)
            if new_position and new_position != ini_position:
                self.game.set_position(new_position)
                self.inicio(self.game, self.siCompleta)

        elif resp == "pasteposicion":
            texto = QTUtil.traePortapapeles()
            if texto:
                cp = Position.Position()
                try:
                    cp.read_fen(str(texto))
                    self.fen = cp.fen()
                    self.posicApertura = None
                    self.reiniciar()
                except:
                    pass

        elif resp == "leerpgn":
            game = self.procesador.select_1_pgn(self.main_window)
            if game:
                if self.siCompleta and not game.siFenInicial():
                    return
                p = Game.Game()
                p.leeOtra(game)
                p.assign_opening()
                self.reinicio = p.save()
                self.reiniciar()

        elif resp == "pastepgn":
            texto = QTUtil.traePortapapeles()
            if texto:
                ok, game = Game.pgn_game(texto)
                if not ok:
                    QTUtil2.message_error(
                        self.main_window,
                        _("The text from the clipboard does not contain a chess game in PGN format"
                          ))
                    return
                if self.siCompleta and not game.siFenInicial():
                    return
                self.reinicio = game.save()
                self.reiniciar()

        elif resp == "voyager":
            ptxt = Voyager.voyagerPartida(self.main_window, self.game)
            if ptxt:
                dic = self.creaDic()
                dic["GAME"] = ptxt.save()
                dic["FEN"] = None if ptxt.siFenInicial(
                ) else ptxt.first_position.fen()
                dic["WHITEBOTTOM"] = self.tablero.is_white_bottom
                self.reiniciar(dic)
Exemplo n.º 9
0
 def set_position(self):
     cp = Position.Position()
     cp.read_fen(self.fen)
     resp = Voyager.voyager_position(self, cp)
     if resp is not None:
         self.ponFen(resp.fen())
Exemplo n.º 10
0
 def voyager(self):
     position = Voyager.voyager_position(self, self.position, wownerowner=self.owner)
     if position:
         self.set_position(position, True)
Exemplo n.º 11
0
    def utilities_gs(self):
        sep = (None, None, None)

        li_mas_opciones = [
            (None, _("Change the initial position"), Iconos.PGN()),
            sep,
            ("leerpgn", _("Read PGN file"), Iconos.PGN_Importar()),
            sep,
            ("pastepgn", _("Paste PGN"), Iconos.Pegar16()),
            sep,
        ]
        if not self.is_complete:
            li_mas_opciones.extend([
                ("position", _("Edit start position"), Iconos.Datos()),
                sep,
                ("pasteposicion", _("Paste FEN position"), Iconos.Pegar16()),
                sep,
                ("voyager", _("Voyager 2"), Iconos.Voyager()),
            ])

        li_mas_opciones.extend([(None, None, True), sep,
                                ("books", _("Consult a book"), Iconos.Libros())
                                ])

        resp = self.utilidades(li_mas_opciones)

        if resp == "books":
            liMovs = self.librosConsulta(True)
            if liMovs:
                for x in range(len(liMovs) - 1, -1, -1):
                    from_sq, to_sq, promotion = liMovs[x]
                    self.player_has_moved(from_sq, to_sq, promotion)

        elif resp == "position":
            ini_position = self.game.first_position
            new_position = Voyager.voyager_position(self.main_window,
                                                    ini_position)
            if new_position and new_position != ini_position:
                self.game.set_position(new_position)
                self.start(self.game, self.is_complete, self.only_consult,
                           self.with_previous_next, self.save_routine)
                self.changed = True
                self.put_toolbar()

        elif resp == "pasteposicion":
            texto = QTUtil.traePortapapeles()
            if texto:
                new_position = Position.Position()
                try:
                    new_position.read_fen(str(texto))
                    ini_position = self.game.first_position
                    if new_position and new_position != ini_position:
                        self.game.set_position(new_position)
                        self.start(self.game, self.is_complete,
                                   self.only_consult, self.with_previous_next,
                                   self.save_routine)
                        self.changed = True
                        self.put_toolbar()

                except:
                    pass

        elif resp == "leerpgn":
            game = self.procesador.select_1_pgn(self.main_window)
            self.replace_game(game)

        elif resp == "pastepgn":
            self.paste_pgn()

        elif resp == "voyager":
            game = Voyager.voyagerPartida(self.main_window, self.game)
            self.replace_game(game)