Pull to refresh

Памяти Minesweeper

Reading time 2 min
Views 15K
Вот он, интерфейс этой замечательной игры:

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:
Руки дошли до тетриса
Tags:
Hubs:
+127
Comments 118
Comments Comments 118

Articles