JSFiddle - React, Tailwind, and code Playground

by Michael Prosser

JavaScript

// quadrant prediction

var w = 10;
var h = 10;

var gridX = 10;
var gridY = 10;

var quadrants = [];

var zoneX = 0;
var zoneY = 0;

var terrainRevealSize = 10;

var index = 0;

for(let y=gridY/2*-1;y<=gridY/2;y++){

			console.log("Y",y);
      
      var yy = y*terrainRevealSize;

			for(let x=gridX/2*-1;x<=gridX/2;x++){
      
      	console.log("X",x);
      
      	var xx = x*terrainRevealSize;
        
      
      	quadrants.push({
        	minX: xx,
          maxX: xx+w,
        	minZ: yy,
          maxZ: yy+h,
          index: index
        });
        
        index++;
        
      }
      
}

var snap = function (x,step){

	return Math.floor(x / step) * step;

}


var positionToCheck = { x: -15.4, z: -33 };


console.log(snap(positionToCheck.x,terrainRevealSize)+'|'+snap(positionToCheck.z,terrainRevealSize));

console.log(quadrants[snap(positionToCheck.x,terrainRevealSize)+'|'+snap(positionToCheck.z,terrainRevealSize)/terrainRevealSize]);

console.log("QUADRANTS",quadrants);