예제 #1
0
    def ayuda(self):
        self.hints += 1
        self.tablero.quitaFlechas()
        self.ponSiguiente()
        pa = self.camino[0 if self.baseUnica else self.posActual]
        ps = self.camino[self.posActual + 1]
        tlist = LCEngine.liNMinimo(pa, ps, self.celdas_ocupadas)
        if self.nayuda >= len(tlist):
            self.nayuda = 0

        li = tlist[self.nayuda]
        for x in range(len(li) - 1):
            d = LCEngine.posA1(li[x])
            h = LCEngine.posA1(li[x + 1])
            self.tablero.creaFlechaMov(d, h, "2")
        self.nayuda += 1
예제 #2
0
    def ponSiguiente(self):

        posDesde = self.camino[0 if self.baseUnica else self.posActual]
        posHasta = self.camino[self.posActual + 1]
        tlist = LCEngine.liNMinimo(posDesde, posHasta, self.celdas_ocupadas)
        self.numMoves = len(tlist[0]) - 1
        self.movesParcial = 0

        cp = self.cpInicial.copia()

        self.posTemporal = posDesde
        ca = LCEngine.posA1(posDesde)
        cp.casillas[ca] = "N" if self.siBlancas else "n"
        cs = LCEngine.posA1(posHasta)
        cp.casillas[cs] = "k" if self.siBlancas else "K"

        self.cpActivo = cp

        self.tablero.ponPosicion(cp)
        self.tablero.activaColor(self.siBlancas)

        self.ponNumMoves()