Advertisement
Guest User

Untitled

a guest
Oct 20th, 2019
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. function _init()
  2. cls()
  3. print("stars")
  4. t = 0
  5. stars = {}
  6. for i=1,25 do
  7. add(stars,agent.new(i))
  8. end
  9. for s in all(stars) do
  10. s:reset()
  11. end
  12. end
  13.  
  14. function _draw()
  15. cls()
  16. for s in all(stars) do
  17. s:update()
  18. s:draw()
  19. end
  20. end
  21.  
  22. colors = {1,2,6,7}
  23.  
  24. agent = {}
  25. agent.new = function(i)
  26. s={}
  27. s.i=i
  28. s.delay = rnd(60)
  29. s.t=0
  30. s.c=colors[i%4+1] -- 1,2,6,7
  31. s.r=1
  32. s.reset = function(s)
  33. s.a=rnd(6.18)
  34. s.x=64+sin(s.a)*rnd(16)
  35. s.y=64+cos(s.a)*rnd(8)
  36. s.z=0
  37. s.u=0
  38. s.v=0
  39. s.w=rnd(1)/4
  40. end
  41. s.update = function(s)
  42. s.t+=1
  43. if s.t < s.delay then return end
  44. s.u=abs(s.x-64)
  45. s.v=abs(s.y-64)
  46. i=t/30 * 3.14
  47. s.x+=sin(s.a)
  48. s.y+=cos(s.a)
  49. s.r=sin(s.t)*4+2
  50. s.z+=s.w
  51. if s.z > 4 then
  52. s.x+=sin(s.a)
  53. s.y+=cos(s.a)
  54. end
  55. if s.x<0 or s.x>128 then s:reset() end
  56. if s.y<0 or s.y>128 then s:reset() end
  57. end
  58. s.draw = function(s)
  59. if s.t < s.delay then return end
  60. -- r = s.v/64 * 3
  61. -- r += s.u/64
  62. r = s.z * 0.3
  63. circfill(s.x,s.y,r,s.c)
  64. end
  65. return s
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement