Сапер

Рекомендованный уровеньУровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (187)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
13 февраля, 13:20
ех
BariO16 уровень, Nizhniy Novgorod
9 февраля, 06:44
Error:(3, 8) java: cannot access javafx.application.Application
  class file for javafx.application.Application not found
про эту ошибку нашел описание в FAQ https://javarush.ru/groups/posts/2052-razdel-igrih-na-javarush-chastjh-1-populjarnihe-voprosih еще одна появилась
cannot resolve symbol 'Game'
и каждый раз просит скачать JavaRushTasks хотя тыщу раз он уже скачан... ошибка логина по секретному ключу затрахаула уже Ps. секретный ключ это не пароль. почему по дефолту он там прописан не ясно. заходим в настройки аккаунта на сайте JavaRush, там находим секретный ключ и копируем его вместо пароля
Maxim Bogdanov18 уровень, омск
4 февраля, 14:15
gameField[y][x] это принципиально???? XY это какбэ общепринято...
Тот кто в танке24 уровень, Ярославль
4 февраля, 14:50
я так и не понял что тут с координатами вытворяют... Буду сидеть разбираться потом.
Vladimir Galkov18 уровень, Самара
3 февраля, 13:01
неточность в описании задания метод "быть переопределен метод onMouseLeftClick" не указано, что метод должен быть напишите прямо - public. "неизвестная ошибка компиляции", когда модификатор default не соответствует уровню проходящих тест )) ну я полагаю так..
Владимир12 уровень, Днепр
30 января, 12:45
Саймон говорит - "Похоже, Я посчитал количество соседей-мин для ячейки, которая является миной, а этого делать не нужно."
ram097318 уровень, Набережные Челны
22 января, 20:44
Нашёл игру на libGDX, форкнул, работает
Секлета22 уровень, Одесса
19 января, 18:53
Писала на Ubuntu 18.04, всю валидацию естествеенно прошла, но метод win() так и не срабатывает, и почему-то не видно поля с очками (в коде все прописано). Может кто сталкивался с такой проблемой? Да и сам "телевизор" почему-то странно расположен....
igor7 уровень, Львов
18 января, 15:07
у меня не получаеться
igor7 уровень, Львов
18 января, 15:07
как разделить поле
igor7 уровень, Львов
18 января, 15:06
спасибо