-
Notifications
You must be signed in to change notification settings - Fork 1
/
MapDirections.cpp
49 lines (43 loc) · 1.17 KB
/
MapDirections.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <SDL2/SDL.h>
#include <iostream>
#include <string>
#include "MapDirections.h"
using namespace std;
/* Constructor */
MapDirections::MapDirections() {
index = 0; // set index to 0
}
/* Add the next direction and stop values to their respective vectors
*/
void MapDirections::setNext(string direction, int stop) {
directions.push_back(direction);
stops.push_back(stop);
}
/* Incremenets the index
* returns true if there is a next set of directions, otherwise false
*/
bool MapDirections::next() {
if((index + 1) > directions.size()) { // +1 because size is 1 ahead of the last index
cout << "Unable to move to next index in MapDirections vector. Currently at last occupied index." << endl;
return false;
} else {
index++;
return true;
}
}
/* Returns the direction that the Enemy should be moving in
*/
string MapDirections::getDir() {
return directions[index];
}
/* Returns the x or y coordinate to stop moving at, prompting the next instruction set
*/
int MapDirections::getStop() {
return stops[index];
}
/* Returns true if at the end of the path, false otherwise
*/
bool MapDirections::isEnd() {
if(index + 1 > directions.size()) return true;
else return false;
}