def DrawPath(self,console):
		for i in range(0,libtcod.dijkstra_size(self.currentpath)):
			if not i == libtcod.dijkstra_size(self.currentpath)-1:
				x,y = libtcod.dijkstra_get(self.currentpath,i)
				libtcod.console_set_default_background(console,libtcod.yellow)
				libtcod.console_put_char(console, x, y, '=', libtcod.BKGND_SET)
			else:
				x,y = libtcod.dijkstra_get(self.currentpath,i)
				libtcod.console_set_char_background(console, x, y, libtcod.blue,libtcod.BKGND_SET)
示例#2
0
def test_dijkstra(map_):
    path = libtcodpy.dijkstra_new(map_)

    libtcodpy.dijkstra_compute(path, *POINT_A)

    assert not libtcodpy.dijkstra_path_set(path, *POINT_C)
    assert libtcodpy.dijkstra_get_distance(path, *POINT_C) == -1

    assert libtcodpy.dijkstra_path_set(path, *POINT_B)
    assert libtcodpy.dijkstra_size(path)
    assert not libtcodpy.dijkstra_is_empty(path)

    libtcodpy.dijkstra_reverse(path)

    for i in range(libtcodpy.dijkstra_size(path)):
        x, y = libtcodpy.dijkstra_get(path, i)

    while (x, y) != (None, None):
        x, y = libtcodpy.dijkstra_path_walk(path)

    libtcodpy.dijkstra_delete(path)