コード例 #1
0
ファイル: Corridor.cs プロジェクト: Hellothere-1/SE
            public override void FindPathRecursive()
            {
                base.FindPathRecursive();

                if (nextWaypoint is Corner)
                {
                    targetCornerIndex = corners.IndexOf((Corner)nextWaypoint);
                }

                if (stations.Contains(target))
                {
                    target.nextWaypoint = this;
                    target.FindPathRecursive();
                    return;
                }

                for (int i = 0; i < corners.Count; i++)
                {
                    if (corners[i] != nextWaypoint && !corners[i].visited)
                    {
                        corners[i].nextWaypoint = this;
                        ToTest.Enqueue(corners[i]);
                    }
                }

                if (ToTest.Count > 0)
                {
                    ToTest.Dequeue().FindPathRecursive();
                }
            }
コード例 #2
0
            public override void FindPathRecursive()
            {
                base.FindPathRecursive();

                foreach (Corridor corridor in corridors)
                {
                    if (corridor != nextWaypoint && !corridor.visited)
                    {
                        corridor.nextWaypoint = this;
                        ToTest.Enqueue(corridor);
                    }
                }

                if (ToTest.Count > 0)
                {
                    ToTest.Dequeue().FindPathRecursive();
                }
            }