Сапер

Рекомендованный уровеньуровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (640)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Максим
Уровень 21
14 ноября, 13:59
Заходите посмотреть на мою версию игры Сапёр . Будет приятно ваше мнение
EmilyKlard
Уровень 37
4 ноября, 09:24
Не могу обновить условие в IDEA, как это сделать?
Fermi Arch
Уровень 23
1 ноября, 15:32
поправил, где то x y обращался в gameField вообще лучше напрямую не давать менять данные (isFlag, isOpen и прочие значения) даже обращаться к значению ячейки через getGameField(x,y) чтобы только в одном этом методе и переставлять значения местами завтра он станет трехмерным к примеру (не к задаче сапера а другое) и че каждый раз переписывать?? лучше не прививать сразу плохую практику обращения к полям напрямую setOpen, isOpened и подобные этому методы написать и запретить напрямую менять GameObject
Fermi Arch
Уровень 23
31 октября, 16:57
Прошла все валидации но кажется логика открытия следующих пустых клеток не правильно работает некоторые клетки не помечаются числами что рядом мина странно, а валидацию проходит
28 октября, 21:17
Моя версия Сапёра Буду благодарна, если заглянете и поиграете :)
Иван
Уровень 4
21 октября, 21:05
Не могу запустить код в IntelliJ Idea, вообще никак не могу. Пишет постоянно JavaFX runtime components are missing, and are required to run this application, кто с таким сталкивался? Как это решить?
Dmitry Yankovich
Уровень 15
Expert
27 октября, 13:03
Тебе нужно добавить run configuration Заходим в Intellij Idea -> Run ->Edit Configuration -> справа синим написано modify option -> жмем туда, там - add VM option появится дополнительная строка vm option, туда вписываем строчку --module-path "здесь должен быть твой путь к javafx-sdk-18.0.2\lib" --add-modules javafx.controls,javafx.fxml
3 ноября, 15:36
ДРУЖЕ хэлп, я не вижу варианта "-> справа синим написано modify option ->" (см. скриншот)
Oleg Ganchev
Уровень 17
2 октября, 10:23
Кто под Linux работает - подскажите как сделать, что бы отображались UTF16 символы при запуске игры локально из IDEA ? На сайте запускаю - все красиво, а локально запускаю - пустые ячейки. Цифры отображаются, а бомба и флаг - нет.
Oleg Ganchev
Уровень 17
1 октября, 20:43
Валидатор зло!!! Задолбался подгонять ответ и тупо скопировал "правильное решение". Получил "Задача не прошла тестирование" ))))
Иван
Уровень 24
16 октября, 08:54
У меня тоже бывает такое.
pichitap
Уровень 30
21 сентября, 13:21
После нескольких открытий Условия в Intelijj IDEA оно перестает открываться, подскажите как исправить?
Oleg Ganchev
Уровень 17
1 октября, 20:41
Если "перестает открываться" - это перестает отображаться при переключении во вкладку, то закрыть вкладку с условием и открыть ее повторно двойным щелчком на дереве файлов проекта.
pichitap
Уровень 30
2 октября, 08:33
К сожалению, это костыль, а не решение проблемы. Но да, так я и делаю.
Benjam1nBTN
Уровень 20
22 октября, 19:28
Не знаю в чем истинная причина, но у меня на стационарном ПК также постоянно такая проблема, а на ноуте всегда все ОК - видимо все зависит от конфигурации или отдельного элемента конфигурации, например жесткого диска/оперативы. П.С. Если что, ноут - huawei matebook 13, а комп на старом ssd и оперативе 1666 Мгц, и проц тоже старый i7
John Wick
Уровень 13
9 сентября, 11:41
как запустить в IntelijIDEA?
Зепп Бранниган Admin в JavaRush Moderator
17 сентября, 12:25
Открой класс в котором есть метод public static void main(String[] args) и нажми на Ctrl+Shift+F10
John Wick
Уровень 13
17 сентября, 14:40
cannot access javafx.application.Application class file for javafx.application.Application not found UPD: Долго с бубном танцевал, скачал и установил последний JFX, и конфигурации как только не настраивал а все равно не работало, решил просто создать новый JavaFX проект проверить работает ли у меня JFX вообще, все работало, после чего из этого же проекта открыл JavaRushTasks, и вдруг все заработало само собой... В общем сам не понял как настроил но теперь вроде бы работает.
Mary Grimm
Уровень 35
16 октября, 07:47
у меня такая же проблема((