public override Direction Flow(Direction comingFrom, int value) { Value = value; List <Direction> remainingSpot = _holeDict.Keys.ToList(); remainingSpot.Remove(DirectionExtensions.GetOppositeDirection(comingFrom)); return(remainingSpot[0]); }
public bool MatchConnectingHole(Direction directionFrom) { Direction opposite = DirectionExtensions.GetOppositeDirection(directionFrom); foreach (Direction hole in _holeLocations) { if (hole == opposite) { return(true); } } return(false); }
public bool CheckWinTile(Point point) { Point dir = DirectionExtensions.GetDirectionPoint(DirectionExtensions.GetOppositeDirection(_endNode.Direction)); int x = dir.X + _endNode.X; int y = dir.Y + _endNode.Y; if (point.X == x && point.Y == y) { return(true); } return(false); }