Files
basic-computer-games/51 Hurkle/csharp/src/hurkle/GamePoint.cs
epvanhouten 4f4ae0b981 Add ViewModels for game loop
Move all UI interaction off of game loop variables.
2021-02-27 20:44:35 -06:00

56 lines
1.4 KiB
C#

namespace hurkle
{
internal class GamePoint
{
public int X {get;init;}
public int Y {get;init;}
public CardinalDirection GetDirectionTo(GamePoint target)
{
if(X == target.X)
{
if(Y > target.Y)
{
return CardinalDirection.South;
}
else if(Y < target.Y)
{
return CardinalDirection.North;
}
else
{
return CardinalDirection.None;
}
}
else if(X > target.X)
{
if(Y == target.Y)
{
return CardinalDirection.West;
}
else if(Y > target.Y)
{
return CardinalDirection.SouthWest;
}
else
{
return CardinalDirection.NorthWest;
}
}
else
{
if(Y == target.Y)
{
return CardinalDirection.East;
}
else if(Y > target.Y)
{
return CardinalDirection.SouthEast;
}
else{
return CardinalDirection.NorthEast;
}
}
}
}
}