GT_cross.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. local M, module = {}, ...
  2. _G[module] = M
  3. function M.run()
  4. -- make this a volatile module:
  5. package.loaded[module] = nil
  6. print("Running component cross...")
  7. local mx, my
  8. disp:setColor(0, 250, 0, 0)
  9. disp:setColor(1, 255, 255, 30)
  10. disp:setColor(2, 220, 235, 10)
  11. disp:setColor(3, 205, 0, 30)
  12. disp:drawGradientBox(0, 0, disp:getWidth(), disp:getHeight())
  13. mx = disp:getWidth() / 2
  14. my = disp:getHeight() / 2
  15. disp:setColor(0, 255, 255, 255)
  16. disp:setPrintPos(2,18)
  17. disp:print("Cross")
  18. disp:setColor(0, 0, 0x66, 0xcc)
  19. disp:setPrintPos(mx+15, my-5)
  20. disp:print("dir0")
  21. disp:setPrintPos(mx+5, my+26)
  22. disp:print("dir1")
  23. disp:setPrintPos(mx-40, my+20)
  24. disp:print("dir2")
  25. disp:setPrintPos(mx+5,my-25)
  26. disp:print("dir3")
  27. disp:setColor(0, 0, 0x66, 0xff)
  28. disp:setColor(1, 0, 0x66, 0xcc)
  29. disp:setColor(2, 0, 0, 0x99)
  30. disp:draw90Line(mx+2, my-1, 20, 0, 0)
  31. disp:draw90Line(mx+2, my, 20, 0, 1)
  32. disp:draw90Line(mx+2, my+1, 20, 0, 2)
  33. disp:draw90Line(mx+1, my+2, 20, 1, 0)
  34. disp:draw90Line(mx, my+2, 20, 1, 1)
  35. disp:draw90Line(mx-1, my+2, 20, 1, 2)
  36. disp:draw90Line(mx-2, my+1, 20, 2, 0)
  37. disp:draw90Line(mx-2, my, 20, 2, 1)
  38. disp:draw90Line(mx-2, my-1, 20, 2, 2)
  39. disp:draw90Line(mx-1, my-2, 20, 3, 0)
  40. disp:draw90Line(mx, my-2, 20, 3, 1)
  41. disp:draw90Line(mx+1, my-2, 20, 3, 2)
  42. print("...done")
  43. end
  44. return M