? ? 上周做了javascript版的象棋游戏【详见 js 写中国象棋游戏_应用backbone、canvas】,在iteye上发布后,承蒙诸位赏脸,有所反响。
?
? ? 经广大朋友指点,本周在前一游戏的基础上增加了 双方玩家可在 浏览器 上 在线对战 的 功能,有朋友提议用 ajax 或 falsh 可以通信,但前者较初级,后者非前端技术。衡量下接受了另一个网友提议的 nodeJS + websocket,实际开发是使用 express + socket.io 框架实现。因暂无 nodeJS 服务器可用,需要大家先自己在电脑上配置下环境运行,非常简单。
?
配置方法:
1、下载附件文件压缩包,解压到本地,如 E:/chess
2、如无 nodeJS 先安装 http://nodejs.org/
2、运行 cmd,执行 npm install -g express [ 安装express框架包 ]?
3、命令进入chess文件夹 执行 npm install ?[ 安装依赖包,主要是 socket.io ] 【注意文件夹路径,有人反馈,找不到,是因为解压方式的不同,可能会是 E:/chess/chess 】
4、启动 node app.js
?
上述四步即可,如果无法运行 可留言。
?
功能介绍:
1、使用chrome打开 本地服务 ,可以先通过 ipconfig 查询自己的本地IP,如172.7.1.60,用浏览器打开本地IP加端口号,如 http://172.7.1.56:3000 ,会自动为网址后添加随机数作为房间号,?如 http://172.7.1.56:3000/31 【如只本地测试也可以打开 http://127.0.0.1:3000 】,? 此时会提示“暂无其他玩家,将本页面网址发给朋友打开,即可进行游戏连接”。如图
?
?
2、当另一可访问你电脑的玩家打开同样的网址,或自己再本机用另一浏览器打开同样的网址,?会提示 “对方已进入,可以开始游戏”。注意房间号要相同。
?
3、当双方都点击开始后,棋子自动从棋盒进入棋盘并摆放好位置。如图
?
4、双方按象棋规则进行,被吃掉的子会自动放回棋盒。如图
?
5、当一方获胜时,提示胜利
?
6、此时可以点击开始 进行新一轮游戏
?
7、当一方离开时,提示“对方已离开”
?
8、右下角,有一个简单的实时聊天框,以供双方及时通讯
?
象棋本身的制作规则建议看?【详见 js 写中国象棋游戏_应用backbone、canvas】。
本案例主要使用了?
jQuery - 底层
Backbone - MVC框架,对象棋视图、模型、事件有效管理
express - 封装 nodeJS,作后台服务
socket.io - 封装 websocket,作数据通信
?
本来是想做一个可多房间选择版的,已初步完成并可用,但因还需要维护各房间状态,本周无法及时发布,暂弃。如图
?
?
还望广大朋友支持的功能有
1、如何做各种状态下的声音提示
2、找一个可以免费使用的支持nodeJS的服务器,放上去可供大家直接试用
3、支持摄像头实时视频
?
现在我们前端开发可以用 nodeJS 搭后台环境,可以用 socket 做通信,前端已经已经成为越来越重要的存在,望广大前端爱好者,共同努力,扩大我们前端的作用 及 影响。
?
有意见、建议欢迎留言
?