projects / games / minesweeper-js

Реализация "Сапера" на чистом JS

Автор: Mikhail Germov Обновлено: 2 дня назад Vanilla JS GameDev

Всем привет! 👋

Давно хотел попробовать написать классического "Сапера", не используя React, Vue или канвас. Просто старый добрый DOM и JavaScript. Задача была сделать максимально похоже на версию из Windows 95/XP, в которую мы все залипали в школе на информатике.

Код пока сыроват, логику рекурсивного открытия пустых клеток (flood fill) пришлось переписывать трижды, чтобы не вешать браузер. Но вроде работает стабильно.

🎮 Сыграно партий: 0 🏆 Побед: 0
010
🙂
000

ЛКМ - открыть, ПКМ - флаг. Первый клик всегда безопасный.

📜 История изменений (Changelog)

v1.2.2 (Сегодня)

  • Добавил сохранение статистики (Local Storage) и счетчик посещений.

v1.2.1 (Вчера)

  • Фикс бага: первый клик больше не может быть миной (карта генерируется после первого нажатия).
  • Добавил таймер (пока считает до 999).

v1.1.0 (01.12.2025)

  • Добавлена поддержка правого клика для установки флагов.
  • Изменил цвета цифр, чтобы были как в оригинале (1-синий, 2-зеленый и т.д.).

🛠 Что в планах (ToDo):

Если нашли баг — пишите в личку или открывайте ишью на Гитхабе.

Если код был полезен, буду рад поддержке:

Адрес TON скопирован в буфер!