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遗言)