Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- TRACKS = {
- Links = {
- left = true,
- right = false
- },
- Mitte = {
- left = false,
- right = true
- },
- Rechts = {
- left = false,
- right = false
- }
- }
- TRACK_KEYS = {}
- TRACK_COUNT = 0
- for k, v in pairs(TRACKS) do
- TRACK_COUNT = TRACK_COUNT + 1
- TRACK_KEYS[TRACK_COUNT] = k
- end
- monitor = peripheral.wrap('monitor_0')
- function updateMonitor()
- monitor.setCursorPos(1, 1)
- monitor.clearLine()
- monitor.write('Strecken:')
- for i = 1, TRACK_COUNT do
- monitor.setCursorPos(1, i + 1)
- monitor.clearLine()
- active = true
- for side, expectedValue in pairs(TRACKS[TRACK_KEYS[i]]) do
- active = active and (rs.getOutput(side) == expectedValue)
- end
- line = tostring(i)
- if active then
- line = line .. ')'
- else
- line = line .. '.'
- end
- line = line .. ' ' .. TRACK_KEYS[i]
- monitor.write(line)
- end
- end
- function chooseTrack(digit)
- if digit > TRACK_COUNT then
- print('Unknown track')
- end
- print('Activating track #' .. tostring(digit))
- for side, value in pairs(TRACKS[TRACK_KEYS[digit]]) do
- rs.setOutput(side, value)
- end
- updateMonitor()
- end
- updateMonitor()
- while true do
- local event, key, is_held = os.pullEvent('key_up')
- digit = -1
- if key == keys.one or key == keys.numPad1 then
- digit = 1
- elseif key == keys.two or key == keys.numPad2 then
- digit = 2
- elseif key == keys.three or key == keys.numPad3 then
- digit = 3
- elseif key == keys.four or key == keys.numPad4 then
- digit = 4
- elseif key == keys.five or key == keys.numPad5 then
- digit = 5
- elseif key == keys.six or key == keys.numPad6 then
- digit = 6
- elseif key == keys.seven or key == keys.numPad7 then
- digit = 7
- elseif key == keys.eight or key == keys.numPad8 then
- digit = 8
- elseif key == keys.nine or key == keys.numPad9 then
- digit = 9
- end
- if digit > -1 then
- chooseTrack(digit)
- end
- end
Add Comment
Please, Sign In to add comment