Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. #!/usr/bin/env jruby
  2. # frozen_string_literal: false
  3. require 'propane'
  4.  
  5. # make an object
  6. # propane graffiti by 8mana
  7. # based on code by Casey Reas and Ben Fry
  8.  
  9. class MakeObject < Propane::App
  10. def settings
  11. size 480, 120
  12. end
  13.  
  14. def setup
  15. sketch_title "make an object"
  16. ellipse_mode RADIUS
  17. @bug = Jitterbug.new(x: width/2, y: height/2, diameter: 20)
  18. end
  19.  
  20. def draw
  21. @bug.move
  22. @bug.display
  23. end
  24.  
  25. class Jitterbug
  26. include Propane::Proxy
  27.  
  28. def initialize(x:,y:,diameter:)
  29. @x = x
  30. @y = y
  31. @diameter = diameter
  32. @speed = 0.5
  33. end
  34.  
  35. def move
  36. @x += rand(-@speed..@speed)
  37. @y += rand(-@speed..@speed)
  38. end
  39.  
  40. def display
  41. ellipse(@x,@y,@diameter,@diameter)
  42. end
  43. end
  44. end
  45.  
  46. MakeObject.new
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement