Сапер

Рекомендованный уровеньУровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (88)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
вчера, 16:32
Тестируйте игру на правильность после каждого шага, валик пропустит, и не узнаете где что не так.
Vova0 уровень
16 апреля, 13:58
[f
Victor Shumsky14 уровень, Hanoi
3 апреля, 10:06
Error:(5, 8) java: cannot access javafx.application.Application class file for javafx.application.Application not found как решить, написал код правильно. Откуда взять этот файл?
Владлен19 уровень, Санкт-Петербург
26 марта, 09:24
Как запустить программу в этом плагине ???
Azamat Mirrahimov22 уровень
22 марта, 11:02
У меня не пропускает IntelliJ при проверки неизвестная ошибка, другие задачи проходят на ура
Евгений20 уровень, Днепр
21 марта, 07:55
Сделал все задания, опубликовал игру, но что-то пошло не так. :) Посмотрите, пожалуйста. https://javarush.ru/projects/apps/12325. P. S. Игровой движок на сайте и на десктопе ведет себя по-разному. Попытался в утилитарных целях использовать ArrayIndexOutOfBoundsException, чтоб не делать кучу проверок на выход за границы, на десктопе работает, на сайте – нет. Блок catch не выполняется никогда. Не то перехватил кто-то мое исключение, не то исключение выпадает другое, не понятно. Имейте в виду.
19 марта, 12:38
Плохо, что в веб-интерфейсе нельзя посмотреть результат выполнения кода.
Иван Сапронов27 уровень
15 марта, 08:39
Друзья, подскажите пожалуйста, что нужно сделать чтобы константы String MINE = "\uD83D\uDCA3" и String FLAG = "\uD83D\uDEA9" отображались на игровом поле корректно. Сейчас у меня вместо них одинаковые квадратики. P.S. пробовал менять кодировку в IntelliJ IDEA ("кнопка" в правом нижнем углу) с UTF-8 (по умолчанию) на UTF-16 - ожидаемо получил кракозябры вместо текста кода...
Евгений Карапышев (KarapetEV)10 уровень, Москва
13 февраля, 21:58
Я может чего-то не понял, но почему в IDEA при запуске даже первых подзадач открывается не окно с сеткой, а вот это:
Серёга24 уровень
15 февраля, 10:23
По идее внутри этой хрени и должна сетка отображаться. Ты эту шляпу прописывал? setScreenSize(SIDE, SIDE);
Евгений Карапышев (KarapetEV)10 уровень, Москва
15 февраля, 11:59
Это уже проявилось на 3й задаче. Просто смутило то, что эта хрень только в IDEA себя проявила.
notanord20 уровень, Минск
10 февраля, 17:52
залил задачу на сайт, добавил функционала, публикую еще раз задачу, она не обновляется. Обновить задачу на сайте уже нельзя после загрузки?
Василий36 уровень
12 марта, 12:14
В IDEA последнюю пересдать и опубликовать, тогда будет опубликована обновлённая.