当前位置: 首页>>代码示例>>C#>>正文


C# GraphNode.AddAdjacent方法代码示例

本文整理汇总了C#中GraphNode.AddAdjacent方法的典型用法代码示例。如果您正苦于以下问题:C# GraphNode.AddAdjacent方法的具体用法?C# GraphNode.AddAdjacent怎么用?C# GraphNode.AddAdjacent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GraphNode的用法示例。


在下文中一共展示了GraphNode.AddAdjacent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: AddNodeNeighbors

        /// <summary>
        /// Generates a nodes neighbors
        /// </summary>
        /// <param name="node">The node to add the neighbors too</param>
        private void AddNodeNeighbors(GraphNode node)
        {
            int spacing = stage.Spacing;
            int lowerBound = spacing;
            int upperBound = spacing * 510;

            //Check surrounding nodes.
            for (int i = -1; i <= 1; i++)
            {
                for (int j = -1; j <= 1; j++)
                {
                    //If it is itself.
                    if(j == 0 && i ==0){
                        continue;
                    }
                    //New x and z coordinates based on offsets.
                    int xOffset = (int)node.Translation.X + i * spacing;
                    int zOffset = (int)node.Translation.Z + j * spacing;
                    //are offset in bounds
                    if (xOffset < lowerBound || xOffset > upperBound || zOffset < lowerBound || zOffset > upperBound)
                    {
                        continue;
                    }
                    // Check if neighbors exists already in open or closed sets.
                    GraphNode neighbor = open.Find(x => x.Translation.X == xOffset && x.Translation.Z == zOffset);
                    if (neighbor == null)
                    {
                        closed.Find(x => x.Translation.X == xOffset && x.Translation.Z == zOffset);
                    }
                    //If doesn't exists generate a new node.
                    if (neighbor == null)
                    {
                        neighbor = GenerateNode(xOffset, zOffset);
                    }
                    //If the neighbor isn't null add to adjacent list.
                    if (neighbor != null)
                    {
                        node.AddAdjacent(neighbor);
                    }
                }

            }
        }
开发者ID:WebDevGirl,项目名称:Comp565_TerrainAndTreasure,代码行数:47,代码来源:Graph.cs


注:本文中的GraphNode.AddAdjacent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。