Задачу сделала, валидацию прошла без проблем. Заходила дебаггером смотрела - реально переменная, отвечающая за счет меняет свое значение после "съедания" яблока. Но на экране счет "0" не зависимо от того что делаешь на игровом поле. Что не так и как это исправить?
Юлия
32 уровень
счет не меняется
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Кек
28 ноября 2023, 16:09
Прикрепите код
0
Юлия
28 ноября 2023, 16:18
...
0
Юлия
28 ноября 2023, 16:18
0
Юлия
28 ноября 2023, 16:18
к задаче не дает прикрепить - нельзя публиковать правильные решения
0
Кек
28 ноября 2023, 16:31
@Override
public void setScore(int score) {
this.score = score;
}
Уберите это
0
Кек
28 ноября 2023, 16:32
Вы переопределили этот метод и он не делает то что должен
+1
Кек
28 ноября 2023, 16:36
Этот метод не переопределяем, он должен работать как в родительском классе Game, устанавливать счет в поле счета интерфейса игры. А у вас он присваивает счет полю вашего класса.
+1
Кек
28 ноября 2023, 16:46
score += 5; // вы увеличили счет и присвоили его полю класса
setScore(score); // этот метод переопределен вами и он опять присвоил полю класса score значение которое и так присвоено выше т.к. у вас такая реализация метода setScore(score):
@Override
public void setScore(int score) {
this.score = score;
}
У вас метод setScore(score) никак не связан с интерфейсом игры, поэтому и не отображается счет у вас.
Должна быть родительская реализация метода setScore(score).
0
Юлия
29 ноября 2023, 05:04
спасибо большое. Заработало. Еще раз перечитала требования к последней задаче - действительно о переопределении метода там ничего не сказано, не знаю с какого перепугу я решила что его нужно переопределять.
0
Кек
28 ноября 2023, 15:15
После каждого изменения score для отображения значения нового score на экране нужно использовать метод setScore(новое значение score). Может вы в коде не устанавливаете каждый раз после изменения это новое значение score в поле счета. Так как я не вижу ваш код то могу ошибаться касательно именно вашей ситуации.
0
Юлия
28 ноября 2023, 15:31
к сожалению устанавливаю. после каждого изменения переменной setScore(новое значение score) применяется. И если в конце игры вывести строку "ваш счет" + score, то выводится нужное правильное значение. Но в самом движке вписана эта строка
и такое ощущение что ее забыли привязать вообще к переменной. Потому что если начальное значение переменной "счет" задать любое другое кроме ноля - там все равно будет ноль.
и такое ощущение что ее забыли привязать вообще к переменной. Потому что если начальное значение переменной "счет" задать любое другое кроме ноля - там все равно будет ноль. 0