norway240

Computer Craft: Sample GUI

Sep 26th, 2012
1,604
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.06 KB | None | 0 0
  1. local termWidth, termHeight = term.getSize()
  2. local selectedItem = 1
  3. local onMainMenu = true
  4.  
  5. function Choice1()
  6.  term.clear()
  7.  term.setCursorPos(1,1)
  8.  print("CHOICE 1")
  9.  sleep(1)
  10. end
  11.  
  12. function Exit()
  13.  onMainMenu = false
  14. end
  15.  
  16. mainMenu = {
  17. [1] = { text = "Choice 1", handler = Choice1 },
  18. [2] = { text = "Exit", handler = Exit }
  19. }
  20.  
  21. function printMenu( menu )
  22.  for i=1,#menu do
  23.   if i == selectedItem then
  24.    print(">> "..menu[i].text)
  25.   else
  26.    print("   "..menu[i].text)
  27.   end
  28.  end
  29. end
  30.  
  31. function onKeyPressed( key, menu )
  32.  if key == keys.enter then
  33.   onItemSelected(menu)
  34.  elseif key == keys.up then
  35.   if selectedItem > 1 then
  36.    selectedItem = selectedItem - 1
  37.   end
  38.  elseif key == keys.down then
  39.   if selectedItem < #menu then
  40.    selectedItem = selectedItem + 1
  41.   end
  42.  end
  43. end
  44.  
  45. function onItemSelected( menu )
  46.  menu[selectedItem].handler()
  47. end
  48.  
  49. function main()
  50.  while onMainMenu do
  51.   term.clear()
  52.   term.setCursorPos(1,1)
  53.   printMenu(mainMenu)
  54.   event, key = os.pullEvent("key")
  55.   onKeyPressed(key,mainMenu)
  56.  end
  57. end
  58.  
  59. main()
Advertisement
Add Comment
Please, Sign In to add comment