#ifndef BOTINTERFACE_HPP #define BOTINTERFACE_HPP #include "common.hpp" #include #include #include namespace snakeplusplus { class AISnake { public: std::stack path; AISnake(); void GetNewPath(const std::vector< std::vector >& gameBoard, const sf::Vector2f& source, const sf::Vector2f& boundaries, const int snakeSize); PlayerDirection GetInput(const sf::Vector2f* source); void UpdateProbability(int snakeSize); void AdjustProbability(double amount); private: double probabilityBFS = 0.500; std::stack botPathUnsanitized; void BFS(const std::vector< std::vector >& gameBoard, const sf::Vector2f& source, const sf::Vector2f& boundaries); void DFS(const std::vector< std::vector >& gameBoard, const sf::Vector2f& source, const sf::Vector2f& boundaries); }; } #endif