Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- Plan:
- Addition, subtraction
- Table storage
- Selection menu (touch)
- Event handler, coordinates return
- --]]
- --7x9
- -- Variables being assigned a starting value
- numTable = { numOne, numTwo, numThree, numFour, numFive, numSix }
- numSelector = 1
- local x, y = 1, 2
- function calcClear( )
- for i = 1, 6 do
- numTable[ i ] = nil
- end
- numSelector = 1
- term.setBackgroundColor( colors.black )
- drawCalc( )
- end
- function bSpace( )
- term.setBackgroundColor( colors.gray )
- term.write( " " )
- term.setBackgroundColor( colors.black )
- end
- function drawCalc( ) -- Ugliest piece of code I've written in my god damn life HOLY FUCK get it away from me (it works tho)
- term.clear( )
- term.setCursorPos( 1, 1 )
- term.setBackgroundColor( colors.gray )
- print( " " )
- bSpace( )
- term.write( "7" )
- bSpace( )
- term.write( "8" )
- bSpace( )
- term.write( "9" )
- bSpace( )
- bSpace( )
- term.setCursorPos(15, 2 )
- bSpace( )
- term.setCursorPos( 1, 3 )
- term.setBackgroundColor( colors.gray )
- print( " " )
- bSpace( )
- term.write( "4" )
- bSpace( )
- term.write( "5" )
- bSpace( )
- term.write( "6" )
- bSpace( )
- term.setCursorPos( 1, 5 )
- term.setBackgroundColor( colors.gray )
- print( " " )
- bSpace( )
- term.write( "1" )
- bSpace( )
- term.write( "2" )
- bSpace( )
- term.write( "3" )
- bSpace( )
- term.setCursorPos( 1, 7 )
- term.setBackgroundColor( colors.gray )
- print( " " )
- bSpace( )
- term.write( "C" )
- bSpace( )
- term.write( "0" )
- bSpace( )
- term.write( "=" )
- bSpace( )
- term.setCursorPos( 1, 9 )
- term.setBackgroundColor( colors.gray )
- term.write( " " )
- end
- function runCalculation( )
- end
- function getInput( )
- while true do
- local e = { os.pullEvent( ) }
- if e[ 1 ] == "key" then
- if ( e[ 2 ] == keys.one ) or ( e[ 2 ] == keys.numPad1 )then -- 1 or numpad 1 pressed
- numTable[ numSelector ] = 1
- numSelector = numSelector + 1
- numString = "1"
- elseif ( e[ 2 ] == keys.two ) or ( e[ 2 ] == keys.numPad2 ) then -- 2 or numpad 2 pressed
- numTable[ numSelector ] = 2
- numSelector = numSelector + 1
- numString = "2"
- elseif ( e[ 2 ] == keys.three ) or ( e[ 2 ] == keys.numPad3 ) then -- 3 or numpad 3 pressed
- numTable[ numSelector ] = 3
- numSelector = numSelector + 1
- numString = "3"
- elseif ( e[ 2 ] == keys.four ) or ( e[ 2 ] == keys.numPad4 ) then -- 4 or numpad 4 pressed
- numTable[ numSelector ] = 4
- numSelector = numSelector + 1
- numString = "4"
- elseif ( e[ 2 ] == keys.five ) or ( e[ 2 ] == keys.numPad5 ) then -- 5 or numpad 5 pressed
- numTable[ numSelector ] = 5
- numSelector = numSelector + 1
- numString = "5"
- elseif ( e[ 2 ] == keys.six ) or ( e[ 2 ] == keys.numPad6 ) then -- 6 or numpad 6 pressed
- numTable[ numSelector ] = 6
- numSelector = numSelector + 1
- numString = "6"
- elseif ( e[ 2 ] == keys.seven ) or ( e[ 2 ] == keys.numPad7 ) then -- 7 or numpad 7 pressed
- numTable[ numSelector ] = 7
- numSelector = numSelector + 1
- numString = "7"
- elseif ( e[ 2 ] == keys.eight ) or ( e[ 2 ] == keys.numPad8 ) then -- 8 or numpad 8 pressed
- numTable[ numSelector ] = 8
- numSelector = numSelector + 1
- numString = "8"
- elseif ( e[ 2 ] == keys.nine ) or ( e[ 2 ] == keys.numPad9 ) then -- 9 or numpad 9 pressed
- numTable[ numSelector ] = 9
- numSelector = numSelector + 1
- numString = "9"
- elseif ( e[ 2 ] == keys.zero ) or ( e[ 2 ] == keys.numPad0 ) then -- 0 or numpad 0 pressed
- numTable[ numSelector ] = 0
- numSelector = numSelector + 1
- numString = "0"
- elseif e[ 2 ] == keys.enter then
- runCalculation( )
- end
- elseif e[ 1 ] == "mouse_click" then
- local clickCoord = { e[ 3 ], e[ 4 ] }
- if clickCoord[ 2 ] == 2 then -- Line 1, numbers 7, 8, 9
- if clickCoord[ 1 ] == 2 then -- #7 clicked
- numTable[ numSelector ] = 7
- numSelector = numSelector + 1
- numString = "7"
- elseif clickCoord[ 1 ] == 4 then -- #8 clicked
- numTable[ numSelector ] = 8
- numSelector = numSelector + 1
- numString = "8"
- elseif clickCoord[ 1 ] == 6 then -- #9 clicked
- numTable[ numSelector ] = 9
- numSelector = numSelector + 1
- numString = "9"
- end
- elseif clickCoord[ 2 ] == 4 then -- Line 2, numbers 4, 5, 6
- if clickCoord[ 1 ] == 2 then -- #4 clicked
- numTable[ numSelector ] = 4
- numSelector = numSelector + 1
- numString = "4"
- elseif clickCoord[ 1 ] == 4 then -- #5 clicked
- numTable[ numSelector ] = 5
- numSelector = numSelector + 1
- numString = "5"
- elseif clickCoord[ 1 ] == 6 then -- #6 clicked
- numTable[ numSelector ] = 6
- numSelector = numSelector + 1
- numString = "6"
- end
- elseif clickCoord[ 2 ] == 6 then -- Line 3, number 1, 2, 3
- if clickCoord[ 1 ] == 2 then -- #1 clicked
- numTable[ numSelector ] = 1
- numSelector = numSelector + 1
- numString = "1"
- elseif clickCoord[ 2 ] == 4 then -- #2 clicked
- numTable[ numSelector ] = 2
- numSelector = numSelector + 1
- numString = "2"
- elseif clickCoord[ 1 ] == 6 then -- #3 clicked
- numTable[ numSelector ] = 3
- numSelector = numSelector + 1
- numString = "3"
- end
- elseif clickCoord[ 2 ] == 8 then
- if clickCoord[ 1 ] == 2 then -- Clear clicked
- calcClear( )
- elseif clickCoord[ 1 ] == 4 then -- #0 clicked
- numTable[ numSelector ] = 0
- numSelector = numSelector + 1
- numString = "0"
- elseif clickCoord[ 1 ] == 6 then -- Equals clicked
- runCalculation( )
- end
- end
- end
- if numSelector > 1 then
- term.setTextColor( colors.yellow )
- term.setCursorPos( numSelector + 7, 2 )
- term.write( numString )
- end
- if numSelector > 6 then
- runCalculation( )
- end
- end
- end
- drawCalc( )
- getInput( )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement