algorithm.h.svn-base
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:1k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. #ifndef _ALGORITHM_H_
  2. #define _ALGORITHM_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif /* __cplusplus */
  6. typedef struct {
  7. unsigned short x;
  8. unsigned short y;
  9. } pos;
  10. typedef struct {
  11. unsigned int size;
  12. pos *array;
  13. } pos_list;
  14. typedef struct {
  15. pos p;
  16. int g;
  17. int f;
  18. int parent;
  19. } pos_ai;
  20. typedef struct {
  21. unsigned int size;
  22. pos_ai *array;
  23. } pos_ai_list;
  24. typedef struct {
  25. int val;
  26. int index;
  27. } QuicksortFloat;
  28. typedef struct {
  29. unsigned int size;
  30. QuicksortFloat *array;
  31. } index_list;
  32. typedef struct {
  33. unsigned int size;
  34. int *array;
  35. } lookups_list;
  36. typedef struct {
  37. pos_list solution;
  38. pos_ai_list fullList;
  39. index_list openList;
  40. lookups_list lookup;
  41. const char* map;
  42. const unsigned char* weight;
  43. unsigned long width;
  44. unsigned long height;
  45. pos * start;
  46. pos * dest;
  47. unsigned long time_max;
  48. int first_time;
  49. void *map_sv;
  50. void *weight_sv;
  51. } CalcPath_session;
  52. CalcPath_session *CalcPath_new ();
  53. CalcPath_session *CalcPath_init (CalcPath_session *session, const char* map, const unsigned char* weight,
  54. unsigned long width, unsigned long height,
  55. pos * start, pos * dest, unsigned long time_max);
  56. int CalcPath_pathStep (CalcPath_session *session);
  57. void CalcPath_destroy (CalcPath_session *session);
  58. #ifdef __cplusplus
  59. }
  60. #endif /* __cplusplus */
  61. #endif /* _ALGORITHM_H_ */