diff options
Diffstat (limited to 'lib/04-seperation.rb')
| -rw-r--r-- | lib/04-seperation.rb | 16 |
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) |
