Сапер

Рекомендованный уровеньУровень
5+
Лет 10 назад в народе ходила примета: если офисный сотрудник чересчур сосредоточенно смотрит в экран и столь же сосредоточенно периодически кликает мышкой, скорее всего, там открыта игра «Сапер». Напомним тем, кто уже забыл, и расскажем другим, кто в силу возраста эту эпоху пропустил: «Сапер» — одна из самых популярных офисных игр, которая поставлялась вместе с Microsoft Windows. И даже сегодня, если вы сидите за компьютером с операционной системой этого семейства, то «Сапер» либо уже там установлен (просто наберите в поиске ОС слово «Сапер» или «Minesweeper»), либо его можно загрузить бесплатно из Microsoft Store. Многие Linux-сборки, например KDE и GNOME, также обзавелись похожими играми. В отличие от большинства других «убивалок времени», в этой игре отлично соблюдён баланс ходов логических и ходов наудачу, что делает «Сапера» одновременно очень увлекательной и… чуть-чуть менее бессмысленной, чем другие игры этого класса. Итак, у нас есть поле, разделённое на квадраты. Какие-то из них «заминированы», но сколько таковых и где они, мы не в курсе. Наша цель — открыть все незаминированные квадраты и не подорваться. Вы открываете квадрат левой кнопкой мыши, и если под ней мины нет, то появится число, означающее количество мин, расположенных по соседству с открытой ячейкой. Теперь нужно немного посчитать и предположить, какие ячейки можно открывать, а какие следует пометить, как заминированные. И так до победы или подрыва. В Windows разработчики встроили эту игрушку для того, чтобы люди учились управляться с мышкой (да, были времена, когда у компьютера её не было, приходилось довольствоваться только клавиатурой). Но на самом деле история «Сапера» ещё более древняя, чем история Microsoft, и её предки были доступны ещё на мейнфреймах в шестидесятых годах прошлого столетия… Впрочем, речь сейчас не об этом, а о том, чтобы создать собственную версию «Сапера»! Правила у нашей «головоломки с риском» будут точь-в-точь такими, как описано выше. Мы на JavaRush уже разделили эту непростую задачу на подзадачи и будем подсказывать вам, что делать. Дерзайте.
Комментарии (327)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
вчера, 16:28
А чего здесь валидатор, пьяный, что-ли? Один и тот же текст программы - то ошибки, то нормально все????!!!
20 сентября, 12:53
Я возможно что-то не понимаю но у меня в программе не находит папку engine в папке javarush я даже порылся в соответствующем плагине в папках и ее там нет Я в недоумении, из-за этого протестировать программу у меня нет никакой возможности и это весьма отвратно
Alukard24 уровень, London
20 сентября, 16:29
Тут по умолчанию должно быть. Если нету попробуй перекачать плагин JR
среда, 18:23
спасибо нашел там архив распаковать надо было
Alukard24 уровень, London
среда, 18:37
Удачи в игростроении)
Alukard24 уровень, London
20 сентября, 00:12
На сегодняшний день 1973 человека осилили.
Ксенія Mario23 уровень, Киев
четверг, 09:13
а ты стал 1973м?
Alukard24 уровень, London
четверг, 09:38
Я всегда буду первым, Ксю😉
Ксенія Mario23 уровень, Киев
четверг, 10:33
а можно редактировать игру после решения и до публикации?
Alukard24 уровень, London
четверг, 11:17
можно. и после публикации можно. только ее потом заного надо будет опубликовать так как она слетит вроде
Андрей18 уровень, Москва
3 сентября, 22:19
На 11 уровне таки нашёл время на эту задачу, правда делал три недели)) Давно не играл в "Сапёр"
Даня17 уровень, Москва
12 сентября, 14:14
Поздравляю! А я прошёл за 1 день :D. И у меня 17 уровень!
Андрей18 уровень, Москва
12 сентября, 19:51
А у меня супруга, сын, работа, друзья и очень много с этим связанного))) Ну и пять книг по Java и лямбдам, ещё два ресурса по изучению Java, ещё один ресурс по задачам, прочие источники для углублённого изучения каждого аспекта Java, тк цель сертификация Oracle. Ах да, английский язык ещё. Поэтому 12 частей сапёра я сделал [тоже одним днём] спустя три недели, как сделал первые 4. Ну и твоя "скорострельность" показатель ровно ничего))) Если только того, что жизнь у тебя очень скучна и однообразна(((( P.S. Давай 41 уровень до конца месяца, а то моё «LoL» скучает))) P.P.S. С праздником! :)
Евгений9 уровень, Гомель
13 сентября, 20:49
На каких ресурсах еще сидите? Скиньте ссылки, если не затруднит. Тоже работа, командировки, английский...
Андрей18 уровень, Москва
14 сентября, 06:36
Да нет проблем! • Задачи по Java (и другим ЯП): https://www.codewars.com/ ♦ Курсы по языку. Есть бесплатные, преимущественно, а есть относительно недорогие. Группирую по авторам: • Наиль Алишев - Java для начинающих (бесплатно): https://www.youtube.com/playlist?list=PLAma_mKffTOSUkXp26rgdnC0PicnmnDak • [Udemy] [Наиль Алишев] Продвинутая Java [Продолжение "Java для начинающих"] (сейчас скидос там, но по кодовому слову "Жыве Беларусь!" могу залить [персонально] в облако курс бесплатно): https://www.udemy.com/course/javarussia/ • Наиль Алишев - Алгоритмы и Структуры Данных (бесплатно): https://www.youtube.com/playlist?list=PLAma_mKffTOT_qpTFv4KdD9DhOAUd5Rqy ► На будущее рекомендую добавить в закладки его же плейлисты: • Наиль Алишев - Java EE для начинающих (плейлист "закрыт" автором для продолжения, но стоит изучения); • Наиль Алишев - Spring Framework (плейлист дополняется по мере выхода нового видео, так что подпись и колокольчик на канал). • Тагир Валеев - Программирование на Java, весна 2020 (бесплатно): https://www.youtube.com/playlist?list=PLlb7e2G7aSpRZSRZxANkvpYC82BXUzCTY • Вячеслав Ковалевский [https://www.linkedin.com/in/b0noi/] - Коротко о Лямбды в Java https://www.youtube.com/playlist?list=PLsQAG1V_t58AtL-YgeVxXQnLaMT0qmj0x • Сергей Архипов - Java. Алгоритмы: https://www.youtube.com/playlist?list=PL5BhKu-LkR_0mDGftRWeaakqGuYE1ToGG • Сергей Архипов - Java. Сортировки: https://www.youtube.com/playlist?list=PL5BhKu-LkR_0WWLJMqc5LLkJtvUADW_Gv • Всякое: https://www.youtube.com/c/letsCodeDru/playlists • Немного по Docker на будущее: https://www.youtube.com/playlist?list=PLD5U-C5KK50XMCBkY0U-NLzglcRHzOwAg • Слёрм - Вечерняя школа Слёрма по Kubernetes: https://www.youtube.com/playlist?list=PL8D2P0ruohOA4Y9LQoTttfSgsRwUGWpu6
Андрей18 уровень, Москва
14 сентября, 07:04
Литература у меня следующая: ♦ В бумажном виде: • Роберт Мартин: Чистый код. Создание, анализ и рефакторинг (читаю и уже некоторые вещи применяю даже при решении задач на JavaRush): https://www.labirint.ru/books/642466/ • Роберт Мартин: Идеальный программист. Как стать профессионалом разработки ПО (логическое продолжение "Чистый код", пока ждёт): https://www.labirint.ru/books/643363/ • Ричард Уорбэртон: Лямбда-выражения в Java 8. Функциональное программирование - в массы (пока нет того набора знаний, которые позволят начать изучать книгу. Рекомендую ознакомиться с оглавлением, чтобы понять, что книга стоящая): https://www.labirint.ru/books/442834/ ♦ В читалке на смартфоне: • Герберт Шилдт: Java. Полное руководство. 10-е издание (читаю сейчас): https://www.labirint.ru/books/660316/ • Роберт Лафоре: Структуры данных и алгоритмы Java (Начну после 20+ уровня) • Александр Швец: Погружение в Паттерны Проектирования (Только скачал, начинаю читать): https://ru.bookmate.com/books/YFQHAT01 • Себастьян Дашнер: Изучаем Java EE. Современное программирование для больших предприятий (на будущее): https://www.labirint.ru/books/651967/ • Шефер, Харроп, Козмина: Spring 5 для профессионалов ( на будущее): https://www.labirint.ru/books/681059/ • Бауэр, Кинг, Грегори: Java Persistence API и Hibernate ( на будущее): https://www.labirint.ru/books/659623/ • Лонг, Бастани: Java в облаке. Spring Boot, Spring Cloud, Cloud Foundry (на будущее, не лучший перевод правда): https://www.labirint.ru/books/658776/
Андрей18 уровень, Москва
14 сентября, 07:05
С английским пока "шатание" и выработка привычки учить регулярно, но программу себе не выработал пока, конкретного источника нет.
JavaDoc9 уровень
17 сентября, 19:56
Серьезный подход. Шилдт — это осознанный выбор, что не для начинающих, а полное руководство? Как заходит? И почему не Хортсман, например?
Андрей18 уровень, Москва
17 сентября, 20:19
Да, "Полное руководство" вполне осознанный подход. Light версию не стал рассматривать по нескольким причинам: 1. Достаточно подробную информацию всё равно приходится "догугливать", а уж сжатую тем более; 2. Не спешу быстрее освоить по верхам, а вникаю в тему максимально с подробностями (потому план по уровням на том же JavaRush до 41 ставлю 8-10 месяцев); 3. Рабочее пособие на годы вперёд, которое только лишь со временем из цифры в переплёт конвертирую. Лучше сразу привыкать к своему помощнику в обозримом будущем. Про Хортсмана ничего не слышал, увы. Ничего не могу сказать, да и пока только цифровых копий более, чем достаточно на долгие месяцы :) Если интересна моя полная [на текущий момент] коллекция электронных книг, то с ней можно ознакомиться по ссылке. Не все из них открывал и вообще открою ли на фоне прочих вообще.
Gusyara20 уровень, Москва
22 сентября, 20:19
кек. и всё равно вам не победить меня в номинации - "запилил сапёра максимально быстро" начал его выполнять ещё на открытом бета тесте игр, волею судеб забросил на полгода. вернулся, забыл почему так сделал, начал с нуля, дошёл до 6 части. отвлёкся на полгода. и вот вернулся на прошлой неделе и таки сделал за 2 захода. итого около 1.5 лет точно вышло :D за это время успел позаниматься с ментором, отучиться на ознакомительном курсе по JAVA EE, поделать месяцок автотесты на геркине, побыть нагрузочником и тимлидом. Попилить годик deops трубы и cdl практики и придти к мысле, что не за тем погнался и не туда это всё привело... а... а JAVA всё это время в стороночке сидела и плакала оплаченная по полному фаршу на год) и вот снова здесь... правда сдаётся мне, что на историю успеха это не претендует.
Андрей18 уровень, Москва
22 сентября, 20:25
Огонь! Это успех претендует на историю! :)
Yuliya Raspopina26 уровень, Санкт-Петербург
30 августа, 18:15
Сделала игру до конца, валик принял, а в отображении игры ошибка, не показывает правильно число мин.
Yuliya Raspopina26 уровень, Санкт-Петербург
30 августа, 16:36
Можно было бы дописать в условии setCellValue(x, y, "") - это значит, //не должен ничего выводить. Как это можно угадать? Если и без этого поле пустое!!!
Yuliya Raspopina26 уровень, Санкт-Петербург
30 августа, 15:17
В вызове массива первая координата y, вторая х, а в вызывемых методах первая координада x, а потом y.
NEURO MANT16 уровень, Белая Церковь
24 августа, 20:34
У меня у одного не отображается score если играть в браузере?
Дмитрий Морозов1 уровень, Санкт-Петербург
17 августа, 09:55
Я то думал игру сам пишешь, а тут оказывается фреймворк за тебя написан.
Николай Тараданов20 уровень, Новосибирск
15 августа, 06:37
Итого 6 часов. Два часа на бойню с установкой FX. Час на обед, полчаса на играние игры, полчаса на борьбу с валидатором. Итого кодинга на два часа)))). Было чертовски интересно.