тож решил попрактиковаться на тему "кодового замкА"))
вот сырой вариант замка, пока видна только идея, автосброс(ы) доделаю позже, и буду редактировать это сообщение...
основная идея - а почему бы не позволить пользователю нажимать не только 1, а ещё сразу 2 (или даже все 3) кнопки?
код записывается в обратном порядке, в восьмеричном виде. максимальна длина - 10 "знаков"
(в калькуляторе, в Винде делаем восьмеричное "представление", набиваем код начиная с последних цифр, переводим в десятичный вид и записываем в соответствующею константу)
для примера, в схеме сделан код аналогичный процитированному сообщению
(для удобства, комментарий константы - это восьмеричное её представление)
----------------- Обновлено -------------------
добавил автосбросы:
1) если ничего не нажимать 10сек, замок переходит в исходное состояние
2) вводить код можно только 30 сек, потом замок блокируется пока не будет 10ти секундной паузы (см. п.1) после последнего нажатия
т.е. если постоянно давить кнопки - замок из этого состояния не выйдет... (защита от "нетерпеливых" переборщиков)
3) через 2 сек. замок откроется, и будет открыт только 10 сек.
4) если в течении этого (п.3) времени нажать какую-нибудь кнопку, то замок заблокируется снова
(защита от переборщиков - если нажал кнопку в течении 1ых 2х сек., то переборщик даже и не узнает что подобрал код,
а если после - то надо ещё вспомнить, что там было набрано до этого!)