//====== private methods private void CheckConditions() { Reason = string.Empty; if (snakeBody.IsConsumingTail) { Reason = "You ate yourself."; return; } if (terrain.Size.AsRectangle.Contains(snakeBody.Head()) == false) { Reason = "You left the field."; return; } if (applesGenerator.IsApplesLimitReached) { Reason = $"Too many apples on the field ({applesGenerator.MaxApples})."; return; } }
public bool Move(Direction direction) { Point newPosition = snakeBody.Head().Add(direction.ToPoint()); snakeBody.MoveHead(newPosition); CurrentDirection = direction; return(true); }