Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef BRESENHAM_H_INCLUDED
- #define BRESENHAM_H_INCLUDED
- bool line(int y1, int x1, int y2, int x2, int z)
- {
- bool fail = 0;
- int d, dx, dy, ai, bi, xi, yi;
- int x = x1, y = y1;
- if (x1 < x2)
- {
- xi = 1;
- dx = x2 - x1;
- }
- else
- {
- xi = -1;
- dx = x1 - x2;
- }
- if (y1 < y2)
- {
- yi = 1;
- dy = y2 - y1;
- }
- else
- {
- yi = -1;
- dy = y1 - y2;
- }
- if (dx > dy)
- {
- ai = (dy - dx) * 2;
- bi = dy * 2;
- d = bi - dx;
- while (x != x2)
- {
- if (d >= 0)
- {
- x += xi;
- y += yi;
- d += ai;
- }
- else
- {
- d += bi;
- x += xi;
- }
- if(map_g[y][x][z] == 2)
- {
- fail = 1;
- }
- }
- }
- else
- {
- ai = ( dx - dy ) * 2;
- bi = dx * 2;
- d = bi - dy;
- while (y != y2)
- {
- if (d >= 0)
- {
- x += xi;
- y += yi;
- d += ai;
- }
- else
- {
- d += bi;
- y += yi;
- }
- if(map_g[y][x][z] == 2)
- {
- fail = 1;
- }
- }
- }
- if(fail == 1)
- {
- return false;
- }
- else
- {
- return true;
- }
- }
- #endif // BRESENHAM_H_INCLUDED
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement