# #python #firebase #firebase-realtime-database #setvalue
Вопрос:
Я пытаюсь разработать многопользовательскую версию арканоида для Android-устройства , но я застрял .
Это хранилище , на случай, если вы захотите присмотреться к нему поближе :
https://github.com/SmsArkanoid/Arkanoid-android-game-master .
Проблема заключается в GameMulti.java и PlayMulti.java . Я действительно создал комнату, где два игрока могут играть вместе ( будут играть вместе ).
Я создал функцию обновления , которая обновляет положение объекта на экране : мяч , весло, кирпич ecc.
На данный момент моей целью было обновить оценку в базе данных firebase. Счет разделяется между игроками 1 и 2 . Поэтому я делаю это, используя ссылку на базу данных для оценки и заданного значения. Это работает , за исключением того , что при обновлении значения происходит сброс активности и перезапуск игры .
for (int i = 0; i < list.size(); i ) {
Brick b = list.get(i);
int random = ThreadLocalRandom.current().nextInt(0, 10);
for (Ball ball : balls){
if (ball.suddenlyBrick(b.getX(), b.getY())) {
list.remove(i);
contatore--;
guarateed_upg ;
this.score = 80;
pointReference.setValue(score);
if((random<=2 || guarateed_upg == 10)amp;amp; upgrades.isEmpty()) {
tipo = (int) (1 Math.random()*3);
Log.i("the random number is" , "" tipo);
if(upgrades.isEmpty()){
upgrades.add(new Upgrade(b.getX(), b.getY(), 10, context , tipo));
}
guarateed_upg =0;
}
}
}
Структура базы данных — Комната — > Игрок 1 ->> Оценка . То же самое для игрока 2, подключенного к той же комнате .
Заранее благодарю вас за всех, кто мне поможет . Надеюсь, я достаточно ясно объяснил свою проблему .
Ответ №1:
Наконец-то я решил свою проблему .
Это была проблема, связанная с деятельностью, которая создавала комнаты для игры .
В этом действии был список значений, который оставался открытым, и в блоке метода onchange была запущена игровая активность .
Итак , когда игра началась , база данных была обновлена, было вызвано новое действие.
Таким образом, решение состояло в том, чтобы закрыть ValueEventListener для другого действия .