Advertisement
fantadada

oo

Oct 7th, 2015
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.50 KB | None | 0 0
  1. local monitor = nil -- la variable monitor prend la valeur 'nil' pour vérifier sa présence
  2. local sens = "montee"  -- ATTENTION : Changez ici le sens (montee ou descente)
  3.  
  4. -- Recherche l'emplacement du modem
  5. for _,side in ipairs({"left"; "right"; "back"; "bottom"; "top"; "front"}) do
  6.         if peripheral.getType(side) == "modem" then
  7.                 rednet.open(tostring(side))
  8.                 break;
  9.         end
  10. end
  11.  
  12. -- Recherche l'emplacement du monitor
  13. for _,side in ipairs({"left"; "right"; "back"; "bottom"; "top"; "front"}) do
  14.         if peripheral.getType(side) == "monitor" then
  15.                 monitor = peripheral.wrap(side);
  16.                 break;
  17.         end
  18. end
  19.  
  20. -- Fonction pour afficher le bouton "Appel" dans le monitor
  21. function affichageAppel()
  22.         term.redirect(monitor)
  23.         term.clear()
  24.         term.setCursorPos(1,1)
  25.  
  26.         print("-------")
  27.         print("|     |")
  28.         print("|Appel|")
  29.         print("|     |")
  30.         write("-------")
  31.         term.restore()
  32. end
  33.  
  34. -- Fonction pour afficher un bouton vierge dans le monitor
  35. function affichageVierge()
  36.         term.redirect(monitor)
  37.         term.clear()
  38.         term.setCursorPos(1,1)
  39.  
  40.         print("-------")
  41.         print("|     |")
  42.         print("|     |")
  43.         print("|     |")
  44.         write("-------")
  45.         term.restore()
  46. end
  47.  
  48. -- Début de la boucle de commande
  49. while true do
  50.         term.clear()
  51.                 if monitor == nil then -- Si aucun monitor n'est trouvé, il le précise et casse la boucle
  52.                         print("Aucun ecran trouve")
  53.                         break
  54.                 end
  55.         affichageAppel() -- Affiche la fonction du bouton d'appel
  56.         event, side, xPos, yPos = os.pullEvent("monitor_touch") -- Vérification de s'il y a clic sur le monitor
  57.                 if yPos >= 0 and xPos >= 0 then -- Si il y a bien eu clic par l'utilisateur
  58.                                 if sens == "montee" then
  59.                                         rednet.broadcast("ascenseurup") -- Envoi le message 'ascenseurup' si le sens est égal à 'montee'
  60.                                 elseif sens == "descente" then
  61.                                         rednet.broadcast("ascenseurdown") -- Envoi le message 'ascenseurdown' si le sens est égal à 'descente'
  62.                                 end
  63.                         affichageVierge() -- Affiche le bouton vierge pour montrer que vous avez bien cliqué
  64.                         sleep(2)
  65.                 end
  66. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement