Перейти к содержимому
MrSnake20_15

Кодовый замок на дверь

Рекомендуемые сообщения

ссылка на pastebin: http://pastebin.com/WWH6ewhN

новая ссылка http://pastebin.com/Rc8yQqLs

ссылка от 25.08.2015 http://pastebin.com/aUWBwezd

Что нового:

  • Программу нельзя закрыть наглым способом (ctrl + alt + c)
  •  В программе добавлен новая переменная с паролем администратора(теперь это единственный способ закрыть программу)
  • Переделана система условий а именно:
    1. условие если введён пользовательский пароль
    2. условие если введён администраторский пароль
    3. условие если была предпринята попытка закрыть программу с помощью ctrl + alt + c(в этом условии есть доп.сигнал например для поршней с чем-нибудь острым из стен или для раздатчика со стрелами)
    4. условие если был введён неверный пароль
  • Добавлен новый сигнал красного камня (см. "Переделана система условий а именно:" пункт 3)

Пришлось много полазить по рунету. Я много узнал нового(например как нормально добавить elseif и else)

Код программы:

--подключаем component api

local component = require("component")
--terminal api
local term = require("term")
--sides api
local sides = require("sides")
--computer api
local computer = require("computer")
--keyboard api
local keyboard = require("keyboard")
--подключаем плату на красном камне
rs = component.redstone
--выпускаем сигнал красного камня
rs.setOutput(sides.left,0)
--объявляем переменную с паролем
local pass="unlock", t
--и переменную для закрытия программы
local adm="kil", t
--задаём начальное положение двери
rs.setOutput(sides.left,0)
--делаем цикл
while true do
--чистим экран
term.clear()
print("MrSnake20_15 ©")
--просим ввести пароль и фиксируем введённые данные
io.write("**Введите пароль!**Enter password!**: ")
p, t = pcall(io.read)
--проверяем введённые данные
if t == pass then
print("**У вас 2 секунды!**You have got 2 seconds!**")
rs.setOutput(sides.right,15)
os.sleep(2)
rs.setOutput(sides.right,0)
--если введён админ пароль
elseif t == adm then
break
elseif not p then
print("**NO! Goodbay!**НЕ ВЫЙДЕТ!Пока!**")
os.sleep(0.2)
--убираем поршневой сигнал красного камня
rs.setOutput(sides.left,15)
os.sleep(2)
--возвращаем сигнал
rs.setOutput(sides.left,0)
else
print("**You Are Wrong!**Вы ошиблись!**")
os.sleep(2)
end
end

 

идею с защитой от ctrlaltc я подсмотрел на gamepedia так как не понимал как это сделать

Обязательное условие: в компьютере должна быть плата на красном камне (ну и клавиатура конечно)! Видеокарта не обязательна(любители хардкора я про вас)!

Желательно установить программу, как autorun.lua.(исправлено в обновлении от 25.08.2015 теперь называйте программу как хотите)

P.S. Администрация, я рассчитываю на "байт-II"!

post-16123-0-89843900-1440341607_thumb.png

post-16123-0-32262700-1440341613_thumb.png

Изменено пользователем MrSnake20_15

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ТО-есть видюк не нужен? :)

нужен как и цп, память и т.д. но это уже к "обязательные условия для работы компьютера". А для работы ПРОГРАММЫ нужна плата на красном камне и РАБОТАЮЩИЙ КОМПЬЮТЕР  :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нужен как и цп, память и т.д. но это уже к "обязательные условия для работы компьютера". А для работы ПРОГРАММЫ нужна плата на красном камне и РАБОТАЮЩИЙ КОМПЬЮТЕР  :) 

Комп может работать и без видюка

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Убери возможность остановить эту программу,а так всё нормаль.

P.S. Зачем уже комп перезагружать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Убери возможность остановить эту программу,а так всё нормаль.

P.S. Зачем уже комп перезагружать?

Раз речь пошла о доработке перезагрузка нужна для того чтобы добавить в прогу отправку редстоун сигнала например сзади, сделать инверсию и подвести это дело к сирене или подвести сигнал красного камня к поршням, открывающим дыру в полу. Красота будет! Изменено пользователем MrSnake20_15

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Программу легко остановить на слипах.Исправь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

P.S. Администрация, я рассчитываю на "байт-II"!

Программка,конечно, очень простенькая, тривиальная и требует шлифовки, как по мне. В функционал не вникал сильно, но программкой с графикой в две консольные строки и чего-то там введите, а я выпущу редстоун сигнал, конечно, никого сейчас не удивить. Но главное - это процесс, упорное изучение, миллион проб и ошибок и настойчивость в программировании. Администрация не будет разбивать твоих надежд и вручает тебе медальку :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Получается я могу написать свой кодовый замок, только с другими надписями, и получить байт-IV (которого нет)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Получается я могу написать свой кодовый замок, только с другими надписями, и получить байт-IV (которого нет)?

 

Для него эта программка - прогресс. А для тебя регресс. Так что обойдешься без четвертого байта )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...