-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgrid.cpp
51 lines (39 loc) · 886 Bytes
/
grid.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
50
#include "grid.h"
grid::grid(int box_sz_x, int box_sz_y, int res_x, int res_y)
{
this->box_sz_x = box_sz_x;
this->box_sz_y = box_sz_y;
this->res_x = res_x;
this->res_y = res_y;
this->grid_sz_x = res_x/box_sz_x;
this->grid_sz_y = res_y/box_sz_y;
this->max_grid_units = grid_sz_x * grid_sz_y;
}
void grid::set_pos(graphics_obj* obj, int x, int y)
{
*obj->pos_x = x*box_sz_x;
*obj->pos_y = y*box_sz_y;
}
grid_pos* grid::get_pos(graphics_obj* obj)
{
grid_pos * pos = new grid_pos;
pos->x = *obj->pos_x/box_sz_x;
pos->y = *obj->pos_y/box_sz_y;
return pos;
}
bool grid::pos_inside(int x, int y)
{
return x >= 0 && x < grid_sz_x && y >= 0 && y < grid_sz_y;
}
int grid::get_grid_sz_x()
{
return grid_sz_x;
}
int grid::get_grid_sz_y()
{
return grid_sz_y;
}
int grid::get_max_grid_units()
{
return max_grid_units;
}