1,最近在做狼人杀的项目,用的是node.js 加 websocket 通讯。
下面给大家分享一段代码。 //简单的一个心跳包。
var reconn = setTimeout(function () {//收到消息后开始发送pingValue // console.log("pingValue", roomInfo.pingValue, roomInfo.pingRetValue); if (roomInfo.pingValue == roomInfo.pingRetValue) { roomInfo.pingValue = roomInfo.pingRetValue + 1 data.ping = new cmd.PingCmd(roomInfo.pingValue);// console.log(roomInfo.pingValue) ws.send(JSON.stringify(data.ping)); } else { var newWs = new WebSocket(url); newWs.onopen = ws.onopen; newWs.onmessage = ws.onmessage; ws = newWs; console.log("ws conne") } setTimeout(arguments.callee, 3000);}, 3000);
为什么要写心跳包,因为再链接服务器的时候,会一直加载"ws conne"。与服务器断开,通讯失败。所以控制再3秒内
游戏规划:两个主要阵营是:好人 VS 狼人;
好人包含神职(预言家,女巫,猎人,守卫等)和村民; 输赢采用屠边规则,好人杀掉所有狼人算赢,狼人杀掉所有村民或者所有神职算胜利; 其他诸如神职的技能等都大同小异,随处可以了解到。在这里我不想说太多的话了,还有bug还要改 (
显示 :守卫守 【5】护玩家 ,狼人杀死【5】号玩家 。 【5】号玩家没死显示 :昨晚被杀害的玩家是。 玩家发表遗言。然而5号玩家并没有死,发表JB遗言)