Вот он, интерфейс этой замечательной игры:

image

Все его прекрасно знают. К слову сказать, это скриншот русской версии minesweeper из Windows 2000. До недавнего времени я бы не отличил его от других версий, но сейчас, по паре признаков, можно точно сказать, что это именно версия 5.0. Об отличительных признаках позже.

Преамбула.

Многие играли в minesweeper. Добивались определенных результатов. Кому-то этих результатов становилось мало, и начинались долгие попытки улучшить результат. Можно было перезапустить игру после первого же хода, поняв, что мины разбросаны «некрасиво». Можно было использовать чит в версиях 5.0 и 5.1 (Windows 2000 и XP соответственно) – запустить игру, нажать x y z z y enter enter shift и следить за пикселем монитора с координатами (0, 0) (верхним левым), а можно было воспользоваться популярной программой для редактирования памяти ArtMoney. С этого всё и началось.

Перепробовав искать всё, что только можно, в ArtMoney была обнаружена возможность просмотра и изменения памяти. Открыв редактор сперва ничего интересно не было, но слегка удалившись от области начальных значении обнаружилось весьма интересное место. В версии 5.0 место начинается с адреса 0x01005700, в 5.1 0x01005340 и имеет размер 27 на 32 байт.

image

И первым же делом я проверил то, что я, думаю, многим не давало покоя. Можно ли подорваться на мине с первого хода. Нет, нельзя! Это можно сделать только в версиях игры для Game Boy Color

imageimage

И в версиях 6.0 и 7.0 если нажать кнопку играть эту же игру заново. Во всех версиях minesweeper для Microsoft Windows ��плоть до XP подорваться первым ходом нельзя.

Если первым ходом вы попадаете на мину, то мина перемещается в верхний левый угол поля. Если вы нажали на мину верхнем левом углу, то мина «отскочит» вправо, то есть появится в клетке с координатами (1, 0), так же будет, если мина уже есть в (0, 0).

Также через память можно изменить размеры поля. Это можно сделать из режима «Custom», но в данном режиме есть ограничения. Нельзя поставить поле меньше чем 8 на 8 и больше чем 24 на 30. Если вверх особо поле не поувеличиваешь (можно сделать 25 на 30), то вот вниз совсем наоборот. Можно сделать поле 4 на 4 и поставить 5 мин.

image

Интерфейс не рассчитан на такие размеры.

Теперь, когда известно местоположение минного поля в памяти игра может открыть новые возможности, начиная от добавления в игру save/load для прохождения одного и того же поля разными людьми, до использования minesweeper в качестве индикатора размерами 25 на 30 пикселей. Тетрис, змейка или арканойд на minesweeper как пример.

Теперь некоторые вещи, замеченные в процессе работы с minesweeper.

Игра появилась в Windows 3.1 для рабочих групп. Иконка игры не изменялась в версиях NT 3.1, 4 и 5, но почему-то изменилась в 95, 98 и ME

imageimage

Начиная с 95го и заканчивая me была изменена графика. В Chicago графика ещё не изменилась. Черно-белая версия не изменялась.

image

Окно best times тоже претерпело пару изменений:

image

Кстати, если в английской версии пункт меню всегда был «Best times…», то в русской до me были «Победители…», а с 2000 стали «Чемпионы…».

Начиная с версии 5.0 в игре появились звуковые эффекты, а также, по непонятным причинам, поле в режиме «Beginner» стало 9 на 9, а не 8 на 8.
image

Если кто-то не имел повода запустить сапёр, теперь он у вас есть.

P.S. Создатель движка Build для игры Duke Nukem 3d Кен Сильверман в свое время написал бота для minesweeper.

UPD:
Руки дошли до змейки

UPD2:
Руки дошли до тетриса