Added ability to get snake head position
Added ability to get snake head position and created a snake constructor with a position.
This commit is contained in:
parent
c03b16f0e9
commit
94abee7e61
@ -2,7 +2,6 @@
|
||||
#include <SFML\Graphics.hpp>
|
||||
#include <SFML\System.hpp>
|
||||
#include "Snake.h"
|
||||
using namespace std;
|
||||
|
||||
// Test for collision between two objects
|
||||
bool SnakeCollision(sf::RectangleShape object1, sf::RectangleShape object2)
|
||||
@ -49,11 +48,25 @@ void Snake::MoveSnake()
|
||||
return;
|
||||
}
|
||||
|
||||
// Get x and y position of snake head
|
||||
sf::Vector2f Snake::GetHeadPosition()
|
||||
{
|
||||
sf::Vector2f position;
|
||||
position = snakeBody.front().getPosition();
|
||||
return position;
|
||||
}
|
||||
|
||||
Snake::Snake()
|
||||
{
|
||||
// Possibly unnecessary
|
||||
// The big 3 could be used to create a fresh game state
|
||||
return;
|
||||
}
|
||||
Snake::Snake(sf::Vector2f head)
|
||||
{
|
||||
sf::RectangleShape newBodyPart(head);
|
||||
snakeBody.push_back(newBodyPart);
|
||||
return;
|
||||
}
|
||||
// SnakeNode::SnakeNode();
|
||||
// SnakeNode::SnakeNode(sf::Vector2f addBodyPiece);
|
||||
|
@ -21,10 +21,12 @@ class Snake
|
||||
{
|
||||
private:
|
||||
std::deque<sf::RectangleShape> snakeBody;
|
||||
Snake();
|
||||
public:
|
||||
Snake();
|
||||
Snake(sf::Vector2f head);
|
||||
// Instead of popping like in MoveSnake()
|
||||
// Simply add to deque
|
||||
sf::Vector2f GetHeadPosition();
|
||||
void ExtendSnake();
|
||||
void MoveSnake(); // Move only head body piece
|
||||
};
|
||||
|
@ -2,7 +2,6 @@
|
||||
#include <SFML\Graphics.hpp>
|
||||
#include <SFML\System.hpp>
|
||||
#include "Snake.h"
|
||||
using namespace std;
|
||||
|
||||
|
||||
/*
|
||||
@ -26,6 +25,7 @@ int main()
|
||||
sf::RenderWindow window(sf::VideoMode(videoSizeHorizontal, videoSizeVertical), "SnakePlusPlus");
|
||||
sf::Time delay = sf::milliseconds(100);
|
||||
|
||||
Snake Player(sf::Vector2f(25,25));
|
||||
sf::RectangleShape snakeHead(sf::Vector2f(25,25));
|
||||
sf::RectangleShape snakeFood(sf::Vector2f(25,25));
|
||||
snakeHead.setFillColor(sf::Color::Green);
|
||||
@ -41,7 +41,7 @@ int main()
|
||||
if ((event.type == sf::Event::Closed) || (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape)))
|
||||
window.close();
|
||||
}
|
||||
sf::Vector2f snakeHeadPosition = snakeHead.getPosition();
|
||||
sf::Vector2f snakeHeadPosition = Player.GetHeadPosition();
|
||||
sf::Vector2f snakeFoodPosition = snakeFood.getPosition();
|
||||
// TODO: Split Movement into separate function
|
||||
// Add boundaries
|
||||
|
Loading…
Reference in New Issue
Block a user