Commit d29bd8bc by almagosi

Camino Optimo Finalizado

parent c1aa5849
Showing with 13 additions and 5 deletions
...@@ -81,7 +81,9 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal): ...@@ -81,7 +81,9 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal):
def factible(direc,pos): def factible(direc,pos):
def movimientoAceptado(direccion : Direccion, bloque : int): def movimientoAceptado(direccion : Direccion, bloque : int, bloqueSiguiente : int):
def moviAcept(direccion : Direccion, bloque : int):
#print(direccion.name, bloque) #print(direccion.name, bloque)
if(direccion == Direccion.Arriba): if(direccion == Direccion.Arriba):
...@@ -113,6 +115,11 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal): ...@@ -113,6 +115,11 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal):
if(bloque in derecha): if(bloque in derecha):
return True return True
return False return False
direcSiguiente = Direccion((direccion.value + 2) % 4)
if(moviAcept(direccion,bloque) and moviAcept(direcSiguiente,bloqueSiguiente)):
return True
return False
#pos = sol[-1] #pos = sol[-1]
if(pos == posicionInicial): if(pos == posicionInicial):
...@@ -131,7 +138,7 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal): ...@@ -131,7 +138,7 @@ def encontrarCamino(matriz,posicionInicial, posicionFinal):
#print(f"Descartado Edificio {direccion} : {pos}") #print(f"Descartado Edificio {direccion} : {pos}")
return False return False
if(not movimientoAceptado(direc,matriz[sol[-1][0]][sol[-1][1]])): if(not movimientoAceptado(direc,matriz[sol[-1][0]][sol[-1][1]],matriz[pos[0]][pos[1]])):
#print(f"Descartado Movimiento no aceptado {direccion} : {sol[-1]}") #print(f"Descartado Movimiento no aceptado {direccion} : {sol[-1]}")
return False return False
...@@ -226,8 +233,9 @@ matriz = [["02","02","00","01","05"], ...@@ -226,8 +233,9 @@ matriz = [["02","02","00","01","05"],
#pos = mAdy[6][0] #pos = mAdy[6][0]
#mAdy[6][0] = 2 #mAdy[6][0] = 2
sol = encontrarCamino(matriz,(5,2),(0,3)) sol = encontrarCamino(matriz,(5,2),(6,0))
#mAdy[6][0] = pos #mAdy[6][0] = pos
print(sol) for s in sol:
\ No newline at end of file print(s)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment