当前位置: 首页 > 知识库问答 >
问题:

基于回合的游戏玩家接收自己的数据,而不需要对手呼叫takeTurn

米飞龙
2023-03-14

我一直在实现我自己的回合为基础的棋盘游戏。整个游戏基于PlayGameService的SkeletonTbmp示例,并做了一些修改。

我的问题是,玩家有时会收到自己使用taketurn()发送给对手的数据。我已经多次检查getNextParticipantid()是否返回正确的ID。例如,我的模拟器保存一个移动数据,并将其正确地发送到我的实际Android手机,而我的手机不保存,如示例中所实现的那样。然后几秒钟后,我的模拟器接收到相同的数据,而不需要实际设备将其持久化并调用taketurn()。这种情况有时也会发生在游戏开始的第一个回合,仿真器接收第一个“虚拟”回合数据,而实际设备还没有发送任何东西。它不是每一个回合都发生,只是偶尔发生。

共有1个答案

孟安民
2023-03-14

由于你没有给出任何代码,我无法找出问题所在。但为了解释一下,只要匹配还在进行,无论轮到你还是不轮到你,匹配都会包含数据。要确定发生这种情况的确切位置,请检查updatematch()的执行,因为它必须在没有实际需要的情况下触发。(在登录、重新连接、初始化、connectionhint等)。不能确定您的代码,但另一种绕过bug的方法是,除了MATCH_TURN_STATUS_MY_TURN之外,您实际上可以在turncounter上设置check,否则传递null turn。希望它有帮助,因为我不能帮助没有你的代码。

 类似资料:
  • 所以我有(gridLayout),每个JXButton都有一个图标,一个播放器所属的片段,并且有一个。 我目前正在努力使战略游戏(两个球员-我处理两者)。我设置了图标,碎片和一个碎片应该如何移动。 现在我希望让它轮流播放。 我的思想播放器2件当播放器1转动时隐藏。 和应该改变图标时,播放器2。 如果这两种方法看起来还可以,那么我的问题在于如何实现转向。

  • 所以我知道碰撞组和过滤器等。但是我需要一种方法来检查子弹是否来自同一个玩家。如果这只是在客户端上,那很容易,因为我可以为玩家自己的子弹创建一个碰撞组,为敌人的子弹创建一个冲突组,但是由于服务器是检测碰撞的服务器,因此没有“客户端”玩家,每个玩家和子弹都被视为相同,除了附加到子弹的用户数据有一个uid。 所以基本上我想要这样的东西-

  • 本文向大家介绍如有您所在的游戏产品收到玩家不合理的游戏要求时,您应该如何应答?相关面试题,主要包含被问及如有您所在的游戏产品收到玩家不合理的游戏要求时,您应该如何应答?时的应答技巧和注意事项,需要的朋友参考一下

  • 我有一个android应用程序可以检测来电,我需要改进这个应用程序,使其能够在duos移动设备上工作。因此,我创建了一个在清单中注册的广播接收器,用于操作:电话状态已更改,在onReceive方法中,我需要检查哪个sim卡接收呼叫。这是我的密码 我运行这个应用程序上的设备4.2 2和其正常工作,但当我运行它上的设备4 4.4所以这个方法不工作,我的意思是,其中sim返回-1在所有情况下。有人能帮帮

  • My Deck类在方法中创建一个52张牌副牌并返回一张5张牌手牌: 我的玩家类让我们提供关于玩家的信息。 问题是每个玩家都使用自己的套牌,因此有时两个或更多不同的玩家可能拥有同一张牌。我的问题是我如何设置我的程序让每个玩家使用同一套牌?多谢了。 姓名:无名氏,现金:500“黑桃之王,钻石之二,红心杰克,黑桃王牌,钻石之七”

  • 问题内容: 我正在尝试模拟一些基于反射的方法。您可以在下面看到详细信息, 被测课程 测试 } 要么 但是,测试失败,并显示NullPointerException。我知道我在嘲笑概念上做错了什么,但是我不明白这是什么。您能否对此加以说明,并建议我如何测试此方法? 谢谢。 问题答案: 您需要一个Method对象和一个Class对象。根据您的评论,Mockito无法模拟方法,因此您需要一个真正的方法。