0.75pkt
This commit is contained in:
parent
077d2b8015
commit
1c7b3f2840
@ -54,11 +54,11 @@ class AI:
|
|||||||
if keys[pygame.K_DOWN]:
|
if keys[pygame.K_DOWN]:
|
||||||
self.saper.move(0)
|
self.saper.move(0)
|
||||||
elif keys[pygame.K_UP]:
|
elif keys[pygame.K_UP]:
|
||||||
self.saper.move(180)
|
self.saper.move()
|
||||||
elif keys[pygame.K_LEFT]:
|
elif keys[pygame.K_LEFT]:
|
||||||
self.saper.move(270)
|
self.saper.rotate("left")
|
||||||
elif keys[pygame.K_RIGHT]:
|
elif keys[pygame.K_RIGHT]:
|
||||||
self.saper.move(90)
|
self.saper.rotate("right")
|
||||||
|
|
||||||
def chaos_controls(self):
|
def chaos_controls(self):
|
||||||
dir = randrange(4)
|
dir = randrange(4)
|
||||||
@ -75,8 +75,13 @@ class AI:
|
|||||||
def way_controls(self):
|
def way_controls(self):
|
||||||
if len(self.the_way)>0:
|
if len(self.the_way)>0:
|
||||||
way = self.the_way.pop(0)
|
way = self.the_way.pop(0)
|
||||||
self.saper.rotate(way)
|
if way=="move":
|
||||||
self.saper.move()
|
self.saper.move()
|
||||||
|
elif way=="left" or way=="right":
|
||||||
|
self.saper.rotate(way)
|
||||||
|
else:
|
||||||
|
self.saper.rotate(way)
|
||||||
|
self.saper.move()
|
||||||
elif len(self.current_map.mines)!=0:
|
elif len(self.current_map.mines)!=0:
|
||||||
self.bfs()
|
self.bfs()
|
||||||
|
|
||||||
|
@ -14,9 +14,9 @@ class BFS:
|
|||||||
def successor(self, current_position):
|
def successor(self, current_position):
|
||||||
new_nodes = []
|
new_nodes = []
|
||||||
neighbours_list = self.agent.sensor(current_position[0], current_position[1])
|
neighbours_list = self.agent.sensor(current_position[0], current_position[1])
|
||||||
print(neighbours_list[0])
|
#print(neighbours_list[0])
|
||||||
print(neighbours_list[1])
|
#print(neighbours_list[1])
|
||||||
print(neighbours_list[2])
|
#print(neighbours_list[2])
|
||||||
|
|
||||||
|
|
||||||
if neighbours_list[1][0] not in ['wall', 'cliff_south', 'cliff_east', 'cliff_north', 'cliff_west']:
|
if neighbours_list[1][0] not in ['wall', 'cliff_south', 'cliff_east', 'cliff_north', 'cliff_west']:
|
||||||
@ -60,13 +60,13 @@ class BFS:
|
|||||||
#print(f'my parent is {tmp_node[1].get_parent()}')
|
#print(f'my parent is {tmp_node[1].get_parent()}')
|
||||||
tmp_node_position = tmp_node[1].get_position()
|
tmp_node_position = tmp_node[1].get_position()
|
||||||
|
|
||||||
print(f'Position of our node {tmp_node_position[:2]}')
|
#print(f'Position of our node {tmp_node_position[:2]}')
|
||||||
|
|
||||||
visited_position.append(tmp_node_position[:2])
|
visited_position.append(tmp_node_position[:2])
|
||||||
#print(f'visited position: {visited_position}')
|
#print(f'visited position: {visited_position}')
|
||||||
|
|
||||||
if tmp_node_position[:2] == goaltest:
|
if tmp_node_position[:2] == goaltest:
|
||||||
print(' we find node')
|
#print(' we find node')
|
||||||
# print(visited_position)
|
# print(visited_position)
|
||||||
|
|
||||||
#print(fringe)
|
#print(fringe)
|
||||||
@ -84,12 +84,12 @@ class BFS:
|
|||||||
explored.append(tmp_node)
|
explored.append(tmp_node)
|
||||||
|
|
||||||
neighbours_list_of_our_node = self.successor(tmp_node_position[:2])
|
neighbours_list_of_our_node = self.successor(tmp_node_position[:2])
|
||||||
print(neighbours_list_of_our_node)
|
#print(neighbours_list_of_our_node)
|
||||||
for node_ in neighbours_list_of_our_node:
|
for node_ in neighbours_list_of_our_node:
|
||||||
# jesli pozucja wezla nie jest w fringe i nie jest w explored
|
# jesli pozucja wezla nie jest w fringe i nie jest w explored
|
||||||
if [node_[0], node_[1]] not in visited_position and node_[0] >= 0 and node_[1] >=0:
|
if [node_[0], node_[1]] not in visited_position and node_[0] >= 0 and node_[1] >=0:
|
||||||
counter += 1
|
counter += 1
|
||||||
print([node_[0], node_[1]])
|
#print([node_[0], node_[1]])
|
||||||
x = node.Node(tmp_node, None, [node_[0], node_[1]]) # action
|
x = node.Node(tmp_node, None, [node_[0], node_[1]]) # action
|
||||||
heapq.heappush(fringe, (counter, x))
|
heapq.heappush(fringe, (counter, x))
|
||||||
# time.sleep(0.5)
|
# time.sleep(0.5)
|
||||||
|
@ -272,6 +272,11 @@ class Minesweeper:
|
|||||||
dirr=270
|
dirr=270
|
||||||
elif dir=="E":
|
elif dir=="E":
|
||||||
dirr=90
|
dirr=90
|
||||||
|
|
||||||
|
elif dir=="left":
|
||||||
|
dirr = (self.rotation_degrees+90) % 360
|
||||||
|
elif dir=="right":
|
||||||
|
dirr = (self.rotation_degrees-90) % 360
|
||||||
else:
|
else:
|
||||||
return
|
return
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user