Advertisement
Guest User

Untitled

a guest
Dec 6th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. motor_bottom = peripheral.wrap("carriage_0")
  2. motor_top = peripheral.wrap("carriage_1")
  3. --motor_top = peripheral.wrap("carriage_9")
  4.  
  5. local moving = 0
  6. local top_floor = 2
  7.  
  8. call_monitor_bottom = peripheral.wrap("monitor_37")
  9. call_monitor_top = peripheral.wrap("monitor_40")
  10.  
  11. select_monitor_bottom = peripheral.wrap("monitor_36")
  12. select_monitor_top = peripheral.wrap("monitor_39")
  13.  
  14.  
  15. function GetFloor()
  16. local white_check = rs.getBundledInput("left")
  17. local blue_check = rs.getBundledInput("right")
  18. if white_check then
  19. return 1
  20. elseif blue_check then
  21. return 2
  22. else
  23. return 0
  24. end
  25. return 0
  26. end
  27.  
  28. function MoveTo(floor_to)
  29. local current_floor = GetFloor()
  30. if moving == 1 then
  31. print("The elevator is already moving...")
  32. end
  33. if floor_to == current_floor then
  34. print("The elevator is already on that floor.")
  35. return 0
  36. end
  37. if floor_to > top_floor then
  38. floor_to = top_floor
  39. elseif floor_to <= 0 then
  40. floor_to = 1
  41. end
  42. print("Moving from floor " .. current_floor .. " to " .. floor_to)
  43. moving = 1
  44. direction = 0
  45. if floor_to > current_floor then
  46. direction = 1
  47. end
  48. on_floor = GetFloor()
  49. while on_floor ~= floor_to do
  50. motor_bottom.move(direction,false,true)
  51. motor_top.move(direction,false,true)
  52. on_floor = GetFloor()
  53. sleep(0.1)
  54. end
  55. print("Finished")
  56. moving = 0
  57. current_floor = GetFloor()
  58. end
  59.  
  60. print("Elevator control system started")
  61. call_monitor_bottom.setTextScale(0.8)
  62. call_monitor_bottom.setTextColor(colors.white)
  63. call_monitor_bottom.setBackgroundColor(colors.black)
  64. call_monitor_bottom.setCursorPos(1,1)
  65. call_monitor_bottom.clear()
  66. call_monitor_bottom.write("Right-click to call...")
  67. call_monitor_top.setTextScale(0.8)
  68. call_monitor_top.setTextColor(colors.white)
  69. call_monitor_top.setBackgroundColor(colors.black)
  70. call_monitor_top.setCursorPos(1,1)
  71. call_monitor_top.clear()
  72. call_monitor_top.write("Right-click to call...")
  73.  
  74. select_monitor_bottom.setTextScale(0.8)
  75. select_monitor_bottom.setTextColor(colors.white)
  76. select_monitor_bottom.setBackgroundColor(colors.black)
  77. select_monitor_bottom.setCursorPos(1,1)
  78. select_monitor_bottom.clear()
  79. select_monitor_bottom.write("Right-click to go up...")
  80.  
  81. select_monitor_top.setTextScale(0.8)
  82. select_monitor_top.setTextColor(colors.white)
  83. select_monitor_top.setBackgroundColor(colors.black)
  84. select_monitor_top.setCursorPos(1,1)
  85. select_monitor_top.clear()
  86. select_monitor_top.write("Right-click to go down...")
  87. while true do
  88. event, side, xpos, ypos = os.pullEvent("monitor_touch")
  89. side = tostring(side)
  90. if side == "monitor_37" then
  91. MoveTo(1)
  92. elseif side == "monitor_36" then
  93. MoveTo(2)
  94. elseif side == "monitor_38" then
  95. MoveTo(1)
  96. elseif side == "monitor_40" then
  97. MoveTo(2)
  98. end
  99. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement