Работа Льва с конструктором TETRA

10 ноября 2016
Творческий проект. Сейф

Здравствуйте! Это Лев и TETRA. Я уже писал о примерной идее творческого проекта. Теперь я реализовал её: создал «сейф» с кодовым замком. Я установил 2 кнопки на плате и сделал семизначный код со 128 возможными вариантами и выбрал один в качестве истинного кода. Сейф откроется только по этой комбинации.

Сначала фото и видео работы программы

Мой скетч



Кликните для увеличения

Костюмы



Кликните для увеличения

Описание скрипта

Как вы видите из костюмов, я сделал сейф как костюм Arduino (close), поэтому все команды находятся в его скрипте. Также для него ещё два костюма: «open» -- ключ, сейф открыт, «not open» -- грустная акула, код неверен. Итак, о скетче.

Сначала мы подаём сейфу команду встать на нужное место экрана, скрываем рабочую панель, вручную заносим в переменную ИстинныйПароль код из единиц и нулей (1 – нижняя кнопка – цифровой порт 2, а 0 – верхняя кнопка – цифровой порт 3), устанавливаем КоличествоПопыток=3. Затем начинается основной цикл – он включает в себя одну попытку открывания сейфа и повторяется имеющееся количество попыток. Если не открыть сейф за три попытки, игра заканчивается, если открыть за одну или две попытки – сейф ненадолго открывается и закрывается, попыток снова три, и всё сначала.

Сначала мы устанавливаем необходимые в будущем переменные Ошибка и НомерЦифрыПароля, также очищаем заранее созданный список ВведенныйПароль. Передаём в Ввод (это Объект1) сообщение Сначала, по которому он берёт костюм нет, т.е. очищается. Сейф сам переходит к костюму close. Далее начинается процедура ввода пароля.

Этот цикл идёт 7 раз, по разу на каждую цифру. Сначала программа бездействует, пока на один из портов не придёт false (т. е. какая-то кнопка будет нажата). Затем ждёт 0.2 секунды для избегания задержки кнопки (для получения одинарного сигнала), помещает в список ВведенныйПароль соответствующую цифру и передаёт на Ввод сменить костюм (зажигается ещё один круг). Потом запускается процедура сверки паролей.

Этот цикл работает также, 7 раз. Сначала мы изменяем НомерЦифрыПароля на 1. Затем программа сверяет элемент этого номера во ВведённыйПароль с элементом этого номера в ИстинныйПароль. Если они не совпадают, устанавливает переменную Ошибка в 1 и сменяет костюм на not open. После этого цикла, если Ошибка=0 (пароли совпали), возвращаем 3 попытки, переходим к костюму open, передаём ура на Ввод, чтобы круги стали зелёными. Потом в любом случае ждём 2 секунды (держим картинку). Если это была последняя попытка, игра заканчивается. Если это была не последняя попытка, то основной цикл запускается сначала.

Я, наверное, не буду дорабатывать этот проект. Но идеи у меня есть: каждый раз создавать по какому-то принципу случайный код и пытаться его взломать, добавить анимации… Предлагаю дорабатывать эту программу и писать об этом в комментариях.

До новых встреч!

Огромное спасибо компании Амперка за предоставленный образец набора TETRA.

Комментарии

(0) Добавить комментарий