Browse Source

fr. 21. mars 22:43:02 +0100 2025

main
Sten Jørgen Pettersen 11 months ago
parent
commit
0998e8ed0d
1 changed files with 36 additions and 0 deletions
  1. +36
    -0
      main.cpp

+ 36
- 0
main.cpp View File

@ -1,3 +1,4 @@
#include <asm-generic/errno.h>
#include <cmath> #include <cmath>
#include <string> #include <string>
#include <vector> #include <vector>
@ -70,6 +71,41 @@ int main(int /*argc*/, char */*argv*/[])
double sideDistY; double sideDistY;
double deltaDistX = (rayDirX == 0) ? 1e30 : std::abs(1 / rayDirX); double deltaDistX = (rayDirX == 0) ? 1e30 : std::abs(1 / rayDirX);
double deltaDistY = (rayDirY == 0) ? 1e30 : std::abs(1 / rayDirY); double deltaDistY = (rayDirY == 0) ? 1e30 : std::abs(1 / rayDirY);
double perpWallDist;
int stepX;
int stepY;
int hit = 0;
int side;
if(rayDirX < 0) {
stepX = -1;
sideDistX = (posX -mapX) * deltaDistX;
} else {
stepX = 1;
sideDistX = (mapX + 1.0 - posX) * deltaDistX;
}
if(rayDirY < 0) {
stepY = -1;
sideDistY = (posY - mapY) * deltaDistY;
} else {
stepY = 1;
sideDistY = (mapY +1.0 - posY) * deltaDistY;
}
while(hit == 0)
{
if(sideDistX < sideDistY) {
sideDistX += deltaDistX;
mapX += stepX;
side = 0;
} else {
sideDistY += deltaDistY;
mapY += stepY;
side = 1;
}
if(worldMap[mapX][mapY] > 0) hit = 1;
if(side == 0) perpWallDist = (sideDistX - deltaDistX);
else perpWallDist = (sideDistY - deltaDistY);
int lineHeight = (int)(h /perpWallDist);
}
} }
} }
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.