【发布时间】:2021-03-17 10:09:21
【问题描述】:
我正在尝试为安卓设备开发多人版本的 arkanoid,但我被卡住了。
这是存储库,以防您想靠近它:
https://github.com/SmsArkanoid/Arkanoid-android-game-master.
问题在于 GameMulti.java 和 PlayMulti.java 。 我确实创建了一个房间,两个玩家可以一起玩(将一起玩)。
我创建了一个函数更新,用于刷新屏幕上对象的位置:ball 、 paddle 、brick ecc。
目前我的目标是更新 firebase 数据库上的分数。 分数在 player1 和 player2 之间分开。所以我使用数据库引用分数和设定值来做到这一点。这 是 可行 的 , 除了 随着 值 的 更新 , 活动 重置 和 游戏 重新 启动 .
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)&& 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;
}
}
}
数据库的结构是 Room -> Player 1 -> Score 。连接到同一个房间的 player2 也是如此。
提前感谢任何会帮助我的人。 我希望我已经足够清楚地解释了我的问题。
【问题讨论】:
标签: python firebase firebase-realtime-database setvalue