From 3d8dcf23acfb2c5d66f3fc15cb634f5deec8bfda Mon Sep 17 00:00:00 2001 From: TriantaTV <56975502+TriantaTV@users.noreply.github.com> Date: Mon, 25 Jul 2022 16:06:06 -0500 Subject: [PATCH] Deque swapped to hold sf::RectangleShape Deque swapped to hold sf::RectangleShape and will allow for holding a deque for each snake body piece. Snake class can create functions to get necessary tests through deque. --- src/Snake.cpp | 6 +++++- src/Snake.h | 8 +++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/Snake.cpp b/src/Snake.cpp index c9df30a..8e127ba 100644 --- a/src/Snake.cpp +++ b/src/Snake.cpp @@ -4,8 +4,11 @@ #include "Snake.h" using namespace std; +// Test for collision between two objects bool SnakeCollision(sf::RectangleShape object1, sf::RectangleShape object2) { + // Hack for getting a temporary collision + // Collision only tested for origin corrordinate sf::Vector2f object1Position = object1.getPosition(); sf::Vector2f object2Position = object2.getPosition(); if (object1Position.x != object2Position.x) @@ -17,6 +20,7 @@ bool SnakeCollision(sf::RectangleShape object1, sf::RectangleShape object2) } +// Move snake head piece void SnakeMovement(sf::Keyboard keyboard) { /* @@ -36,7 +40,7 @@ void SnakeMovement(sf::Keyboard keyboard) return; } -void Snake::ExtendSnake(sf::Vector2f newLocation) +void Snake::ExtendSnake() { /* snakeBody.push_back(newLocation); diff --git a/src/Snake.h b/src/Snake.h index 0dc52d6..7299cfd 100644 --- a/src/Snake.h +++ b/src/Snake.h @@ -20,10 +20,12 @@ void SnakeMovement(sf::Keyboard keyboard); class Snake { private: - std::deque snakeBody; + std::deque snakeBody; public: - void ExtendSnake(sf::Vector2f newLocation); - void MoveSnake(); + // Instead of popping like in MoveSnake() + // Simply add to deque + void ExtendSnake(); + void MoveSnake(); // Move only head body piece };