Advertisement
MeXaN1cK

doors.lua

Apr 17th, 2016
276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.59 KB | None | 0 0
  1. -- подключаем необходимые интерфейсы
  2. local term = require("term")
  3. local sides = require("sides")
  4. local note = require("note")
  5. local event = require("event")
  6. local keyboard = require("keyboard")
  7. local component = require("component")
  8. -- находим красную плату компьютера
  9. local rs = component.redstone
  10.  
  11. function idea(s)
  12.   local _, _, _, code, _ = event.pull("key_down")
  13.   return code
  14. end
  15.  
  16.  
  17. function idea2()
  18.   try = ""
  19.   while true do
  20.     local err, f = pcall(idea)
  21.     if not err then
  22.      io.write("\n")
  23.      return err, try
  24.     end
  25.     if f < 60 then
  26.       if keyboard.keys[f] == 'enter'then
  27.         io.write("\n")
  28.         return err, try
  29.       end
  30.       try = try..keyboard.keys[f]
  31.       io.write("*")
  32.     end
  33.   end
  34. end
  35.  
  36.  
  37. -- объявляем переменные: пароли и переменную для записи ввода
  38. local password = "test"
  39.  
  40. -- отключаем сигнал на переднюю панель компьютера (дверь закрыта)
  41. rs.setOutput(sides.south, 0)
  42. -- очищаем терминал
  43. term.clear()
  44.  
  45. while true do
  46.   -- ввод пароля
  47.   io.write("Введите пароль: ")
  48.  
  49.   err, try = idea2()
  50.  
  51.     -- если игрок попытался прервать программу
  52.   if not err then
  53.     print("А вот хрен Вам!")
  54.   -- если пароль верный
  55.   elseif try == password then
  56.     -- пускаемсигнал на переднюю сторону компьютера (дверь открыта)
  57.     rs.setOutput(sides.up, 15)
  58.     print("Ок, у Вас есть 3 секунды!")
  59.     -- воспроизводим звуковой сигнал
  60.     note.play(83, 0.3)
  61.     note.play(90, 0.2)
  62.     -- ожидаем две с половиной секунды
  63.     os.sleep(2.5)
  64.     -- закрываем дверь
  65.     rs.setOutput(sides.up, 0)
  66.     print("Закрываю!")
  67.   -- если введенное слово совпало с администраторским паролем
  68.   elseif try == "power" then
  69.     -- прерываем выполнение программы
  70.     break
  71.   -- если была введена команда "cls"
  72.   elseif try == "cls" then
  73.     -- очищаем консоль
  74.     term.clear()
  75.   -- если было введено что-то другое
  76.   else
  77.     -- выводим сообщение, и воспроизводим звук ошибки
  78.     print("Обломитесь!Пытайтесь снова.")
  79.     note.play(70, 0.2)
  80.   end
  81.  term.clear()
  82. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement