JSFiddle - React, Tailwind, and code Playground
by adamholdenyall
HTML
<div id="out"></div>
JavaScript
var player = {
x: Math.random() * 200,
y: Math.random() * 200
};
var enemiesInRange = [];
var count = 1000000;
var range = 50;
var date = new Date();
var beforeTime = date.getTime();
for (var i = 0; i < count; i++) {
var enemy = {
x: Math.random() * 200,
y: Math.random() * 200
};
var distanceToPlayerX = Math.abs(enemy.x - player.x);
var distanceToPlayerY = Math.abs(enemy.y - player.y);
if((distanceToPlayerX > range) || (distanceToPlayerY > range)){
continue;
}
var distance = Math.sqrt(Math.pow(distanceToPlayerX,2) + Math.pow(distanceToPlayerY, 2));
if (distance <= range) {
enemiesInRange.push(enemy);
}
}
var date = new Date();
var afterTime = date.getTime();
$("#out").text (enemiesInRange.length + " - " + (afterTime - beforeTime) + "ms");