private bool Logic() { _gameField.ClearField(); if (_snake.Head.X == _fruit.X && _snake.Head.Y == _fruit.Y) { _fruit.ResetPosition(_rand.Next(_gameField.Width), _rand.Next(_gameField.Height)); _snake.Eat(); } _snake.Move(); if (_snake.Head.X > _gameField.Width - 1) { _snake.Head.X = 0; } if (_snake.Head.X < 0) { _snake.Head.X = _gameField.Width - 1; } if (_snake.Head.Y > _gameField.Height - 1) { _snake.Head.Y = 0; } if (_snake.Head.Y < 0) { _snake.Head.Y = _gameField.Height - 1; } foreach (var i in _snake.Tail) { if (i.X == _snake.Head.X && i.Y == _snake.Head.Y) { return(true); } } return(false); }