Naprawa błędu and -> or
This commit is contained in:
parent
9d1891524e
commit
e91bf45be5
12
agent.py
12
agent.py
@ -1,6 +1,7 @@
|
|||||||
from warehouse import Coordinates, Tile, Pack
|
from warehouse import Coordinates, Tile, Pack
|
||||||
from queue import PriorityQueue
|
from queue import PriorityQueue
|
||||||
from math import sqrt
|
from math import sqrt
|
||||||
|
import pdb
|
||||||
|
|
||||||
class Node:
|
class Node:
|
||||||
def __init__(self, coord_x, coord_y):
|
def __init__(self, coord_x, coord_y):
|
||||||
@ -44,7 +45,7 @@ class Agent:
|
|||||||
print(current_node.x, current_node.y)
|
print(current_node.x, current_node.y)
|
||||||
self.closed.append(current_node)
|
self.closed.append(current_node)
|
||||||
if current_node.x == self.dest.x and current_node.y == self.dest.y:
|
if current_node.x == self.dest.x and current_node.y == self.dest.y:
|
||||||
while current_node.x != start_node.x and current_node.y != start_node.y:
|
while current_node.x != start_node.x or current_node.y != start_node.y:
|
||||||
self.path.append(current_node)
|
self.path.append(current_node)
|
||||||
current_node = current_node.parent
|
current_node = current_node.parent
|
||||||
return True
|
return True
|
||||||
@ -62,12 +63,11 @@ class Agent:
|
|||||||
neighbour.h_cost = self.heuristic(neighbour, self.dest)
|
neighbour.h_cost = self.heuristic(neighbour, self.dest)
|
||||||
neighbour.parent = current_node
|
neighbour.parent = current_node
|
||||||
self.open.put((neighbour.g_cost, neighbour))
|
self.open.put((neighbour.g_cost, neighbour))
|
||||||
# pdb.set_trace()
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def heuristic(self, nodeA: Node, nodeB: Node):
|
def heuristic(self, start: Node, goal: Node):
|
||||||
diff_x = pow(nodeB.x - nodeA.x, 2)
|
diff_x = pow(goal.x - start.x, 2)
|
||||||
diff_y = pow(nodeB.y - nodeA.y, 2)
|
diff_y = pow(goal.y - start.y, 2)
|
||||||
return round(sqrt(diff_x + diff_y), 3)
|
return round(sqrt(diff_x + diff_y), 3)
|
||||||
|
|
||||||
def check_if_open(self, node: Node):
|
def check_if_open(self, node: Node):
|
||||||
|
2
main.py
2
main.py
@ -36,7 +36,7 @@ class MainGameFrame:
|
|||||||
self.draw_agent()
|
self.draw_agent()
|
||||||
self.agent.move()
|
self.agent.move()
|
||||||
pygame.display.update()
|
pygame.display.update()
|
||||||
self.clock.tick(1)
|
self.clock.tick(5)
|
||||||
|
|
||||||
def draw_floor(self):
|
def draw_floor(self):
|
||||||
for x in range(self.warehouse_map.width):
|
for x in range(self.warehouse_map.width):
|
||||||
|
Loading…
Reference in New Issue
Block a user