-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathmap.h
71 lines (55 loc) · 1.33 KB
/
map.h
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#ifndef MAP_H
#define MAP_H
#include <array>
#include <vector>
#include "blob.h"
#include "randNum.h"
class Map
{
protected:
// Map will be a square grid for now
int m_size;
/* For blob animation
std::vector<std::array<int, 2>> m_blobPositions;
std::vector<std::vector<std::array<int, 2>>> m_blobStepTracker;
std::vector<std::array<int, 2>> m_foodPositions;
*/
public:
Map();
Map(int size);
void setMapSize(int x);
int getMapSize();
std::vector<Food> populateFood(int amount);
std::array<int, 2> getEdgePosition();
std::vector<Blob> populateBlobs(Blob &blob, int amount);
/*
const std::vector<std::array<int, 2>>& getFoodPositions() const
{
return m_foodPositions;
}
const std::vector<std::vector<std::array<int, 2>>>& getBlobStepTracker() const
{
return m_blobStepTracker;
}
void recordBlobPositions(std::vector<Blob> &blobArray)
{
for (Blob blob : blobArray)
{
std::array<int, 2> position{ blob.getXPosition(), blob.getYPosition() };
m_blobPositions.push_back(position);
}
m_blobStepTracker.push_back(m_blobPositions);
m_blobPositions.clear();
}
void clearPositionData()
{
m_blobPositions.clear();
m_blobStepTracker.clear();
}
void recordDaysMovements()
{
m_dailyBlobTracker.push_back(m_blobStepTracker);
}
*/
};
#endif