static Movement ToMovement(int x, int y)
{
// only allow 1 direction, prioritize horizontal over vertical
if (x != 0)
{
return x > 0 ? Movement.Right : Movement.Left;
}
else if (y != 0)
{
return y > 0 ? Movement.Up : Movement.Down;
}
throw new ArgumentException(String.Format(
"Can't translate x:{0} y:{1} to movement.", x, y));
}