darkroom

Untitled

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