darkroom

Untitled

Jan 1st, 2013
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. --Int--
  2.  
  3. local w,h = term.getSize()
  4. local running = true
  5. local selectedMenu = "MainMenu"
  6. local selectedItem = 1
  7.  
  8. --Menu Functions--
  9.  
  10. function Choice1()
  11. selectedMenu = "Programs"
  12. end
  13.  
  14. function Choice2()
  15. selectedMenu = "Control"
  16. end
  17.  
  18. function Choice3()
  19. selectedMenu = "Redstone"
  20. end
  21.  
  22. function exit()
  23. running = false
  24. end
  25.  
  26. --Menu Int--
  27.  
  28. local MainMenu = {
  29. [1] = {text = "Programs", handler = Choice1},
  30. [2] = {text = "Control Options", handler = Choice2},
  31. [3] = {text = "Redstone Options", handler = Choice3},
  32. [4] = {text = "Exit", handler = exit}
  33. }
  34.  
  35. --Functions--
  36.  
  37. function centerPrint(string,ypos)
  38. term.setCursorPos(w/2-#string/2,ypos)
  39. write(string)
  40. end
  41.  
  42. function PrintMenu(menu)
  43. for i=1,#menu do
  44. if i == selectedItem then
  45. centerPrint("[ "..menu[selectedItem].text.." ]",i+5)
  46. else
  47. centerPrint(menu[selectedItem].text,i+5)
  48. end
  49. end
  50. end
  51.  
  52. function Input(key, menu)
  53. if key == key.enter then
  54. selectedItem = 1
  55. menu[selectedItem].handler()
  56. elseif key == key.down and selectedItem < #menu then
  57. selectedItem = selectedItem + 1
  58. elseif key == key.up and selectedItem > 1 then
  59. selectedItem = selectedItem - 1
  60. end
  61. end
  62.  
  63. --Main Function--
  64.  
  65. term.clear()
  66. term.setCursorPos(1,1)
  67. while running do
  68. local event, key = os.pullEvent("key")
  69. Input(key, selectedMenu)
  70. PrintMenu(selectedMenu)
  71. end
  72. term.clear()
  73. term.setCursorPos(1,1)
Advertisement
Add Comment
Please, Sign In to add comment