コード例 #1
0
    def siguienteJugada(self):
        if self.estado == kFinJuego:
            return False

        self.estado = kJugando

        self.jugadaActual += 1
        if self.jugadaActual >= self.totalJugadas:
            self.finalizar()
            return False

        self.ponPiezasAbajo(self.siBlancasAbajo)

        self.ponPosicion(self.partida.ultPosicion)

        siBlancas = self.partida.siBlancas()
        self.colorJugando = siBlancas

        self.ponIndicador(siBlancas)
        jg = self.partidaObjetivo.jugada(self.jugadaActual)
        self.partida.append_jg(jg)
        if self.partida.pendienteApertura:
            self.partida.asignaApertura()
        self.movimientosPiezas(jg.liMovs, True)
        self.tablero.ponFlechaSC(jg.desde, jg.hasta)

        tm = time.time()

        w = QTVarios.ReadAnnotation(self.pantalla, jg.pgnSP())
        if not w.exec_():
            self.cancelado = True
            self.finalizar()
            return False

        self.tiempo += time.time() - tm
        conAyuda, errores = w.resultado
        if conAyuda:
            self.ayudasRecibidas += 1
        self.errores += errores

        self.refresh()

        return self.siguienteJugada()
コード例 #2
0
ファイル: ManagerAnotar.py プロジェクト: gamaBHC/lucaschessR
    def play_next_move(self):
        if self.state == ST_ENDGAME:
            return False

        self.state = ST_PLAYING

        self.jugada_actual += 1
        if self.jugada_actual >= self.total_jugadas:
            self.finalizar()
            return False

        self.put_pieces_bottom(self.si_blancas_abajo)

        self.set_position(self.game.last_position)

        is_white = self.game.is_white()

        self.set_side_indicator(is_white)
        move = self.game_objetivo.move(self.jugada_actual)
        self.game.add_move(move)

        self.move_the_pieces(move.liMovs, True)
        self.board.put_arrow_sc(move.from_sq, move.to_sq)

        tm = time.time()

        w = QTVarios.ReadAnnotation(self.main_window, move.pgn_translated())
        if not w.exec_():
            self.cancelado = True
            self.finalizar()
            return False

        self.vtime += time.time() - tm
        con_ayuda, errores = w.resultado
        if con_ayuda:
            self.ayudas_recibidas += 1
        self.errores += errores

        self.refresh()

        return self.play_next_move()
コード例 #3
0
ファイル: GestorAnotar.py プロジェクト: xaizek/lucaschessR
    def siguiente_jugada(self):
        if self.state == ST_ENDGAME:
            return False

        self.state = ST_PLAYING

        self.jugada_actual += 1
        if self.jugada_actual >= self.total_jugadas:
            self.finalizar()
            return False

        self.ponPiezasAbajo(self.si_blancas_abajo)

        self.setposition(self.game.last_position)

        is_white = self.game.is_white()

        self.ponIndicador(is_white)
        move = self.partida_objetivo.move(self.jugada_actual)
        self.game.add_move(move)

        self.move_the_pieces(move.liMovs, True)
        self.tablero.ponFlechaSC(move.from_sq, move.to_sq)

        tm = time.time()

        w = QTVarios.ReadAnnotation(self.main_window, move.pgn_translated())
        if not w.exec_():
            self.cancelado = True
            self.finalizar()
            return False

        self.vtime += time.time() - tm
        con_ayuda, errores = w.resultado
        if con_ayuda:
            self.ayudas_recibidas += 1
        self.errores += errores

        self.refresh()

        return self.siguiente_jugada()