summaryrefslogtreecommitdiff
path: root/public/js/app.js
diff options
context:
space:
mode:
authorFbenas <philbeansburton@gmail.com>2020-10-13 22:18:17 +0100
committerFbenas <philbeansburton@gmail.com>2020-10-13 22:18:17 +0100
commit2df948ca0509b8bf58d1b7bc3a5ce0840132edd1 (patch)
tree232f2b84e5ede61c89afca8085c5eab9b65940f1 /public/js/app.js
parenta44e609b27642afc77495293d975f2ea0bbf6f3e (diff)
Fully sort detection of boids colliding
Diffstat (limited to 'public/js/app.js')
-rw-r--r--public/js/app.js19
1 files changed, 11 insertions, 8 deletions
diff --git a/public/js/app.js b/public/js/app.js
index 8ba4cf8..361321c 100644
--- a/public/js/app.js
+++ b/public/js/app.js
@@ -70,7 +70,7 @@ class Boid {
let rayAngle = tweakAngle + this.direction + rays[i];
// Check against all other boids
- if (i == 0 && this.detectBoids(rayAngle, boids)) {
+ if (this.detectBoids(rayAngle, boids)) {
continue;
}
@@ -81,8 +81,9 @@ class Boid {
return rayAngle;
}
- console.log(this.x, this.y);
+
console.log('cannot find suitable ray');
+ return false;
}
detectBoids(direction, boids) {
@@ -112,10 +113,12 @@ class Boid {
if (intersect) {
console.log('boids intersect detected');
}
+
+ return intersect;
}
boidsIntersect(boid) {
- this.twoCirclesIntersect(this.radius, boid.radius, this.x, boid.x, this.y, boid.y);
+ return this.twoCirclesIntersect(this.radius, boid.radius, this.x, boid.x, this.y, boid.y);
}
twoCirclesIntersect(r1, r2, x1, x2, y1, y2) {
@@ -327,10 +330,10 @@ class Scene {
boids.push(new Boid(
this.boid_radius,
"black",
- 300, 300, Math.random() * 360,
- // Math.random() * (this.gameArea.canvas.width - 100) + 50,
- // Math.random() * (this.gameArea.canvas.height - 100) + 50,
- // Math.random() * 360,
+ // 300, 300, Math.random() * 360,
+ Math.random() * (this.gameArea.canvas.width - 100) + 50,
+ Math.random() * (this.gameArea.canvas.height - 100) + 50,
+ Math.random() * 360,
i,
this.width,
this.height
@@ -388,7 +391,7 @@ class Scene {
}
-let scene = new Scene(5, 2);
+let scene = new Scene(5, 20);
function stop() {
scene.stop();