Implementing the snake structure
Let's now create the two files we'll be working with: Snake.h
and Snake.cpp
. Prior to actually developing the snake class, a definition of some data types and structures is in order. We can begin by actually defining the structure that our apple eating serpent will be made out of, right in the snake header file:
struct SnakeSegment{ SnakeSegment(int x, int y) : position(x,y){} sf::Vector2i position; };
As you can tell, it's a very simple structure that contains a single member, which is an integer vector representing the position of the segment on the grid. The constructor here is utilized to set the position of the segment through an initializer list.
Tip
Before moving past this point, make sure you're competent with the Standard Template Library and the data containers it provides. We will specifically be using std::vector
for our needs.
We now have the segment type defined, so let's get started on actually storing the snake...