示例#1
0
        /// <summary>
        /// 计算F值。
        /// </summary>
        /// <param name="p">给定节点。</param>
        /// <param name="end">目标点。</param>
        /// <param name="G">给定G值。</param>
        /// <returns>F值。</returns>
        protected virtual int F(AStarNode p, AStarNode end, int G)
        {
            int H = Math.Abs(end.X - p.X) + Math.Abs(end.Y - p.Y);

            return(G + H);
        }
示例#2
0
 /// <summary>
 /// 检查位置上是否是障碍物。
 /// </summary>
 /// <param name="node">检测点。</param>
 /// <returns>是否是障碍物。</returns>
 protected virtual bool CheckBarrier(AStarNode node)
 {
     return(m_map[node.X][node.Y] != 0);
 }