GT_triangle.lua 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. -- luacheck: globals T r disp millis lcg_rnd
  2. local M, module = {}, ...
  3. _G[module] = M
  4. function M.run()
  5. -- make this a volatile module:
  6. package.loaded[module] = nil
  7. print("Running component triangle...")
  8. local m
  9. disp:setColor(0, 0, 80, 20)
  10. disp:setColor(1, 60, 80, 20)
  11. disp:setColor(2, 60, 120, 0)
  12. disp:setColor(3, 0, 140, 30)
  13. disp:drawGradientBox(0, 0, disp:getWidth(), disp:getHeight())
  14. disp:setColor(255, 255, 255)
  15. disp:setPrintPos(2, 18)
  16. disp:print("Triangle")
  17. m = millis() + T
  18. while millis() < m do
  19. disp:setColor(bit.band(lcg_rnd(), 127)+127, bit.band(lcg_rnd(), 31), bit.band(lcg_rnd(), 127)+64)
  20. disp:drawTriangle(
  21. bit.rshift(lcg_rnd() * (disp:getWidth()), 8),
  22. bit.rshift(lcg_rnd() * (disp:getHeight()-20), 8) + 20,
  23. bit.rshift(lcg_rnd() * (disp:getWidth()), 8),
  24. bit.rshift(lcg_rnd() * (disp:getHeight()-20), 8) + 20,
  25. bit.rshift(lcg_rnd() * (disp:getWidth()), 8),
  26. bit.rshift(lcg_rnd() * (disp:getHeight()-20), 8) + 20
  27. )
  28. tmr.wdclr()
  29. end
  30. print("...done")
  31. end
  32. return M