int main() { int array[15][25] = { {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}, {2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}, {2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}, {2,0,0,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,0,0,0,0,2}, {2,0,0,2,0,0,2,2,2,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,2}, {2,0,0,2,2,2,2,0,0,2,2,2,2,0,0,0,0,0,0,2,2,2,2,0,2}, {2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}, {2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2}, {2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2}, }; struct maze_map *map = create_map((int*)array,25,15); struct A_star_procedure *astar = create_astar(maze_get_neighbors,maze_cost_2_neighbor,maze_cost_2_goal); show_maze(map,astar,1,1,4,10); show_maze(map,astar,1,1,11,10); show_maze(map,astar,1,1,4,1); destroy_map(&map); destroy_Astar(&astar); return 0; }
main() { randomize(); fill_maze_with_wall(); build_maze(1, 1, RIGHT_BOUND, BOTTOM_BOUND); search_target_xy(&tx, &ty); memset(mark, 0, sizeof(mark)); show_maze(0, 0, RIGHT_BOUND+1, BOTTOM_BOUND+1); save_sth_under_target(); draw_target(); bioskey(0); init_bug(1, 1, 0); old_8h = getvect(8); old_9h = getvect(9); setvect(8, int_8h); setvect(9, int_9h); while(!stop) { if(move_bug(bug[0].x, bug[0].y, tx, ty) == 1) /* target has been reached */ { bug_cry(); break; } } setvect(8, old_8h); setvect(9, old_9h); bioskey(0); }