Advertisement
ArcticPhenom

Untitled

Sep 26th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 7.18 KB | None | 0 0
  1. --[[
  2. Plan:
  3.     Addition, subtraction
  4.         Table storage
  5.     Selection menu (touch)
  6.         Event handler, coordinates return
  7. --]]
  8. --7x9
  9. -- Variables being assigned a starting value
  10. numTable = { numOne, numTwo, numThree, numFour, numFive, numSix }
  11. numSelector = 1
  12. local x, y = 1, 2
  13. function calcClear( )
  14.     for i = 1, 6 do
  15.         numTable[ i ] = nil
  16.     end
  17.     numSelector = 1
  18.     term.setBackgroundColor( colors.black )
  19.     drawCalc( )
  20. end
  21. function bSpace( )
  22.     term.setBackgroundColor( colors.gray )
  23.     term.write( " " )
  24.     term.setBackgroundColor( colors.black )
  25. end
  26. function drawCalc( ) -- Ugliest piece of code I've written in my god damn life HOLY FUCK get it away from me (it works tho)
  27.     term.clear( )
  28.     term.setCursorPos( 1, 1 )
  29.     term.setBackgroundColor( colors.gray )
  30.     print( "               " )
  31.     bSpace( )
  32.     term.write( "7" )
  33.     bSpace( )
  34.     term.write( "8" )
  35.     bSpace( )
  36.     term.write( "9" )
  37.     bSpace( )
  38.     bSpace( )
  39.     term.setCursorPos(15, 2 )
  40.     bSpace( )
  41.     term.setCursorPos( 1, 3 )
  42.     term.setBackgroundColor( colors.gray )
  43.     print( "               " )
  44.     bSpace( )
  45.     term.write( "4" )
  46.     bSpace( )
  47.     term.write( "5" )
  48.     bSpace( )
  49.     term.write( "6" )
  50.     bSpace( )
  51.     term.setCursorPos( 1, 5 )
  52.     term.setBackgroundColor( colors.gray )
  53.     print( "       " )
  54.     bSpace( )
  55.     term.write( "1" )
  56.     bSpace( )
  57.     term.write( "2" )
  58.     bSpace( )
  59.     term.write( "3" )
  60.     bSpace( )
  61.     term.setCursorPos( 1, 7 )
  62.     term.setBackgroundColor( colors.gray )
  63.     print( "       " )
  64.     bSpace( )
  65.     term.write( "C" )
  66.     bSpace( )
  67.     term.write( "0" )
  68.     bSpace( )
  69.     term.write( "=" )
  70.     bSpace( )
  71.     term.setCursorPos( 1, 9 )
  72.     term.setBackgroundColor( colors.gray )
  73.     term.write( "       " )
  74. end
  75. function runCalculation( )
  76.    
  77. end
  78. function getInput( )
  79.     while true do
  80.         local e = { os.pullEvent( ) }
  81.         if e[ 1 ] == "key" then
  82.             if ( e[ 2 ] == keys.one ) or ( e[ 2 ] == keys.numPad1 )then -- 1 or numpad 1 pressed
  83.                 numTable[ numSelector ] = 1
  84.                 numSelector = numSelector + 1
  85.                 numString = "1"
  86.             elseif ( e[ 2 ] == keys.two ) or ( e[ 2 ] == keys.numPad2 ) then -- 2 or numpad 2 pressed
  87.                 numTable[ numSelector ] = 2
  88.                 numSelector = numSelector + 1
  89.                 numString = "2"
  90.             elseif ( e[ 2 ] == keys.three ) or ( e[ 2 ] == keys.numPad3 ) then -- 3 or numpad 3 pressed
  91.                 numTable[ numSelector ] = 3
  92.                 numSelector = numSelector + 1
  93.                 numString = "3"
  94.             elseif ( e[ 2 ] == keys.four ) or ( e[ 2 ] == keys.numPad4 ) then -- 4 or numpad 4 pressed
  95.                 numTable[ numSelector ] = 4
  96.                 numSelector = numSelector + 1
  97.                 numString = "4"
  98.             elseif ( e[ 2 ] == keys.five ) or ( e[ 2 ] == keys.numPad5 ) then -- 5 or numpad 5 pressed
  99.                 numTable[ numSelector ] = 5
  100.                 numSelector = numSelector + 1
  101.                 numString = "5"
  102.             elseif ( e[ 2 ] == keys.six ) or ( e[ 2 ] == keys.numPad6 ) then -- 6 or numpad 6 pressed
  103.                 numTable[ numSelector ] = 6
  104.                 numSelector = numSelector + 1
  105.                 numString = "6"
  106.             elseif ( e[ 2 ] == keys.seven ) or ( e[ 2 ] == keys.numPad7 ) then -- 7 or numpad 7 pressed
  107.                 numTable[ numSelector ] = 7
  108.                 numSelector = numSelector + 1
  109.                 numString = "7"
  110.             elseif ( e[ 2 ] == keys.eight ) or ( e[ 2 ] == keys.numPad8 ) then -- 8 or numpad 8 pressed
  111.                 numTable[ numSelector ] = 8
  112.                 numSelector = numSelector + 1
  113.                 numString = "8"
  114.             elseif ( e[ 2 ] == keys.nine ) or ( e[ 2 ] == keys.numPad9 ) then -- 9 or numpad 9 pressed
  115.                 numTable[ numSelector ] = 9
  116.                 numSelector = numSelector + 1
  117.                 numString = "9"
  118.             elseif ( e[ 2 ] == keys.zero ) or ( e[ 2 ] == keys.numPad0 ) then -- 0 or numpad 0 pressed
  119.                 numTable[ numSelector ] = 0
  120.                 numSelector = numSelector + 1
  121.                 numString = "0"
  122.             elseif e[ 2 ] == keys.enter then
  123.                 runCalculation( )
  124.             end
  125.         elseif e[ 1 ] == "mouse_click" then
  126.             local clickCoord = { e[ 3 ], e[ 4 ] }
  127.             if clickCoord[ 2 ] == 2 then -- Line 1, numbers 7, 8, 9
  128.                 if clickCoord[ 1 ] == 2 then -- #7 clicked
  129.                     numTable[ numSelector ] = 7
  130.                     numSelector = numSelector + 1
  131.                     numString = "7"
  132.                 elseif clickCoord[ 1 ] == 4 then -- #8 clicked
  133.                     numTable[ numSelector ] = 8
  134.                     numSelector = numSelector + 1
  135.                     numString = "8"
  136.                 elseif clickCoord[ 1 ] == 6 then -- #9 clicked
  137.                     numTable[ numSelector ] = 9
  138.                     numSelector = numSelector + 1
  139.                     numString = "9"
  140.                 end
  141.             elseif clickCoord[ 2 ] == 4 then -- Line 2, numbers 4, 5, 6
  142.                 if clickCoord[ 1 ] == 2 then -- #4 clicked
  143.                     numTable[ numSelector ] = 4
  144.                     numSelector = numSelector + 1
  145.                     numString = "4"
  146.                 elseif clickCoord[ 1 ] == 4 then -- #5 clicked
  147.                     numTable[ numSelector ] = 5
  148.                     numSelector = numSelector + 1
  149.                     numString = "5"
  150.                 elseif clickCoord[ 1 ] == 6 then -- #6 clicked
  151.                     numTable[ numSelector ] = 6
  152.                     numSelector = numSelector + 1
  153.                     numString = "6"
  154.                 end
  155.             elseif clickCoord[ 2 ] == 6 then -- Line 3, number 1, 2, 3
  156.                 if clickCoord[ 1 ] == 2 then -- #1 clicked
  157.                     numTable[ numSelector ] = 1
  158.                     numSelector = numSelector + 1
  159.                     numString = "1"
  160.                 elseif clickCoord[ 2 ] == 4 then -- #2 clicked
  161.                     numTable[ numSelector ] = 2
  162.                     numSelector = numSelector + 1
  163.                     numString = "2"
  164.                 elseif clickCoord[ 1 ] == 6 then -- #3 clicked
  165.                     numTable[ numSelector ] = 3
  166.                     numSelector = numSelector + 1
  167.                     numString = "3"
  168.                 end
  169.             elseif clickCoord[ 2 ] == 8 then
  170.                 if clickCoord[ 1 ] == 2 then -- Clear clicked
  171.                     calcClear( )
  172.                 elseif clickCoord[ 1 ] == 4 then -- #0 clicked
  173.                     numTable[ numSelector ] = 0
  174.                     numSelector = numSelector + 1
  175.                     numString = "0"
  176.                 elseif clickCoord[ 1 ] == 6 then -- Equals clicked
  177.                     runCalculation( )
  178.                 end
  179.             end
  180.         end
  181.         if numSelector > 1 then
  182.             term.setTextColor( colors.yellow )
  183.             term.setCursorPos( numSelector + 7, 2 )
  184.             term.write( numString )
  185.         end
  186.         if numSelector > 6 then
  187.             runCalculation( )
  188.         end
  189.     end
  190. end
  191. drawCalc( )
  192. getInput( )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement