public IHex GetRandomNearbyTile(int probes, IHex tile) { var currNeighbors = tile.GetAdjacent(); for (int i = 0; i < probes; i++) { var random = ListUtil <IHex> .GetRandomElement(currNeighbors); currNeighbors = random.GetAdjacent(); } return(ListUtil <IHex> .GetRandomElement(currNeighbors)); }
private Path GetPathViaSourceAdjacentToGoal(IHex s, IHex g, IPathable navigator) { foreach (var neighbor in s.GetAdjacent()) { if (neighbor.Equals(g)) { var trimmed = new Path(); trimmed.AddTile(g, navigator); return(trimmed); } } return(null); }