Взлом замков в Gothic 1 Remake
Решил на днях пройти Gothic 1 Remake. Ностальгия, всё такое. И тут я наткнулся на местную систему взлома замков.
Выглядит это примерно так: перед тобой несколько пластин с отверстиями, их надо двигать влево-вправо, чтобы штифты встали в центр. Вроде ничего сложного, но есть нюанс: некоторые пластины связаны между собой и двигаются одновременно. Начинаешь двигать одну - сдвигаются две другие, и вся комбинация летит к чертям. А если ошибешься больше двух раз - отмычка ломается, и всё по новой. А без навыка взлома, покупка новых отмычек может бить по корману.
И вот я сижу, пялюсь в очередной сундук, пытаюсь методом тыка понять, какая пластина с какой связана. Сундуков в игре - дофигища, у каждого своя головоломка.
И тут я подумал: а почему бы не сделать программу, которая будет решать эту головоломку за меня?
Оказалось, что задача сводится к системе линейных уравнений. Каждая пластина - это переменная, связи между ними задают коэффициенты, а положение штифтов - это правая часть.
Решаешь методом Гаусса и получаешь идеальную последовательность ходов. Вводишь текущие позиции пластин, правила связей - и готово.
Пока что это просто прототип для личного пользования, но я выложил его на GitHub.
Если кому интересно - можно скачать и попробовать:
Там же лежит исполняемый файл для Windows, ничего устанавливать не нужно.
Приложение не подписано сертификатом - это платная штука для компаний и разработчиков. Поэтому Windows при первом открытии будет ругаться.





