Advertisement
FakoTheGreat

Illuminator TS Final

Jun 6th, 2014
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.07 KB | None | 0 0
  1. os.loadAPI("touchpoint")
  2.  
  3. local m = peripheral.wrap("left")
  4. local t = touchpoint.new("left")
  5.  
  6. local red = "000"
  7. local rDown = {"-",label="rDown"}
  8. local rUp = {"+",label="rUp"}
  9. local rDTen = {"<",label="rDTen"}
  10. local rUTen = {">",label="rUTen"}
  11.  
  12. local green = "000"
  13. local gDown = {"-",label="gDown"}
  14. local gUp = {"+",label="gUp"}
  15. local gDTen = {"<",label="gDTen"}
  16. local gUTen = {">",label="gUTen"}
  17.  
  18. local blue = "000"
  19. local bDown = {"-",label="bDown"}
  20. local bUp = {"+",label="bUp"}
  21. local bDTen = {"<",label="bDTen"}
  22. local bUTen = {">",label="bUTen"}
  23.  
  24. m.setTextScale(2.5)
  25. m.clear()
  26.  
  27. --- Returns HEX representation of num
  28. function getHex(num)
  29.   local hexstr = '0123456789abcdef'
  30.   local s = ''
  31.   while num > 0 do
  32.     local mod = math.fmod(num, 16)
  33.     s = string.sub(hexstr, mod+1, mod+1) .. s
  34.     num = math.floor(num / 16)
  35.   end
  36.   if s == '' then
  37.     s = '0'
  38.   end
  39.  
  40.   if string.len(s) == 1 then
  41.     return '0'..s
  42.   else
  43.     return s
  44.   end
  45. end
  46.  
  47. function drawLabels()
  48.   m.setBackgroundColor(colors.red)
  49.   m.setCursorPos(3,1)
  50.   m.write(red)
  51.  
  52.   m.setBackgroundColor(colors.lime)
  53.   m.setCursorPos(3,2)
  54.   m.write(green)
  55.  
  56.   m.setBackgroundColor(colors.blue)
  57.   m.setCursorPos(3,3)
  58.   m.write(blue)
  59. end
  60.  
  61. function quickToggle(buttonName)
  62.   t:toggleButton(buttonName)
  63.   drawLabels()
  64.   os.sleep(0.125)
  65.   t:toggleButton(buttonName)
  66.   drawLabels()
  67. end
  68.  
  69. function numChange(oldNum, amt)
  70.   local newNum = oldNum + amt
  71.  
  72.   if newNum < 0 then
  73.     newNum = 0
  74.   end
  75.  
  76.   if newNum > 255 then
  77.     newNum = 255
  78.   end
  79.  
  80.   if newNum < 10 then
  81.     return "00"..tostring(newNum)
  82.   elseif newNum < 100 then
  83.     return "0"..tostring(newNum)
  84.   else
  85.     return tostring(newNum)
  86.   end
  87. end
  88.  
  89. function rMinOne()
  90.   red = numChange(tonumber(red), -1)
  91.   quickToggle("rDown")
  92. end
  93.  
  94. function rMinTen()
  95.  red = numChange(tonumber(red), -10)
  96.  quickToggle("rDTen")
  97. end
  98.  
  99. function rUpOne()
  100.   red = numChange(tonumber(red), 1)
  101.   quickToggle("rUp")
  102. end
  103.  
  104. function rUpTen()
  105.   red = numChange(tonumber(red), 10)
  106.   quickToggle("rUTen")
  107. end
  108.  
  109. function gMinOne()
  110.   green = numChange(tonumber(green), -1)
  111.   quickToggle("gDown")
  112. end
  113.  
  114. function gMinTen()
  115.  green = numChange(tonumber(green), -10)
  116.  quickToggle("gDTen")
  117. end
  118.  
  119. function gUpOne()
  120.   green = numChange(tonumber(green), 1)
  121.   quickToggle("gUp")
  122. end
  123.  
  124. function gUpTen()
  125.   green = numChange(tonumber(green), 10)
  126.   quickToggle("gUTen")
  127. end
  128.  
  129. function bMinOne()
  130.   blue = numChange(tonumber(blue), -1)
  131.   quickToggle("bDown")
  132. end
  133.  
  134. function bMinTen()
  135.  blue = numChange(tonumber(blue), -10)
  136.  quickToggle("bDTen")
  137. end
  138.  
  139. function bUpOne()
  140.   blue = numChange(tonumber(blue), 1)
  141.   quickToggle("bUp")
  142. end
  143.  
  144. function bUpTen()
  145.   blue = numChange(tonumber(blue), 10)
  146.   quickToggle("bUTen")
  147. end
  148.  
  149. function applyColor()
  150.   local color = ""
  151.  
  152.   color = getHex(tonumber(red))..getHex(tonumber(green))..getHex(tonumber(blue))
  153.   print(color)
  154.   pcall(peripheral.call("right","setColor",tonumber(color,16)))
  155.  
  156.   quickToggle("Set")
  157. end
  158.  
  159. t:add(rDTen, rMinTen, 1, 1, 1, 1, colors.lightGray, colors.lightBlue)
  160. t:add(rDown, rMinOne, 2, 1, 2, 1, colors.gray, colors.lightBlue)
  161. t:add(rUp, rUpOne, 6, 1, 6, 1, colors.gray, colors.lightBlue)
  162. t:add(rUTen, rUpTen, 7, 1, 7, 1, colors.lightGray, colors.lightBlue)
  163.  
  164. t:add(gDTen, gMinTen, 1, 2, 1, 2, colors.gray, colors.lightBlue)
  165. t:add(gDown, gMinOne, 2, 2, 2, 2, colors.lightGray, colors.lightBlue)
  166. t:add(gUp, gUpOne, 6, 2, 6, 2, colors.lightGray, colors.lightBlue)
  167. t:add(gUTen, gUpTen, 7, 2, 7, 2, colors.gray, colors.lightBlue)
  168.  
  169. t:add(bDTen, bMinTen, 1, 3, 1, 3, colors.lightGray, colors.lightBlue)
  170. t:add(bDown, bMinOne, 2, 3, 2, 3, colors.gray, colors.lightBlue)
  171. t:add(bUp, bUpOne, 6, 3, 6, 3, colors.gray, colors.lightBlue)
  172. t:add(bUTen, bUpTen, 7, 3, 7, 3, colors.lightGray, colors.lightBlue)
  173.  
  174. t:add("Set",applyColor, 2, 5, 6, 5, colors.gray, colors.lightBlue)
  175.  
  176. while true do
  177.   m.clear()
  178.   t:draw()
  179.   drawLabels()
  180.  
  181.   local event, p1 = t:handleEvents(os.pullEvent())   ---button_click, name
  182.   if event == "button_click" then
  183.     t.buttonList[p1].func()
  184.   end
  185. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement