diff --git a/src/Snake.cpp b/src/Snake.cpp index 707c7ee..6a9fd9c 100644 --- a/src/Snake.cpp +++ b/src/Snake.cpp @@ -64,12 +64,7 @@ sf::Vector2f CalculateNewPosition(int direction, sf::Vector2f position) return position; } -void Snake::ExtendSnake() -{ - // Create a new deque RectangleShape without popping old - return; -} - +// Move snake based on direction and test for eating food void Snake::MoveSnake(sf::RectangleShape& snakeFood) { // Create a new deque RectangleShape and pop old @@ -94,7 +89,7 @@ void Snake::MoveSnake(sf::RectangleShape& snakeFood) return; } -// Get x and y position of snake head +// Return the Vector2f head of snake sf::Vector2f Snake::GetSnakeHeadPosition() { sf::Vector2f position; @@ -102,6 +97,7 @@ sf::Vector2f Snake::GetSnakeHeadPosition() return position; } +// Return the RectangleShape head of snake sf::RectangleShape Snake::GetSnakeHead() { sf::RectangleShape head; @@ -109,6 +105,7 @@ sf::RectangleShape Snake::GetSnakeHead() return head; } +// Iterate through snake deque and draw to window void Snake::DisplaySnake(sf::RenderWindow& window) { for (auto it = snakeBody.cbegin(); it != snakeBody.cend(); ++it) @@ -118,12 +115,16 @@ void Snake::DisplaySnake(sf::RenderWindow& window) return; } +// General constructor for snake class Snake::Snake() { - // Possibly unnecessary - // The big 3 could be used to create a fresh game state + sf::RectangleShape newBodyPart(sf::Vector2f(25,25)); + newBodyPart.setFillColor(sf::Color::Green); + snakeBody.push_back(newBodyPart); return; } + +// Constructor for snake with position Snake::Snake(sf::Vector2f head) { sf::RectangleShape newBodyPart(head); diff --git a/src/Snake.h b/src/Snake.h index 602029b..5670fc5 100644 --- a/src/Snake.h +++ b/src/Snake.h @@ -7,17 +7,6 @@ bool SnakeCollision(sf::RectangleShape object1, sf::RectangleShape object2); int SnakeMovement(); sf::Vector2f CalculateNewPosition(int direction, sf::Vector2f position); -// class SnakeNode -// { -// private: -// // sf::RectangleShape snakeBody(sf::Vector2f(25,25)); -// sf::Vector2f snakeBodyLocation; -// SnakeNode* next; -// public: -// SnakeNode(); -// SnakeNode(sf::Vector2f addBodyPiece); -// }; - class Snake { private: @@ -29,7 +18,6 @@ public: sf::Vector2f GetSnakeHeadPosition(); sf::RectangleShape GetSnakeHead(); void DisplaySnake(sf::RenderWindow& window); - void ExtendSnake(); void MoveSnake(sf::RectangleShape& snakeFood); void CheckDirection(); bool CheckBoundaries(); diff --git a/src/main.cpp b/src/main.cpp index 72f713f..fd9a693 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -43,7 +43,6 @@ int main() if ((event.type == sf::Event::Closed) || (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))) window.close(); } - // sf::Vector2f snakeFoodPosition = snakeFood.getPosition(); if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) snakeDirection = 1; if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))