diff --git a/src/GameState.cpp b/src/GameState.cpp index 2aef0b8..c293cf6 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -1,7 +1,8 @@ -#include +// #include #include #include #include "Snake.h" +#include "SnakeFood.h" #include "GameState.h" GameState::GameState() @@ -25,8 +26,9 @@ void GameState::startNewGame() gameWindow.create(gameVideoMode, "SnakePlusPlus"); sf::Time delay = sf::milliseconds(25); int snakeDirection = 0; - Snake Player(sf::Vector2f(25,25)); - sf::RectangleShape snakeHead(sf::Vector2f(25,25)); + Snake player(sf::Vector2f(25,25)); + SnakeFood playerFood(sf::Vector2f(25,25)); + // sf::RectangleShape snakeHead(sf::Vector2f(25,25)); sf::RectangleShape snakeFood(sf::Vector2f(25,25)); snakeFood.setFillColor(sf::Color::Red); snakeFood.setPosition(25,25); @@ -47,10 +49,10 @@ void GameState::startNewGame() snakeDirection = 3; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) snakeDirection = 4; - Player.MoveSnake(snakeFood); + player.MoveSnake(playerFood.snakeFoodObject); gameWindow.clear(); - gameWindow.draw(snakeFood); - Player.DisplaySnake(gameWindow); + player.DisplaySnake(gameWindow); + gameWindow.draw(playerFood.snakeFoodObject); gameWindow.display(); sf::sleep(delay); } diff --git a/src/SnakeFood.cpp b/src/SnakeFood.cpp new file mode 100644 index 0000000..464ea25 --- /dev/null +++ b/src/SnakeFood.cpp @@ -0,0 +1,24 @@ +#include +#include "SnakeFood.h" + +SnakeFood::SnakeFood() +{ + snakeFoodObject.setSize(sf::Vector2f(25,25)); + snakeFoodObject.setFillColor(sf::Color::Red); +} + +SnakeFood::SnakeFood(sf::Vector2f snakeFoodSize) +{ + snakeFoodObject.setSize(snakeFoodSize); + snakeFoodObject.setFillColor(sf::Color::Red); +} + +void SnakeFood::GenerateNewLocation(int maxLocation) +{ + sf::Vector2f newPosition; + std::default_random_engine generator; + std::uniform_int_distribution distribution(0, maxLocation); + newPosition.x = distribution(generator); + newPosition.y = distribution(generator); + snakeFoodObject.setPosition(newPosition); +} diff --git a/src/SnakeFood.h b/src/SnakeFood.h new file mode 100644 index 0000000..4c25630 --- /dev/null +++ b/src/SnakeFood.h @@ -0,0 +1,16 @@ +// SnakeFood.h +#ifndef SNAKEFOOD_H +#define SNAKEFOOD_H +#include + +class SnakeFood +{ +private: +public: + sf::RectangleShape snakeFoodObject; + SnakeFood(); + SnakeFood(sf::Vector2f snakeFoodSize); + void GenerateNewLocation(int maxLocation); +}; + +#endif