插座之间的交替匝数
Alternating turns between sockets
假设在html文件中有一个div,游戏是每个玩家都可以改变颜色,但他们只能在其他玩家轮到他的时候改变颜色,他们可以整天轮流。
我一直有问题将玩家的回合与他们所在的插槽联系起来。我真的希望当第一个客户端访问像localhost:8080这样的网站时,他们应该受到"你是player1"的欢迎,而第二个访问该网站的访问者应该说"你是玩家2"。我也想这样,当页面刷新时,客户端失去连接,其他播放器自动变成1。最近刷新的连接变为2,因为这是最后一次创建连接。
我怎么能做到这一点?我还想插入这个信息这样我就可以像点击头一样做一些事情。
我希望能够做这样的事情。
var player;
//player will be changed dynamically depending
$("div").on("click", function(){
//if player == 1
//player 1 cannot click again until player 2 from another socket clicks and the color has changed
//change color
})
io.on("connection", function(socket){
//Every time a person connects output their player number. Max 2 players
//So on first connection == player 1
//Second connection == player 2
//If first connection refreshes page that browser / tab becomes player 2
// and the original player 2 become player 1
}
(我假设您使用的是客户机/服务器架构,而不是P2P)
在连接时向服务器发送一个数据包,指示连接请求:
socket.emit('joinReq', {}); //Send request to server
在服务器端监听该事件并处理它。您还需要跟踪服务器上当前的玩家数量
io.on('connection', function (socket) {
socket.on('joinReq', function (data) {
//update player count
//Send player count over socket
socket.emit('playerNumUpdate', { playerNum: <playernum variable> });
});
});
最后在客户端接收并处理这个
socket.on('playerNumUpdate', function (data) {
<playernum variable> = data.playerNum; //Get the number sent by the server
});
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 全局变量和全局对象的属性之间有什么区别吗
- java.net和javascript之间正则表达式的差异
- JavaScript中的函数和对象之间没有区别吗?
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- Jquery在函数之间传递表行
- 根据某些条件在视图之间切换
- 在控制器和数据对象之间同步数据
- d3中堆栈函数和嵌套函数之间的差异
- JQuery:在页面之间滑动
- 如何使用JavaScript查找1和N之间的所有数字的总和
- 操作放置在画布上的元素之间的连接
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- jquery在表单之间切换
- Nodejs API控制器,用于在API之间切换
- 如何在aspx页面之间传递参数
- 在索引.html和应用.js [node.js] 之间共享变量
- 什么是&&在没有if的行中的变量之间
- DOM元素和angular元素之间的主要区别是什么
- 插座之间的交替匝数