snakeplusplus/src/snake.cpp

43 lines
948 B
C++
Raw Normal View History

// Snake.cpp
2023-04-15 05:15:11 -05:00
#include <algorithm>
#include <memory>
#include <queue>
#include <random>
#include <SFML/Graphics.hpp>
#include "snake.hpp"
namespace snakeplusplus
2023-03-12 08:50:50 -05:00
{
void Snake::Pop(void)
{
2023-04-15 05:15:11 -05:00
*(body.front()) = ' ';
body.pop();
}
2023-08-10 18:47:40 -05:00
void Snake::Reset(void)
{
while (!body.empty()) Pop();
}
2023-04-15 05:15:11 -05:00
Food::Food(void)
{
2023-04-15 05:15:11 -05:00
generator.seed(std::random_device{}());
}
// Returns a new food object for the snakeFood
void Food::GenerateNewFood(sf::Vector2f boundaries)
{
location.x = GenerateRandomNumber(boundaries.x);
location.y = GenerateRandomNumber(boundaries.y);
}
// Returns a newly generated number
int Food::GenerateRandomNumber(int generationLimit)
{
int generatedNumber;
2023-05-17 20:20:01 -05:00
std::uniform_int_distribution<> distribution(0, generationLimit - 1);
generatedNumber = distribution(generator);
return generatedNumber;
}
}