Advertisement
LeslieCraft

Computer Craft menu system theme, simple and smart

Jun 27th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.15 KB | None | 0 0
  1.         --[[    Comment     ]]--
  2. --[[
  3. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  4. X Simple menu. / Egyszeru Menu                       X
  5. X Youtube video: http://youtu.be/AU48NSPl4rM   X
  6. X Please like and subscribe! Thank U and have a nice X
  7. X day!                                               X
  8. XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  9. ]]--
  10.  
  11.  
  12.         --[[    Local Variables     ]]--
  13. local termWidth, termHeight = term.getSize()
  14. local selectedItem = 1
  15. local runing = true
  16.  
  17.  
  18.  
  19.         --[[    Menu Metods     ]]--
  20. function Choice1( ... )
  21.     print("Hello World")
  22.     clear()
  23.     read("")
  24. end
  25.  
  26. function Choice2( ... )
  27.     -- second menu function
  28. end
  29.  
  30. function readme( ... )
  31.     clear()
  32.     print([[If U like this menu system
  33. please subscribe
  34. my YT chanel:
  35. youtube.com/c/DelfaverMatteo_Games
  36.  
  37. Ha tetszett a program kerlek
  38. iratkozz fel a csatornamra!
  39. YT: youtube.com/c/DelfaverMatteo_Games
  40.  
  41. Thank U, Koszi ;)
  42.  
  43. Press enter to continue
  44. ]])
  45.     read("")
  46. end
  47.  
  48. function exit( ... )    --exit menu function
  49.     runing = false
  50. end
  51.  
  52.  
  53.  
  54.         --[[    Men Definitions     ]]--
  55. --[[
  56. EN
  57. Menus, if U need more menu options, just continue the lines, like the basic lines.
  58. sample: [4] = { text = "Manu name here", handler = "function name here (Menu Metods)"},
  59. HUN
  60. Menuk, ha tobb menupontot szeretnel, csak folytasd a sorokat, ugy mint a tobbi sor van.
  61. pelda: [4] = { text = "Menu elnevezese", handler = "function neve (Menu Metods- resz)"},
  62. ]]
  63. local mainMenu = {
  64.     [1] = { text = "Choice1", handler = Choice1},
  65.     [2] = { text = "Choice2", handler = Choice2},
  66.     [3] = { text = "ReadME", handler = readme},
  67.     [4] = { text = "Exit", handler = exit},
  68.  
  69. }
  70. --[[
  71. EN
  72. if U change menu position, just chane the two number ( 10 and 5) like this: term.setCursorPos(1, (i+0))
  73. this position is the 1, 1. Monitor left up side.
  74. HUN
  75. Ha változtatni szeretned a menu poziciojat, csak 2 számot kell atirj ( 10 es 5) pelda: term.setCursorPos(1, (i+0))
  76. ez a pozicio a monitor bal felso sarka 1, 1
  77.  
  78. function printMenu( menu )
  79.     for i=1,#menu do
  80.         if i == selectedItem then
  81.             term.setCursorPos(1, i)
  82.             print(">> " .. menu[i].text .. " <<")
  83.         else
  84.             term.setCursorPos(1, i)
  85.             print("   " .. menu[i].text)
  86.         end
  87.     end
  88. end
  89. ]]
  90. function printMenu( menu )
  91.     for i=1,#menu do
  92.         if i == selectedItem then
  93.             term.setCursorPos(10, (i+5))
  94.             print(">> " .. menu[i].text .. " <<")
  95.         else
  96.             term.setCursorPos(10, (i+5))
  97.             print("   " .. menu[i].text)
  98.         end
  99.     end
  100. end
  101.  
  102.  
  103.  
  104.         --[[    Handler Method      ]]--
  105. function onKeyPressed( key, menu )
  106.     if key == keys.enter then
  107.         onItemSelected(menu)
  108.     elseif key == keys.up then
  109.         if selectedItem > 1 then selectedItem = selectedItem - 1 end
  110.     elseif key == keys.down then
  111.         if selectedItem < #menu then selectedItem = selectedItem +1 end
  112.     end
  113. end
  114.  
  115. function onItemSelected( menu )
  116.     menu[selectedItem].handler()
  117. end
  118.  
  119. function clear( ... )
  120.     term.clear()
  121.     term.setCursorPos(18,19)
  122.     print("The menu is created by Matteo 2015")
  123.     term.setCursorPos(1,1)
  124. end
  125.  
  126.  
  127.  
  128.         --[[    Main function   ]]--
  129. function main( ... )
  130.     while runing do
  131.         clear()
  132.         term.setCursorPos(10, 4)
  133.         printMenu(mainMenu)
  134.         event, key = os.pullEvent("key")
  135.         onKeyPressed(key, mainMenu)
  136.     end
  137. end
  138.  
  139. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement