Exemplo n.º 1
0
        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);
        }