Игра сапер (15/16)

  • 3
  • Недоступна
Как известно, настоящий сапер ошибается только один раз. Но, к счастью, у нас есть право на ошибку, и даже не одну. Давай реализуем механизм рестарта игры. Для этого создадим метод restart(), в котором будем запускать игру, сбрасывать в исходное состояние количество закрытых ячеек, мин на поле и
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (10)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
zyto16 уровень, Москва
6 марта, 19:18
А почему переменные очищаются в методе restart а не в каком-нибудь initialize() или createGame()? Так бы мы в restart просто написали бы createGame и всё встало в дефолтные значения... зачем дублировать?
Denis23 уровень
17 февраля, 13:17
Почему-то если в методе restart() писать так :
this.isGameStopped = false;
то валидатор говорит: Присваивание значения false полю isGameStopped должно происходить в методе restart(). А корректно будет только без this.
16 июля, 10:58
Благодарю.
Алексей Горяйнов20 уровень, Москва
8 января, 13:21
на 8 и на 11 яве (с добавленой fx) после перезапуска игры перестает перерисовываться поле. Значения корректные, игра идет своим чередом, можно проиграть или выиграть, даже валидатор задачу принял, но чтото явно не так ( проект перезагружал, яву обновлял. подскажите с чем может быть связано? код на всякий случай, хотя имхо не в нем дело.
private void createGame() {
        setScreenSize(SIDE, SIDE);
        boolean flag;
        for (int y = 0; y < gameField.length; y++) {
            for (int x = 0; x < gameField[y].length; x++) {
                //установка мин
            }
        }
        countMineNeighbors();
        countFlags = countMinesOnField;
    }
upd. Спасибо Дмитрий Соснин. setScreenSize(SIDE, SIDE) должен вызываться в методе инит.
Andrey Mateyko15 уровень, Киев
3 января, 12:11
Исправте пожалуйста последний пункт валидатора, помоему он звучит некоректно! "Метод onMouseLeftClick(int, int) должен вызывать метод restart() и ничего не делать, если игра остановлена."
Ilya4 уровень, Минск
8 января, 21:23
В задании подразумевается что нужно вызов метода restart() и остальное содержимое метод onMouseLeftClick(int, int) разделить условиями.
27 декабря 2018, 00:58
возможно стоит в "рекомендациях ментора" где-то указать что-то вроде в методе restart не должно быть циклов
Ilya4 уровень, Минск
8 января, 21:20
Что-то не в одном пункте из требований задания не нашел даже намека на циклы в методе restart().
27 декабря 2018, 00:46
не знаю на предмет верности валидации, но если у вас в методе рестарт будет цикл то валидатор несет такую пургу что уши вянут. возможно я один такой кто встал на эти грабли, но мне сказали буквально следующее: Поле countFlags в restart должно обнуляться поэтому убери циклы оттуда. И требование "Метод restart() должен вызывать метод createGame()." читай как: "Метод restart() должен вызывать метод createGame() после установки исходных значений полей countClosedTiles, score и countMinesOnField." (в будущем это поправим) И только после этого задача решилась
Игорь40 уровень, Киев
2 декабря 2018, 14:34
Пункт "Метод onMouseLeftClick(int, int) должен вызывать метод restart() и ничего не делать, если игра остановлена." Должен звучать примерно так: "Метод onMouseLeftClick(int, int) должен вызывать метод restart() если игра остановлена и открывать ячейку если не остановлена ." Сама валидация при этом верная.