// myfindgo.cpp: defines the entry point for the console application.//
#include "stdafx.h" #include
#include "find_path.h"
#include "windows.h" #include "mmsystem.h" #pragma comment (lib, "winmm.lib")
Class test_map {#define map_w_max 1000 # define map_h_max 1000public: Test_map () {MEMSET (Map, 0, Sizeof (Map));}
Static Bool Go_Test (INT X, INT Y) {IF (x <0 || y <0 || x> = map_w_max || y> = map_h_max) Return False;
IF (0! = MAP [x] [Y]) Return False;
Return True;
Static Bool Map [MAP_W_MAX] [MAP_H_MAX];}; BOOL TEST_MAP:: MAP [MAP_W_MAX] [MAP_H_MAX]; INT X0 = 2; int y0 = 2; int x1 = 1; int y1 = 1;
Void readMap () {file * f; f = fopen ("c: //tmp/map.txt", "r"); if (null == f) return;
INT x = 0; int y = 0; fscanf (f, "% D,% D / N", & x, & y); for (int J = 0; j For (INT i = 0; i IF ('s' == line [i]) {x0 = i; y0 = j; test_map :: map [i] [j] = 0;} IF ('e' == line [i]) {x1 = i; y1 = j; test_map :: map [i] [j] = 0;}}}}}}} fclose (f);} INT Main (int Argc, char * argv []) {test_map map; // - Initialization map // - Non-reachable point //map.map[0][0] = 1; map.map [2] [1] = 1; Map.map [3] [1] = 1; map.map [1] [2] = 1; map.map [3] [2] = 1; map.map [0] [2 ] = 1; readmap (); Find_pathab fp; fp.init (100, 25, test_map :: go_test); Int z; DWORD T1 = TimegetTime (); // - Troubleshoot {for (int i = 0; i <1000; i ) z = fp.go (x0, y0, x1, y1);} DWORD T2 = TimegetTime (); DWORD T = T2 - T1; // - Print path for (int i = 0; i <= fp.path_t; i ) {printf ("x =% DY =% D / R / N", fp.path_p [ I] .x, fp.path_p [i] .y);} printf ("Path_t =% D Time_T =% D (MS) / R / N", fp.path_t, t); Getch (); return 0;} Use the file C: //tmp//map.txt content is as follows 80, 24oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oo oo s oooooooooooooo oo o oooooooooooo o oo o ooooooo oooooooooooooo oooooooo oo oooooo o oooo o o oo o o ooo ooo oo oooo oooo oo ooooooooooooooooooooooooooooooooooooooooooooooo oo oo ooooooooooooooooooooooooooooooooooooooooooooo oo o oooooooooooo o ooooooo oooooooo oo o o o o oo ooooooooooo oooooooooo o o oo oe ooo o o oo ooooo o o o oo o o oo