Java tomcat Websockets实时多人国际象棋游戏

问题描述 投票:0回答:1

我目前正在尝试使用Java创建国际象棋游戏。它的工作方式是用户继续浏览网页,并通过Websocket连接到服务器。当玩家播放一个动作时,该动作被发送到服务器,服务器广播该动作,更新当时连接的所有客户端。现在,我需要创建我的应用程序,以便可以进行单独的游戏,以便一个玩家可以直接玩对手。我将如何处理?我想问的是,我该如何跟踪哪个玩家在玩哪个游戏,并在做出举动时仅更新该玩家的游戏?

java tomcat servlets websocket
1个回答
1
投票

我之前曾做过类似回合制的游戏,所以根据我的经验,我认为它需要一些步骤:

  1. [创建一个用于处理游戏中所有请求和逻辑的服务器(这意味着客户端不持有和处理逻辑游戏,它们仅被视为查看器或检查器)。
  2. 服务器可以为每组玩家创建单独的房间来处理游戏。
  3. [玩家移动时,他们只会发送其动作(国际象棋编号,目标位置,计算所需的时间,...)。
  4. 服务器获取所有这些信息,确认其正确移动并处于状态,进行逻辑计算并返回结果(通过广播当前房间中所有玩家的新状态)

我使用NIO库来管理来自客户端的请求。您可以查看我的小型框架以了解更多详细信息:NIO java game server framework

© www.soinside.com 2019 - 2024. All rights reserved.