本文整理汇总了C#中ILocation.ListOfNeighbors方法的典型用法代码示例。如果您正苦于以下问题:C# ILocation.ListOfNeighbors方法的具体用法?C# ILocation.ListOfNeighbors怎么用?C# ILocation.ListOfNeighbors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ILocation
的用法示例。
在下文中一共展示了ILocation.ListOfNeighbors方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Explore
private void Explore(IActor actor, ILocation location)
{
//If an exit location is found, print the path and continue to find another exit
if (location is ExitLocation)
{
if ((location as ExitLocation).ExitPreviouslyFound)
return;
(location as ExitLocation).ExitPreviouslyFound = true;
NumberOfExits++;
TripRecorder.Instance.PrintTrip();
terrain.PathToExit();
terrain.TerrainPrinter(terrain.StartLocation);
str= String.Format("{0} Number Of Exit(s) Found!", NumberOfExits);
Console.WriteLine(str);
Console.WriteLine("*****************************************************************");
return;
}
//When the location is dead end
if (location.ListOfNeighbors().Count == 0)
{
(location as MarkedLocation).MarkRed();
return;
}
//traverses to all the neigbors of a location
foreach (var neighbor in location.ListOfNeighbors())
{
location.MoveToNeighbor(actor, neighbor.Key);
Explore(actor, neighbor.Value);
}
//The location will be marked red when it backtracks
(location as MarkedLocation).MarkRed();
}
示例2: PrintNeigbors
/// <summary>
/// Prints Neigbors of a Location
/// </summary>
/// <param name="location"></param>
private static void PrintNeigbors(ILocation location)
{
foreach (var loc in location.ListOfNeighbors())
{
depth++;
PrintTabs(depth);
Console.WriteLine("{0} -> {1}", loc.Key, loc.Value.ToString());
PrintNeigbors(loc.Value);
depth--;
}
}