Сапер

Рекомендованный уровеньУровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (369)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Bereginya 10 уровень, Москва
15 января, 22:15
Я вот что не понимаю. Программа запускается при наличии точки входа - метод main. Тут-то он где?
Сергей 20 уровень, Калининград
16 января, 15:01
А тут его и нет. Вместо него метод initialize.
Андрей Колесник 30 уровень, Харьков
10 января, 16:02
Может кто-то сталкивался с проблемой не возможности опубликовать игру? Прошел все задания, после немного улучшил ее, теперь при отправке на публикацию возникает ошибка "ошибка публикации приложения" и ниже "неизвестная ошибка". Буду благодарен за советы)
Алексей 22 уровень, Ivanovo
11 января, 08:23
у меня была такая же ошибка из-за того, что последний этап не отправил на проверку. Вводит в заблуждение фраза "игра написана", а на самом деле надо еще раз проверить.
Андрей Колесник 30 уровень, Харьков
11 января, 20:15
Спасибо за совет. Проверил еще раз, не помогает. Убил еще один день сверху на кастомизацию, а в итоге, эх
Олег Навроцкий 14 уровень, Одесса
8 января, 15:03
А как сделать проверку в интелидж айдеа?
Алексей 14 уровень, Москва
11 января, 17:40
Вот в популярных вопросах этот вопрос раскрывают https://javarush.ru/groups/posts/2052-razdel-igrih-na-javarush-chastjh-1-populjarnihe-voprosih
Evgeny Zakharov 0 уровень
5 января, 21:10
🤩 В сапёра будут играть еще не одно десятилетие. Поклонников в мире не так-то и мало. Могу посоветовать для игры сайт https://mines.zone/ru/ — красиво, современно, удобно + реализованы разные удобные фишки.
Milana 0 уровень
23 декабря 2020, 15:18
👁
Илья Соколов 22 уровень, Москва
16 декабря 2020, 11:17
Flag - "\u2691"
Андрей 22 уровень, Волгоград
13 декабря 2020, 14:34
4/16 --------------------------->X | | | | | Y new GameObject(j,i);
16go16go@gmail.com 8 уровень
28 ноября 2020, 17:05
Задание 4/16.... Вопрос, почему y, x а не x, y???
Сергей 20 уровень, Калининград
6 декабря 2020, 16:33
Свойство двумерного массива.
Sergey Kogut DevOps в Playtika
27 декабря 2020, 10:11
Можешь подробнее обьяснить? Или скинуть ссылку на статью?
Сергей 20 уровень, Калининград
27 декабря 2020, 15:16
Двумерный массив по сути - это массив массивов, то есть каждый элемент массива содержит в себе еще один массив. Когда мы пишем: array[index1][index2], то имеем ввиду, что каждый элемент [index1] массива содержит массив размера [index2]. В общем, если попробовать это нарисовать, то по оси Х у нас будут элементы внутреннего массива, а по оси Y - внешнего. То есть двумерный массив заполняется построчно, сначала значение координаты Y первым номером, потом - значение координаты Х. Поэтому в задачке этой все аналогично получается, ищем координаты, соответствующие вертикали, и ставим их первым номером. Вообще об этом хорошо написано у Шилдта в его книжке, можешь там глянуть, достаточно доступно описано.
Sergey Kogut DevOps в Playtika
27 декабря 2020, 19:20
спасибо большое, доходчиво + посмотрел на ютубе
Anonymous #2468619 0 уровень
22 ноября 2020, 15:06
Andron 22 уровень, Краснодар
18 ноября 2020, 13:40
Подскажите, а написание игр добавляет выполненные задачи? или только ачивку за написание всей игры?
Сергей 20 уровень, Калининград
20 ноября 2020, 15:12
Добавляет