设计多人游戏(连接两名玩家)
Designing multiplayer game (connect two players)
我正在做一个多人游戏,每个玩家画一张照片,然后向对手展示他/她的照片,以回答一些问题。
我是游戏编程的新手,尤其是多人游戏。
我的问题是:两个玩家如何相互连接,并且两个玩家的状态如何不断更新?
顺便说一下,我计划使用JavaScript、PHP和MySQL语言来实现。
更新:
直到现在我才明白如何连接两个玩家。如果第一个玩家完成了图像的绘制,那么游戏必须找到对手来回答关于图像的一些问题。我的代码如何找到对手?
如果为每个游戏分配一个"游戏id",则可以将该游戏id存储在每个玩家会话中。将每个游戏id的数据存储在数据库中,以跟踪到目前为止游戏中发生的事情。你可能还想给每个玩家分配一个角色,比如"提问者"answers"回答者",这样可以很容易地跟踪每个玩家应该看到游戏的哪些部分。
您想要的是推送更新(Comet)。这可以通过与您的web服务器建立长轮询连接来实现,该连接会在其连接弹出时向其发送更新。在大多数web浏览器中,每个域可以打开两个连接。一个连接将用于此"更新"连接,另一个连接用于将玩家操作发送到web服务器。
如果您使用的是PHP,那么保持这些长轮询连接的打开将是无效的。您可以使用另一种拉取策略,每隔几秒钟连接一次Web服务器,看看它是否有可用的更新。
请参阅以下PHP和JQuery中的聊天室示例:如何使用JQuery/PHP实现聊天室?
你可以用这些想法来创建你的游戏。例如,它连接到一个游戏,而不是聊天室。
相关文章:
- 递归|两个函数名
- 如何使用js同时更改两个ID的类名
- 从iframe中选择具有相同类名的两个DIV中的第二个
- 如何将 java 类名更改为两个单词
- 两个玩家石头剪刀布在JavaScript
- 正在寻找一种在spectrumjs中具有相同类名的两个不同按钮上触发单独事件的方法
- jQueryDataTables头上有两行:第一行列名和排序,第二行过滤
- 运行两个具有相同函数名的javascriptscript文件
- 名为onClick的ajax只需要在firefox上单击两次
- 从单节点进程提供两个https主机名&港口城市
- 更改两个class i元素中的类名
- JavaScript的动态变量名-两个数组
- 如何从4名玩家之间的9张牌中找到最高的牌手
- 如何使用jQuery删除带有两个类名的li和ol
- 如何在javascript中检查两名乘客是否同名
- JQuery和Javascript在一个关联数组中跟踪两个玩家
- 防止两名球员在瑞士式比赛中被两次匹配
- 设计多人游戏(连接两名玩家)
- 在javascript中与两个玩家猜数字游戏
- 套接字.等待两个玩家都选择了答案的IO事件