1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/hcxy-minesweeper

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Основы игры «Сапёр» на jQuery

Игра по ощущениям похожа на версию для Windows 7. Поддерживается возможность помечать мины правым кликом мыши, а также автоматическое разминирование при двойном клике. Стиль оформления можно настроить самостоятельно.

Пример использования

$(function(){
    var option = {
                area:'#area',// Идентификатор контейнера
                xnum:10,// Количество горизонтальных рядов
                ynum:10,// Количество вертикальных столбцов
                bnum:20,// Количество мин
                success:function(){// Функция обратного вызова при успешном завершении
                    alert('success');
                },
                fail:function(){// Функция обратного вызова при неудаче
                    alert('fail');
                }
            };
    var lei = new saolei(option);
    lei.init();
});

Реализация

Код содержит много комментариев, логика проста. Приглашаем всех к улучшению. Основная идея заключается в следующем:

  1. При первом клике пользователя начинается инициализация размещения мин и вычисление количества мин вокруг каждой точки. Текущая точка и окружающие её 8 точек исключаются из процесса генерации мин, чтобы избежать ситуации, когда пользователь сразу попадает на мину или число, что затрудняет дальнейшую игру.
  2. Если пользователь нажимает на мину, он проигрывает. Если же он нажимает на число, то это число раскрывается.
  3. Когда пользователь нажимает на пустую точку (то есть точку без мин), сначала раскрывается эта точка, затем последовательно проверяются окружающие 8 точек. Если точка уже раскрыта, она игнорируется. Если это неоткрытая числовая точка, она раскрывается. Если это нераскрытая пустая точка, выполняется рекурсивная операция нажатия на пустую точку до тех пор, пока не останется нераскрытых пустых точек.
  4. Если пользователь дважды щёлкает по числовой точке, сначала проверяется, совпадает ли количество отмеченных мин вокруг этой точки с количеством, записанным для этой точки. Если совпадает, раскрываются все нераскрытые точки вокруг. Если встречается пустая точка, повторяется операция нажатия на пустую точку.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/hcxy-minesweeper.git
git@api.gitlife.ru:oschina-mirror/hcxy-minesweeper.git
oschina-mirror
hcxy-minesweeper
hcxy-minesweeper
master