private static bool Update() { _snake.Direction = _input.GetNewDirection(); var oldTail = _snake.Tail; _snake.Move(); if (_snake.GetBody().Skip(1).Any(n => Equals(n, _snake.Head))) { return(true); } if (!_area.AllFields.Contains((_snake.Head.X, _snake.Head.Y))) { return(true); } if (IsPositionEqual(_snake.Head, _food)) { _area.Score++; _area.PrintScore(); _snake.Grow(oldTail); _food.SpawnNew(_area, _snake); _renderer.Redraw(_snake.Head); } else { _renderer.Redraw(_snake.Head, oldTail); } _renderer.Draw(_food); return(false); }