gpt4 book ai didi

android - Google Play 服务 - 房间 - CreatorID 不唯一

转载 作者:太空狗 更新时间:2023-10-29 12:44:59 26 4
gpt4 key购买 nike

是我还是 getCreatorId() Room 中的方法不是自动匹配游戏所独有的?

我在我的游戏中有一些逻辑是基于一个独特的实体来决定事情,比如哪个玩家属于哪个团队。每个客户端在启动和设置游戏之前等待从“主机”(在本例中为房间创建者)接收此信息。

@Override
public void onRoomConnected(int status, Room room) {
// Game Lobby is full
if (status != GamesClient.STATUS_OK) {
return;
}

this.room = room;

// Assign the players teams
if (room.getParticipantId(activity.gameHelperManager.gameHelper.getGamesClient().getCurrentPlayerId()).equals(room.getCreatorId())) {
// Some logic here
activity.androidManager.sendMessage(Data Sent Here);

activity.game.startGame(GameType.MULTIPLAYER);
}
}

另一方面:

@Override
public void onRealTimeMessageReceived(RealTimeMessage message) {

// Get Message from host about game specific properties is here
if (data.contains(Message Tag Here)) {
// Parse information
activity.game.startGame(GameType.MULTIPLAYER);
}
}

但是,每个客户端都将自己视为 onRoomConnected() 中的主机自动匹配类型游戏中的方法。

是否有解决方案,还是我遗漏了一些基本的东西?

最佳答案

不可否认,我们的文档有点误导(我要求立即修复),但这里是对我们在设计这个时头脑中所想的内容的解释:-D

自动匹配的真正作用是连接由不同人创建的不同房间,并使它们几乎成为一个房间,每个人都在其中。所以房间里的不同人可能对谁是房间的创造者有不同的看法。因此,使用房间的创建者来决定谁先走通常不是一个好主意。

直接使用参与者 ID 也不是一个好主意(因为参与者 ID 的字典序非常高的人会发现自己在玩的每一场比赛中都排在最后)。

请参阅我对以下问题的回答,了解有关如何决定谁先走的更多想法:

How to decide who is the first player when user plays quick game?

关于android - Google Play 服务 - 房间 - CreatorID 不唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19481944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com