Сапер

Рекомендованный уровеньуровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (602)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Юрист QA Engineer
25 июля, 15:51
С какого уровня хватает полученных знаний для того, чтобы писать игры?
Мясо
Уровень 17, Korea, Republic of
26 июля, 07:34
Ну по заявлениям разработчиков, написано на каждой игре. на какой-то написан 5й лвл, на какой-то 10й лвл
мм
Уровень 0, Japan
21 июля, 05:00
Дмитрий
Уровень 26, Russian Federation
19 июля, 14:11
Ну, тут наши полномочия всё.
overbf bf
Уровень 23, Москва, Russian Federation
19 июля, 05:39
overbf bf
Уровень 23, Москва, Russian Federation
19 июля, 05:39
бесит )
Nikolay F
Уровень 35, Тольятти, Россия
18 июля, 19:04
Подскажите почему в режиме Debug после запуска нажимаю на игровое поле и Idea зависает? когда останавливаю программу тогда IDEa начинает нормально работать???
Evgeny Lopatin
Уровень 20, Воронеж, Россия
16 июля, 17:17
Всем привет! Начал решать задачу по написанию игры сапер. Сделал первый шаг из шестнадцати( делал в IntelliJ iDEA, версия 2021.2). Нажал запуск - ошибка. Нажал проверить задачу - прошла валидацию. И теперь отображается в iDEA как решенная задача. Второй этап как можно теперь включить в iDEA? Кстати, на Javarush второй этап открывается.
Ivan Sevastianov
Уровень 23, Тула, Russian Federation
19 июля, 10:40
Попробуй статус в Intellij Idea поменять на "В прогрессе" или "Доступные". Я тоже не сразу понял что происходит...😂
Mark
Уровень 20, Russian Federation
14 июля, 15:50
пожалуйста, помогите, как запустить игру? говорят поле маленькое, а как мне на него посмотреть хочется увидеть , что я делаю
Фарид Гулиев
Уровень 41, Днепр, Украина
14 июля, 18:12
Если ты используешь IntelliJ iDEA, то открой класс в котором есть метод public static void main(String[] args) и нажми на Ctrl+Shift+F10
Victor Zav
Уровень 22, Fort Lauderdale
2 августа, 02:12
С JDK 1.8, в принципе все запускается // нужно только прописывать Lambdas, type annotations Ecли используется JDK 17 &18 нужно скачать JavaFX соответствующей архитектуры и правильно прописать поле VMoptions ... инструкции JavaRush немного устарели 😎
Victor Zav
Уровень 22, Fort Lauderdale
5 июля, 08:16
Игра сапер (6/16) И куда делось мое решение? Ну то есть совсем другое решение вылезло... Я тут ресурс экономлю, на каждый ряд по одной бомбе кидаю... новых переменных не объявляю... а тут тебе раз , и вся логика пошла вслед за кораблем... бомбы кидают в каждую ячейку, новые переменные... короче анархия... В моем понимании, если уж мы прошли этот... валидатор который... то незачем наше творчество в утиль отправлять... С таким подходом, у всех в результате одно и тоже будет... в общем Заказчик недоволен 🎃
Дмитрий Шпарута
Уровень 11, Одесса, Украина
24 июня, 14:20
не могу понять, как можно решить задачу по созданию игры на 5 уровне, если я на 8 и не было ни одной лекции об этом: как создавать окно, как работать с графикой?
26 июня, 20:42
Не можешь понять? Значит оставь игры пока не дойдёшь до 10 уровня - там всё прояснится. 😉 Игры открыты с 5 уровня "факультативно", для "вундеркиндов". 😀
Fruitella
Уровень 29, Тверь, Russian Federation
22 июня, 10:39
Я понял одно, если бы я прошел последний лвл в syntax (там очень подробно все о движке написано и много практики с ним), я бы не стал так мучаться с этой игрой. Читал комменты в обсуждениях и заходил в разделы помощь + гугл + спрашивал помощи у друга. Всего этого можно бы было избежать... Понятное дело уровень у всех разный, но для новичков нужно бы сделать сноску на сайте "Рекомендуется пройти полный модуль java syntax, прежде чем приступать писать мини игры".