Сапер

Рекомендованный уровеньУровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (180)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
ram097318 уровень, Набережные Челны
позавчера, 17:11
Как добавить кнопку закрытия?
Секлета22 уровень, Одесса
воскресенье, 18:53
Писала на Ubuntu 18.04, всю валидацию естествеенно прошла, но метод win() так и не срабатывает, и почему-то не видно поля с очками (в коде все прописано). Может кто сталкивался с такой проблемой? Да и сам "телевизор" почему-то странно расположен....
igor6 уровень, Львов
суббота, 15:07
у меня не получаеться
igor6 уровень, Львов
суббота, 15:07
как разделить поле
igor6 уровень, Львов
суббота, 15:06
спасибо
igor6 уровень, Львов
суббота, 14:50
как унаследовать клас
Сергей8 уровень, Киев
суббота, 14:58
Использовать ключевое слова extends, например public class MinesweeperGame extends Game - класс MinesweeperGame наследует класс Game
Илья Кинеев24 уровень
11 января, 07:34
Коллеги, добрый день! Сталкивались с ситуацией когда делаешь сброс игры что бы переписать "сапер", а на шестом этапе он загружает вместо нового кода прошлогодние мучения?
Anton Domashevskiy9 уровень, Mlawa
5 января, 20:37
кто сталкивался с ситуацией что Idea не видит импортируемый класс engine в браузере импорт import com.javarush.engine.cell.Game; работает нормально
Alex Yureech2 уровень, Москва
30 декабря 2019, 11:19
Не найден метод "setCellCollor(int,int,com.javarush.engine.cell.Color)" в классе "com.javarush.games.minesweeper.part04.MinesweeperGame". Всем привет! Это че? Валидатор ебанько включил?
IceBerg41 уровень, Кривой Рог
2 января, 11:55
При чём тут валидатор?
7 января, 17:11
Вы вместо setCellColor(int,int,com.javarush.engine.cell.Color) написали setCellCollor
Дмитрий13 уровень, Ровно
25 декабря 2019, 20:18
Хотел допилить жизни, подсмотрел в движке метод setLives (int). Но не могу воспользоваться, setLives (3) компилиться с ошибкой. Никто не пробовал особенностей его работы?