summaryrefslogtreecommitdiffhomepage
path: root/lib/04-seperation.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/04-seperation.rb')
-rw-r--r--lib/04-seperation.rb16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/04-seperation.rb b/lib/04-seperation.rb
new file mode 100644
index 0000000..dad82f6
--- /dev/null
+++ b/lib/04-seperation.rb
@@ -0,0 +1,16 @@
+FF::Scn::BoidCalculations.add(FF::Sys.new('Seperation', priority: 50) do
+ FF::Cmp::Boids.each do |boid_update|
+ newvec = [0,0]
+ FF::Cmp::Boids.each do |boid_check|
+ next if boid_check == boid_update
+ if Math.sqrt(((-boid_check.x + boid_update.x)**2) + ((-boid_check.y + boid_update.y)**2)).abs < 200
+ puts 'repelling'
+ newvec[0] -= boid_check.x - boid_update.x
+ newvec[1] -= boid_check.y - boid_update.y
+ end
+ end
+ boid_update.cx += newvec[0] / 100.0
+ boid_update.cy += newvec[1] / 100.0
+ end
+ puts 'end of frame'
+end)