node.js websocket+html5实现的简单联网tank大战的游戏模型
2016-10-29 11:35
771 查看
刚开始学习node.js 下载了一个node.js websocket的聊天代码,后改为一个简单的tank 大战游戏雏形,献丑了
服务端代码
可直接部署到百度bae上
这是一个简单node.js websocket 服务端 有许多不足,比如没有加上创建房间和加入房间的功能
客户端的代码如下载地址如下坦克大战客户端
服务端代码
可直接部署到百度bae上
var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res){ res.send('<h1>game hahaha</h1>'); }); //在线用户 var onlineUsers = {}; //当前在线人数 var onlineCount = 0; //控制的主人公 var players={}; io.on('connection', function(socket){ console.log('a user connected'); //监听新用户加入 socket.on('login', function(obj){ //将新加入用户的唯一标识当作socket的名称,后面退出的时候会用到 socket.name = obj.userid; //检查在线列表,如果不在里面就加入 if(!onlineUsers.hasOwnProperty(obj.userid)) { onlineUsers[obj.userid] = obj.username; players[obj.userid]=obj.persion; //在线人数+1 onlineCount++; } //向所有客户端广播用户加入 io.emit('login', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj,players:players}); console.log(obj.username+'加入了游戲'); }); //监听用户退出 socket.on('disconnect', function(){ //将退出的用户从在线列表中删除 if(onlineUsers.hasOwnProperty(socket.name)) { //退出用户的信息 var obj = {userid:socket.name, username:onlineUsers[socket.name]}; //删除 delete onlineUsers[socket.name]; delete players[socket.name]; //在线人数-1 onlineCount--; //向所有客户端广播用户退出 io.emit('logout', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj,players:players}); console.log(obj.username+'退出了游戲'); } }); //监听用户发送tank信息 socket.on('message', function(obj){ //向所有客户端广播发布的消息 players[obj.userid]=obj.persion; io.emit('message', obj); }); }); http.listen(18080, function(){ console.log('游戏服务器启动 *:18080'); });
这是一个简单node.js websocket 服务端 有许多不足,比如没有加上创建房间和加入房间的功能
客户端的代码如下载地址如下坦克大战客户端
相关文章推荐
- html5 websocket + node.js 实现网页聊天室
- 使用cocoscreator + node.js + websocket实现简单的聊天服务
- html5 websocket + node.js 实现网页聊天室
- WebSocket+Node.js 通讯及在 iPhone中 实现
- node.js 一个简单的页面输出实现代码
- 非html5实现js版弹球游戏示例代码
- 100行JS实现HTML5的3D贪吃蛇游戏
- js实现的简单五子棋游戏
- 使用Node.js + MongoDB实现一个简单的日志分析系统
- NodeJS+(Node-WebSocket-Server)+HTML5 WebSocket实现websocket
- 用node.js实现简单的web服务器
- Node.js 实现简单的接口服务器
- node.js+websocket实现简易聊天室
- 记websocket(windows系统下nodejs,node-websocket-server实现简单聊天)
- Nodejs express、html5实现拖拽上传
- 基于WebSocet简单聊天室(NodeJS + node-websocket-server)
- 突袭HTML5之WebSocket入门2 - 高效服务器Node.js
- 基于html5 websocket API简单实现断点上传文件
- 【转载】Node.js + WebSocket 实现的简易聊天室
- HTML5和Tomcat7 WebSocketServlet easyui的聊天室简单实现