コード例 #1
0
    public override Direction Flow(Direction comingFrom, int value)
    {
        Value = value;

        List <Direction> remainingSpot = _holeDict.Keys.ToList();

        remainingSpot.Remove(DirectionExtensions.GetOppositeDirection(comingFrom));

        return(remainingSpot[0]);
    }
コード例 #2
0
    public bool MatchConnectingHole(Direction directionFrom)
    {
        Direction opposite = DirectionExtensions.GetOppositeDirection(directionFrom);

        foreach (Direction hole in _holeLocations)
        {
            if (hole == opposite)
            {
                return(true);
            }
        }

        return(false);
    }
コード例 #3
0
    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);
    }