GT_cross.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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 cross...")
  8. local mx, my
  9. disp:setColor(0, 250, 0, 0)
  10. disp:setColor(1, 255, 255, 30)
  11. disp:setColor(2, 220, 235, 10)
  12. disp:setColor(3, 205, 0, 30)
  13. disp:drawGradientBox(0, 0, disp:getWidth(), disp:getHeight())
  14. mx = disp:getWidth() / 2
  15. my = disp:getHeight() / 2
  16. disp:setColor(0, 255, 255, 255)
  17. disp:setPrintPos(2,18)
  18. disp:print("Cross")
  19. disp:setColor(0, 0, 0x66, 0xcc)
  20. disp:setPrintPos(mx+15, my-5)
  21. disp:print("dir0")
  22. disp:setPrintPos(mx+5, my+26)
  23. disp:print("dir1")
  24. disp:setPrintPos(mx-40, my+20)
  25. disp:print("dir2")
  26. disp:setPrintPos(mx+5,my-25)
  27. disp:print("dir3")
  28. disp:setColor(0, 0, 0x66, 0xff)
  29. disp:setColor(1, 0, 0x66, 0xcc)
  30. disp:setColor(2, 0, 0, 0x99)
  31. disp:draw90Line(mx+2, my-1, 20, 0, 0)
  32. disp:draw90Line(mx+2, my, 20, 0, 1)
  33. disp:draw90Line(mx+2, my+1, 20, 0, 2)
  34. disp:draw90Line(mx+1, my+2, 20, 1, 0)
  35. disp:draw90Line(mx, my+2, 20, 1, 1)
  36. disp:draw90Line(mx-1, my+2, 20, 1, 2)
  37. disp:draw90Line(mx-2, my+1, 20, 2, 0)
  38. disp:draw90Line(mx-2, my, 20, 2, 1)
  39. disp:draw90Line(mx-2, my-1, 20, 2, 2)
  40. disp:draw90Line(mx-1, my-2, 20, 3, 0)
  41. disp:draw90Line(mx, my-2, 20, 3, 1)
  42. disp:draw90Line(mx+1, my-2, 20, 3, 2)
  43. print("...done")
  44. end
  45. return M