cost for every node

This commit is contained in:
Yurii 2022-04-24 11:20:50 +02:00
commit a376cd63c4
4 changed files with 17 additions and 13 deletions

View File

@ -73,7 +73,7 @@ class AI:
self.saper.move()
def way_controls(self):
if len(self.the_way)>0:
if type(self.the_way) is list and len(self.the_way)>0:
way = self.the_way.pop(0)
if way=="move":
self.saper.move()

View File

@ -255,4 +255,4 @@ class BFS:
counter += 1
x = node.Node(tmp_node, node_[0], node_[1], node_[2]) # action
heapq.heappush(fringe, (counter, x))
self.window.draw_search([self.agent.position_x, self.agent.position_y], [node_[1][0], node_[1][1]])
self.window.draw_search([self.agent.position_x, self.agent.position_y], [node_[1][0], node_[1][1]], self.agent.current_map.tile_size, self.agent.current_map, self.agent)

View File

@ -111,11 +111,12 @@ class Map:
#od liczby zależy jaki teren, np. 0 - piasek
rng = randrange(10)
if ok and rng==0 and not (i<2 and j<3):
matrix[i].append(10)
elif ok and rng>7 and not (i<2 and j<3):
matrix[i].append(5)
matrix[i].append(10) #kamień
elif ok and rng>8 and not (i<2 and j<3):
matrix[i].append(5) #trawa
elif ok and rng<2 and not (i<2 and j<3):
matrix[i].append(0)
matrix[i].append(0) #piasek
rand_rotate = 0#randrange(4)*90
if rand_rotate==0 and j+3<self.tiles_x and not (i==0 or i==self.tiles_y-1 or j==0 or j==self.tiles_x-1):
cliff = Cliff(j,i,self.tile_size, rand_rotate, type=2)

View File

@ -45,13 +45,16 @@ class Window:
if self.paused:
self.window.blit(self.pause_menu,(0,0))
pygame.display.update()
#self.search.fill(pygame.Color(0,0,0,0))
def draw_search(self, pos1:list=[0,0], pos2:list=[0,0], tile_size:int=64):
#self.search.fill(pygame.Color(0,0,0,0))
pos1 = [pos1[0]*tile_size, pos1[1]*tile_size]
pos2 = [pos2[0]*tile_size, pos2[1]*tile_size]
def draw_search(self, pos1:list=[0,0], pos2:list=[0,0], tile_size:int=64, map=None, saper=None):
map.draw_tiles()
map.draw_objects()
saper.draw(self.window, 0.1)
self.window.blit(self.pause_menu,(0,0))
self.search = pygame.Surface((self.width, self.height), flags=pygame.SRCALPHA)
pos1 = [pos1[0]*tile_size+(tile_size/2), pos1[1]*tile_size+(tile_size/2)]
pos2 = [pos2[0]*tile_size+(tile_size/2), pos2[1]*tile_size+(tile_size/2)]
pygame.draw.line(self.search, pygame.Color(255,0,0), pos1, pos2, 5)
pygame.display.flip()
self.search.blit(self.window, (0,0))
pygame.draw.circle(self.search, pygame.Color(255,0,0), pos2, 10)
self.window.blit(self.search, (0,0))
pygame.display.update()