Диабло (2)

  • 7
  • Недоступна
Амиго! Похоже нам таки удалось взломать эту систему. Галаксианские демоны не наша цель. Мы подключимся прямо в центр их системы и сразимся с самим Диабло!
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (10)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Mr.Kirya
Уровень 35
25 декабря 2022, 12:05
public static int amigoLives = 9;
    public static int diabloLives = 9;
// Присваиваем значение согласно условию двум переменным вне метода main, чтобы к ним был доступ из любого метода

    public static void main(String[] args) {
        diabloPosition = getRandomNumber(4);
        findDiablo();
    }
    public static void findDiablo(){
        System.out.println(getFirstPositionPhrase);
        Scanner console = new Scanner(System.in);
        while (true) {
            int position = console.nextInt(); // Тут мы считаем числа с клавиатуры из прошлой задачи
            if (position == diabloPosition) {
                System.out.println(findDiabloPhrase);
                break;
            } else {
                System.out.println(getPositionPhrase);
            }
        }
    }

    public static int getRandomNumber(int range) {
        return (int) (Math.random() * range) + 1; // Тут метод рандом выдает рандомное число из нашего рэнжа - рэнж мы указываем по средствам метода getRandomNumber
//Получается рандомное число от 0 до range ( Пример : 0 до 3 не включая 3), а нам нужно 4
//Для этого после выражение добавляем единичку
    }
    public static void amigoLostLife(){
// А вот тут по условию дописываем новые методы, где амиго и диабло теряют жизни
        amigoLives = amigoLives - 1;
    }
    public static void diabloLostLife(){
        diabloLives = diabloLives - 3;
    }
    public static int amigoAttacks(){
        return getRandomNumber(3);
    }
    public static int diabloDefends(){
        return getRandomNumber(3);
    }
pr0xy
Уровень 15
30 ноября 2022, 05:47
Объявил diabloLives и amigoLives перечислением через запятую, т.к. у них одинаковый тип и значения - программа защитала ошибку. То же самое было с декрементом amigoLives-- в методе amigoLostLife() - стоило поменять -- на -1 и проверка была пройдена
consant_menace
Уровень 16
31 августа 2022, 08:16
Почему методы с жизнями int, а методы с атаками - void? Понятно, что int возвращает, а void - нет. (Можно не советовать прочитать предыдущие лекции, всё равно непонятно).
LukasKeyn
Уровень 37
1 ноября 2022, 16:34
я тоже с этим косякнул, везде пишу void
Ivan Kisel
Уровень 18
29 ноября 2022, 15:02
"Понятно, что int возвращает, а void - нет." вы же сами ответили на свой вопрос)) метод с жизнями ничего не возвращает, когда мы используем этот метод, он меняет нашу переменную, мы не можем результат этого метода присвоить к переменной. А метод с атаками, когда мы его вызываем, возвращает конкретное значение и это значение можно присвоить к какой-нибудь переменной.
Katsuki Bakugou
Уровень 41
9 июня 2022, 17:09
В общем будьте внимательны, ребята. У меня не пропускал проверку из-за того, что я написал amigoAttacks(int x) и diabloDefends(int y) вместо amigoAttacks() и diabloDefends() при объявлении метода. Не мог понять сначала, что ему надо от меня.
SM-2084
Уровень 14
10 августа 2022, 11:36
Спасибо! Помогло!
Kuuzev
Уровень 10
21 апреля 2022, 13:14
все сделал, но мало из этого понял
Senya
Уровень 3
29 марта 2022, 16:13
Как то слишком просто. В предыдущих уроках нужно было думать, а тут разжевывают каждый шаг.
Firegears
Уровень 11
8 июня 2022, 15:28
Что за народ! Плохо объясняют, плохо! Объяснили подробно, тоже плохо! Авторы молодцы! Интересная задача. А вас понимаю, сам делал и все ждал подвоха 😬