PathFindingForObjC 1.0.0

PathFindingForObjC 1.0.0

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2015年4月

Jasio Woo 支持。




  • 作者:
  • Jasio Woo

Objective-C 的综合路径查找库。
基于 PathFinding.js,由 @qiao 提供。

安装

手动

  1. 下载最新的 代码版本 或将存储库作为 git 子模块添加到您的 git 追踪项目中。
  2. 在 Xcode 中打开您的项目,然后将 PathFindingForObjC/PathFindingForObjC 拖放到项目中
  3. #import PathFinding.h 添加到您的源文件中。

禁用日志记录

点击您的 Project 目标,转到 Build Settings 并搜索 Preprocessor Macros。将 PF_DEBUG=0 添加到 Debug 配置中。

基本用法

PathFinding *finder = [[PathFinding alloc] initWithMapSize:CGSizeMake(6, 5)
                                                  tileSize:CGSizeMake(1, 1)
                                               coordsOrgin:CGPointZero];
finder.heuristicType = HeuristicTypeManhattan;
finder.movementType = DiagonalMovement_Never;

// add blocks
[finder addBlockTilePositions:@[PF_CGPointToNSValue(CGPointMake(1, 2)),
                                PF_CGPointToNSValue(CGPointMake(2, 2)),
                                PF_CGPointToNSValue(CGPointMake(3, 2))
                                ]];
// set start point
finder.startPoint = CGPointMake(2, 3);
// set end point
finder.endPoint = CGPointMake(2, 1);
// get result
NSArray *foundPaths = [finder findPathing:PathfindingAlgorithm_AStar IsConvertToOriginCoords:YES];
调试日志

:mag: :mag: :mag: :mag: :mag: :mag:

:mag: :mag: :pray: :heartpulse: :heartpulse: :mag:

:mag: :underage: :underage: :underage: :heartpulse: :mag:

:mag: :mag: :no_good: :heartpulse: :heartpulse: :mag:

:mag: :mag: :mag: :mag: :mag: :mag:

选项

启发式搜索类型 :

  • 启发式搜索类型曼哈顿
  • 启发式搜索类型欧几里得
  • 启发式搜索类型八叉树
  • 启发式搜索类型切比雪夫

对角移动 :

  • 对角移动总是
  • 对角移动从不
  • 对角移动最多有一个障碍物时才
  • 只有当没有障碍物时才对角移动

路径查找算法 :

  • 路径查找算法 AStar
  • 路径查找算法 最佳优先搜索
  • 路径查找算法 迪杰斯特拉
  • 路径查找算法 跳点搜索
  • 路径查找算法 广度优先搜索
  • 路径查找算法 双向 AStar
  • 路径查找算法 双向最佳优先搜索
  • 路径查找算法 双向迪杰斯特拉
  • 路径查找算法 双向广度优先搜索

DEMO

许可证

  • MIT