Сапер

Рекомендованный уровеньуровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (463)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Darya Hom
Уровень 4, Москва
undefined, 19:30
На первом шаге в первой строке прописать пакет: 1 package com.javarush.games; Иначе не работает.
Alex
Уровень 16, Нижний Новгород, Россия
13 июля, 14:54
В статье про раздел "Игры" написано, что для получения доступа к игре нужно нажать на кнопку "Написать свое решение", а где эта кнопка?
Rayan
Уровень 2, Россия
15 июля, 16:56
Ты уже нажал на неё
Alex
Уровень 16, Нижний Новгород, Россия
16 июля, 09:05
Нет, без нажатия кнопки открыла, из списка задач выбрала Java Games Quest». А у вас есть эта кнопка?
Rayan
Уровень 2, Россия
19 июля, 13:09
Есть, я нажал
REW ARD
Уровень 1, Минск, Беларусь
8 июля, 00:42
Для тех кто пишет в Web IDE и не может вывести значения через System используйте метод
Colors
showMessageDialog(Color bg, String, Color txt, fontSize)
showMessageDialog(Color.valueOf("BLACK"), "mines amo: " + getAmountMinesOnField(), Color.values()[6], 20);
The Cold One
Уровень 4
4 июля, 19:38
При проверке кода на выполненные задачи, все задачи помечаются знаком вопроса, независимо от того, выполнена она или же нет
Саша Бульба Кот в Деревне
1 июля, 23:45
моя вторая игра надеюсь получится крутяцко
Светлана
Уровень 2, Москва
1 июля, 02:35
я только перешла на 2 уровень, мне еще рано сюда. пойду пока поучу лекции, вырасту до 5 уровня и обязательно сюда вернусь писать эту прогу)) хи-хи)))
Саша Бульба Кот в Деревне
1 июля, 23:41
на 5 ты всё равно нечего не поймешь
katalog_2003
Уровень 3, Астрахань
16 июня, 18:57
Не пойму по чему здесь } result.add(gameField[y][x]); } Это не ошибка а IntelliJ IDEA ошибка кто нибудь сталкивался?
Mixer-X
Уровень 29, Санкт-Петербург
15 июня, 14:47
Почему я не могу тут ничего напечатать?
pokoynichek
Уровень 17
25 июня, 09:53
Здесь всё придётся писать практически с нуля самостоятельно. Для начала надо создать файл класса, в котором уже можно будет набирать код. В левом блоке, где открыто условие, надо перейти на вкладку "Дерево классов", щёлкнуть правой кнопкой мыши по папке Майнсвипер, создать класс, который от вас требует условие. Можно начинать писать код.
Anonymous #2680651
Уровень 0
11 июня, 15:56
зачем делать задачу которая прививает плохую практику? почему в третьем пункте мы делаем ПУБЛИЧНЫЕ ПОЛЯ в классе?) почему не соблюсти инкапсуляцию?
Anton
Уровень 11, Таллинн, Эстония
10 июня, 08:15
Подскажите пожалуйста, после решения первой задачи, запуск выдает ошибку "Error: JavaFX runtime components are missing, and are required to run this application". Что-то не так установил я?
Olha
Уровень 40
Moderator
10 июня, 15:44
Зайдите в раздел File -> Project Structure -> Project Settings -> Libraries. Там у Вас добавлена библиотека javaFX? Инструкция тут.
Anton
Уровень 11, Таллинн, Эстония
10 июня, 18:02
Вроде да. Инструкцию видел, но похоже уже запутался в настройках.
Olha
Уровень 40
Moderator
11 июня, 05:15
Обратитесь, пожалуйста, с этим вопросом и скринами на support@javarush.ru Будем разбираться💪
Anton
Уровень 11, Таллинн, Эстония
11 июня, 06:30
Обратился, спасибо.