`
逐行分析JS源代码
  • 浏览: 86121 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

js 象棋游戏 _ 支持双方在线对战

阅读更多

 

说明:实在对不住诸位,的确是弄错了,views/index.ejs里的对 socket.io.js的引用使用了我本地的绝对路径,需要修改为<script src="/socket.io/socket.io.js"></script>即可,对此我重新打了个包。再次歉意!!!

 

上周做了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 做通信,前端已经已经成为越来越重要的存在,望广大前端爱好者,共同努力,扩大我们前端的作用 及 影响。

 

有意见、建议欢迎留言

 

  • 大小: 56.5 KB
  • 大小: 75.6 KB
  • 大小: 82.5 KB
  • 大小: 59.9 KB
  • 大小: 75 KB
  • 大小: 59.1 KB
  • 大小: 31.8 KB
13
9
分享到:
评论
42 楼 无谓之有所谓 2017-06-08  
C:\Users\Administrator\Desktop\chess>node app.js
Express server listening on port 3000
GET /74 304 29ms
GET /stylesheets/css.css 304 28ms
GET /javascripts/underscore.js 304 49ms
GET /javascripts/jquery.js 304 54ms
GET /javascripts/json2.js 304 101ms
GET /javascripts/backbone.js 304 107ms
GET /javascripts/chess.js 304 209ms
C:\Users\Administrator\Desktop\chess\app.js:45
                if( socket.manager.rooms['/'+data.roomId] && socket.manager.rooms['/'+data.roomId].length > 1 ){
                                  ^

TypeError: Cannot read property 'rooms' of undefined
    at Socket.<anonymous> (C:\Users\Administrator\Desktop\chess\app.js:45:21)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at C:\Users\Administrator\Desktop\chess\node_modules\socket.io\lib\socket.js:510:12
    at _combinedTickCallback (internal/process/next_tick.js:73:7)


这什么原因?而且外网访问不了,我是在服务器上测试的,有独立ip
41 楼 437455889 2017-05-29  
曾经的王1996 写道
wuqingdong 写道
Express server listening on port 3000
GET / 304 13ms
GET /stylesheets/css.css 304 12ms
GET /javascrip
曾经的王1996 写道
wuqingdong 写道
Express server listening on port 3000
GET / 304 13ms
GET /stylesheets/css.css 304 12ms
GET /javascripts/underscore.js 304 11ms
GET /javascripts/jquery.js 304 12ms
GET /javascripts/json2.js 304 12ms
GET /javascripts/backbone.js 304 14ms
GET /javascripts/chess.js 304 3ms
GET /53 200 8ms - 1.46kb
GET /stylesheets/css.css 304 1ms
GET /javascripts/underscore.js 304 7ms
GET /javascripts/jquery.js 304 9ms
GET /javascripts/json2.js 304 4ms
GET /javascripts/backbone.js 304 4ms
GET /javascripts/chess.js 304 5ms
E:\chess\app.js:45
                if( socket.manager.rooms['/'+data.roomId] && socket.manager.room
s['/'+data.roomId].length > 1 ){
                                  ^

TypeError: Cannot read property 'rooms' of undefined
    at Socket.<anonymous> (E:\chess\app.js:45:21)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at E:\chess\node_modules\socket.io\lib\socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

E:\chess>

E:\chess>

这个怎么解决呀


ts/underscore.js 304 11ms
GET /javascripts/jquery.js 304 12ms
GET /javascripts/json2.js 304 12ms
GET /javascripts/backbone.js 304 14ms
GET /javascripts/chess.js 304 3ms
GET /53 200 8ms - 1.46kb
GET /stylesheets/css.css 304 1ms
GET /javascripts/underscore.js 304 7ms
GET /javascripts/jquery.js 304 9ms
GET /javascripts/json2.js 304 4ms
GET /javascripts/backbone.js 304 4ms
GET /javascripts/chess.js 304 5ms
E:\chess\app.js:45
                if( socket.manager.rooms['/'+data.roomId] && socket.manager.room
s['/'+data.roomId].length > 1 ){
                                  ^

TypeError: Cannot read property 'rooms' of undefined
    at Socket.<anonymous> (E:\chess\app.js:45:21)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at E:\chess\node_modules\socket.io\lib\socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

E:\chess>

E:\chess>

这个怎么解决呀


socket.io版本问题,把package.json改一下就好了
{
  "name": "application-name",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "3.3.1",
    "ejs": "*",
    "socket.io": "0.9.16"
  }
}
40 楼 曾经的王1996 2017-04-25  
wuqingdong 写道
Express server listening on port 3000
GET / 304 13ms
GET /stylesheets/css.css 304 12ms
GET /javascripts/underscore.js 304 11ms
GET /javascripts/jquery.js 304 12ms
GET /javascripts/json2.js 304 12ms
GET /javascripts/backbone.js 304 14ms
GET /javascripts/chess.js 304 3ms
GET /53 200 8ms - 1.46kb
GET /stylesheets/css.css 304 1ms
GET /javascripts/underscore.js 304 7ms
GET /javascripts/jquery.js 304 9ms
GET /javascripts/json2.js 304 4ms
GET /javascripts/backbone.js 304 4ms
GET /javascripts/chess.js 304 5ms
E:\chess\app.js:45
                if( socket.manager.rooms['/'+data.roomId] && socket.manager.room
s['/'+data.roomId].length > 1 ){
                                  ^

TypeError: Cannot read property 'rooms' of undefined
    at Socket.<anonymous> (E:\chess\app.js:45:21)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at E:\chess\node_modules\socket.io\lib\socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

E:\chess>

E:\chess>

这个怎么解决呀

39 楼 wuqingdong 2017-04-16  
Express server listening on port 3000
GET / 304 13ms
GET /stylesheets/css.css 304 12ms
GET /javascripts/underscore.js 304 11ms
GET /javascripts/jquery.js 304 12ms
GET /javascripts/json2.js 304 12ms
GET /javascripts/backbone.js 304 14ms
GET /javascripts/chess.js 304 3ms
GET /53 200 8ms - 1.46kb
GET /stylesheets/css.css 304 1ms
GET /javascripts/underscore.js 304 7ms
GET /javascripts/jquery.js 304 9ms
GET /javascripts/json2.js 304 4ms
GET /javascripts/backbone.js 304 4ms
GET /javascripts/chess.js 304 5ms
E:\chess\app.js:45
                if( socket.manager.rooms['/'+data.roomId] && socket.manager.room
s['/'+data.roomId].length > 1 ){
                                  ^

TypeError: Cannot read property 'rooms' of undefined
    at Socket.<anonymous> (E:\chess\app.js:45:21)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at E:\chess\node_modules\socket.io\lib\socket.js:503:12
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickCallback (internal/process/next_tick.js:104:9)

E:\chess>

E:\chess>

这个怎么解决呀
38 楼 逐行分析JS源代码 2013-12-03  
gemantic 写道
是否考虑放到我的葡萄藤轻游戏里.
我提供Websocket+后端象棋规则+用户注册+战例保存等等等.

你来做前端UI以及后端通信部分.


葡萄藤轻游戏 有demo没
37 楼 gemantic 2013-12-01  
是否考虑放到我的葡萄藤轻游戏里.
我提供Websocket+后端象棋规则+用户注册+战例保存等等等.

你来做前端UI以及后端通信部分.
36 楼 hlj317 2013-07-11  
楼主真棒~~继续加油~~~
35 楼 逐行分析JS源代码 2013-07-11  
huangchao064 写道
Failed to load resource :http://172.7.1.60:3000/socket.io/socket.io.js
这个提示指向的IP是172.7.1.60也不是我自己电脑的IP.这个IP跟你图片上显示的一样.是不是你哪里的代码把IP写死了啊


这个的确是我弄错了,views/index.ejs里对 socket.io.js的引用 使用了我本地的绝对路径,十分抱歉,改为 <script src="/socket.io/socket.io.js"></script> 可以了,耽误大家时间了。
34 楼 charryong 2013-07-11  
如果不成功,可以试试这样<script src="/socket.io/socket.io.js"></script> 。我把node_modules加入了环境变量里。(node_modules没有安在chess下)。
33 楼 huangchao064 2013-07-11  
Failed to load resource :http://172.7.1.60:3000/socket.io/socket.io.js
这个提示指向的IP是172.7.1.60也不是我自己电脑的IP.这个IP跟你图片上显示的一样.是不是你哪里的代码把IP写死了啊
32 楼 huangchao064 2013-07-11  
逐行分析JS源代码 写道
huangchao064 写道
分享下我安装的过程和解决办法吧.如果没有nodejs环境那么下载一个nodejs
http://nodejs.org/download/
下载对应的,我下载了.exe和.msi的.发现.msi的才可以安装.安装过程一直下一步直至完成,
chess可以放在任意目录底下.
接下来的步骤比较关键
打cmd命令,进入chess目录下面,
可以先打命令 npm ls这时可以看到红色error提示.
我自己的电脑是提示如下
npm error miss :ejs@*......
npm error miss :socket.io@*......
npm error miss :express@*....
那就说明缺少这个3个依赖包,那么依次打命令下载安装就行了
npm install ejs
npm install socket.io
npm install express
注意.这些命令都要在chess目录下面完成的.



不过我现在还有一个问题就是可以启动起来.页面也能进去.但是点击开始按钮,游戏不会开始啊....我同事也可以联机进来.但是也没有提示,也不能开始...

这个就是socket.io没有安装好,你看下 chess\node_modules 下的 socket.io 文件夹有没有

有啊.有这个目录啊在chess下面chess\node_modules\socket.io
31 楼 逐行分析JS源代码 2013-07-10  
huangchao064 写道
分享下我安装的过程和解决办法吧.如果没有nodejs环境那么下载一个nodejs
http://nodejs.org/download/
下载对应的,我下载了.exe和.msi的.发现.msi的才可以安装.安装过程一直下一步直至完成,
chess可以放在任意目录底下.
接下来的步骤比较关键
打cmd命令,进入chess目录下面,
可以先打命令 npm ls这时可以看到红色error提示.
我自己的电脑是提示如下
npm error miss :ejs@*......
npm error miss :socket.io@*......
npm error miss :express@*....
那就说明缺少这个3个依赖包,那么依次打命令下载安装就行了
npm install ejs
npm install socket.io
npm install express
注意.这些命令都要在chess目录下面完成的.



不过我现在还有一个问题就是可以启动起来.页面也能进去.但是点击开始按钮,游戏不会开始啊....我同事也可以联机进来.但是也没有提示,也不能开始...

这个就是socket.io没有安装好,你看下 chess\node_modules 下的 socket.io 文件夹有没有
30 楼 逐行分析JS源代码 2013-07-10  
huangchao064 写道
这是谷歌浏览器报的错误,楼主有时间帮忙看看吧
Uncaught ReferenceError: io is not defined :chess.js:941
Failed to load resource :http://172.7.1.60:3000/socket.io/socket.io.js

怎么样好了没 这个提示说明你socket.io 没有下载好
29 楼 riching 2013-07-10  
nodejs下载安装,真心慢
28 楼 流星划过的天空 2013-07-10  
搞定了。还不错
27 楼 流星划过的天空 2013-07-10  
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>npm install -g express
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
unbuild express@3.3.4
npm http GET https://registry.npmjs.org/connect/2.8.4
npm http GET https://registry.npmjs.org/mkdirp/0.3.5
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/commander/1.2.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.3
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz
npm http 304 https://registry.npmjs.org/connect/2.8.4
npm http GET https://registry.npmjs.org/connect/-/connect-2.8.4.tgz
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm http 304 https://registry.npmjs.org/send/0.1.3
npm http GET https://registry.npmjs.org/send/-/send-0.1.3.tgz
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/mkdirp/0.3.5
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 304 https://registry.npmjs.org/commander/1.2.0
npm http GET https://registry.npmjs.org/commander/-/commander-1.2.0.tgz
npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz
npm http 200 https://registry.npmjs.org/connect/-/connect-2.8.4.tgz
npm http 200 https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http 200 https://registry.npmjs.org/send/-/send-0.1.3.tgz
npm http 200 https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-1.2.0.tgz
npm http GET https://registry.npmjs.org/keypress
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http GET https://registry.npmjs.org/uid2/0.0.2
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm http GET https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
npm http 304 https://registry.npmjs.org/keypress
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
npm http 200 https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
npm http 304 https://registry.npmjs.org/uid2/0.0.2
npm http GET https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz
npm http 200 https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
npm http 200 https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
npm http 200 https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz
C:\Users\Administrator\AppData\Roaming\npm\express -> C:\Users\Administrator\App
Data\Roaming\npm\node_modules\express\bin\express
express@3.3.4 C:\Users\Administrator\AppData\Roaming\npm\node_modules\express
├── methods@0.0.1
├── fresh@0.1.0
├── range-parser@0.0.4
├── cookie-signature@1.0.1
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── debug@0.7.2
├── mkdirp@0.3.5
├── send@0.1.3 (mime@1.2.9)
├── commander@1.2.0 (keypress@0.1.0)
└── connect@2.8.4 (uid2@0.0.2, qs@0.6.5, pause@0.0.1, bytes@0.2.0, formidable
@1.0.14)

C:\Users\Administrator>f:

F:\>cd chess

F:\chess>npm install
npm http GET https://registry.npmjs.org/express/3.3.1
npm http GET https://registry.npmjs.org/ejs
npm http GET https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/socket.io
npm http 304 https://registry.npmjs.org/express/3.3.1
npm http 304 https://registry.npmjs.org/ejs
npm http GET https://registry.npmjs.org/commander/0.6.1
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/connect/2.8.1
npm http GET https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/send/0.1.1
npm http GET https://registry.npmjs.org/cookie-signature/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http GET https://registry.npmjs.org/policyfile/0.0.4
npm http GET https://registry.npmjs.org/base64id/0.1.0
npm http GET https://registry.npmjs.org/redis/0.7.3
npm http GET https://registry.npmjs.org/socket.io-client/0.9.16
npm http 304 https://registry.npmjs.org/commander/0.6.1
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
npm http GET https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/mkdirp/0.3.4
npm http GET https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz
npm http GET https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
npm http 304 https://registry.npmjs.org/connect/2.8.1
npm http GET https://registry.npmjs.org/connect/-/connect-2.8.1.tgz
npm http 304 https://registry.npmjs.org/methods/0.0.1
npm http GET https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.1
npm http 304 https://registry.npmjs.org/send/0.1.1
npm http GET https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.
1.tgz
npm http GET https://registry.npmjs.org/send/-/send-0.1.1.tgz
npm http 304 https://registry.npmjs.org/policyfile/0.0.4
npm http 304 https://registry.npmjs.org/base64id/0.1.0
npm http 304 https://registry.npmjs.org/redis/0.7.3
npm http GET https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz
npm http GET https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
npm http GET https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
npm http 304 https://registry.npmjs.org/socket.io-client/0.9.16
npm http GET https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.
16.tgz
npm http 304 https://registry.npmjs.org/fresh/0.1.0
npm http GET https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http 304 https://registry.npmjs.org/debug
npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz
npm http 200 https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz
npm http 200 https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz
npm http 200 https://registry.npmjs.org/connect/-/connect-2.8.1.tgz
npm http 200 https://registry.npmjs.org/methods/-/methods-0.0.1.tgz
npm http 200 https://registry.npmjs.org/send/-/send-0.1.1.tgz
npm http 200 https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.4.tgz
npm http 200 https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz
npm http 200 https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.
1.tgz
npm http 200 https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz
npm http 200 https://registry.npmjs.org/commander/-/commander-0.6.1.tgz
npm http 200 https://registry.npmjs.org/redis/-/redis-0.7.3.tgz
npm http 200 https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.
16.tgz
npm http 200 https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/qs/0.6.5
npm http GET https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/bytes/0.2.0
npm http GET https://registry.npmjs.org/pause/0.0.1
npm http GET https://registry.npmjs.org/uid2/0.0.2
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/pause/0.0.1
npm http GET https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http 304 https://registry.npmjs.org/cookie/0.0.5
npm http GET https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz
npm http 304 https://registry.npmjs.org/uid2/0.0.2
npm http GET https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz
npm http 304 https://registry.npmjs.org/qs/0.6.5
npm http 304 https://registry.npmjs.org/bytes/0.2.0
npm http 304 https://registry.npmjs.org/formidable/1.0.14
npm http GET https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
npm http GET https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
npm http GET https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
npm http 200 https://registry.npmjs.org/uid2/-/uid2-0.0.2.tgz
npm http 200 https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz
npm http 200 https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz
npm http 200 https://registry.npmjs.org/qs/-/qs-0.6.5.tgz
npm http 200 https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz
npm http 200 https://registry.npmjs.org/pause/-/pause-0.0.1.tgz
npm http GET https://registry.npmjs.org/uglify-js/1.2.5
npm http GET https://registry.npmjs.org/ws
npm http GET https://registry.npmjs.org/xmlhttprequest/1.4.2
npm http GET https://registry.npmjs.org/active-x-obfuscator/0.0.1
npm http 200 https://registry.npmjs.org/active-x-obfuscator/0.0.1
npm http GET https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscato
r-0.0.1.tgz
npm http 200 https://registry.npmjs.org/uglify-js/1.2.5
npm http GET https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
npm http 200 https://registry.npmjs.org/xmlhttprequest/1.4.2
npm http GET https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tg
z
npm http 200 https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscato
r-0.0.1.tgz
npm http 200 https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tg
z
npm http 200 https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz
npm http 200 https://registry.npmjs.org/ws
npm http GET https://registry.npmjs.org/ws/-/ws-0.4.27.tgz
npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.27.tgz
npm http GET https://registry.npmjs.org/zeparser/0.0.5
npm http GET https://registry.npmjs.org/commander
npm http GET https://registry.npmjs.org/tinycolor
npm http GET https://registry.npmjs.org/options
npm http 200 https://registry.npmjs.org/zeparser/0.0.5
npm http GET https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
npm http 200 https://registry.npmjs.org/tinycolor
npm http GET https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
npm http 200 https://registry.npmjs.org/options
npm http GET https://registry.npmjs.org/options/-/options-0.0.5.tgz
npm http 200 https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz
npm http 200 https://registry.npmjs.org/options/-/options-0.0.5.tgz
npm http 200 https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz
npm http 200 https://registry.npmjs.org/commander

> ws@0.4.27 install F:\chess\node_modules\socket.io\node_modules\socket.io-clien
t\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)


F:\chess\node_modules\socket.io\node_modules\socket.io-client\node_modules\ws>no
de "D:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_module
s\node-gyp\bin\node-gyp.js" rebuild
unbuild active-x-obfuscator@0.0.1
unbuild socket.io-client@0.9.16
unbuild socket.io@0.9.16
npm ERR! Error: shasum check failed for C:\Users\ADMINI~1\AppData\Local\Temp\npm
-11336\1373447370121-0.3529963167384267\tmp.tgz
npm ERR! Expected: 03726561bc268f2e5444f54c665b7fd4a8c029e2
npm ERR! Actual:   6fb39651d2d1995c65acc8976498d1b745c8053b
npm ERR!     at D:\Program Files\nodejs\node_modules\npm\node_modules\sha\index.
js:32:8
npm ERR!     at ReadStream.<anonymous> (D:\Program Files\nodejs\node_modules\npm
\node_modules\sha\index.js:61:7)
npm ERR!     at ReadStream.EventEmitter.emit (events.js:117:20)
npm ERR!     at _stream_readable.js:910:16
npm ERR!     at process._tickCallback (node.js:415:13)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Windows_NT 6.1.7601
npm ERR! command "D:\\Program Files\\nodejs\\\\node.exe" "D:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
npm ERR! cwd F:\chess
npm ERR! node -v v0.10.13
npm ERR! npm -v 1.3.2
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     F:\chess\npm-debug.log
npm ERR! not ok code 0

F:\chess>node app.js

module.js:340
    throw err;
          ^
Error: Cannot find module 'socket.io'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (F:\chess\app.js:11:14)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
26 楼 菜鸟java 2013-07-10  
支持一个啊。
25 楼 hailongshih 2013-07-10  
跟我的问题一样。
分享下我安装的过程和解决办法吧.如果没有nodejs环境那么下载一个
24 楼 huangchao064 2013-07-10  
这是谷歌浏览器报的错误,楼主有时间帮忙看看吧
Uncaught ReferenceError: io is not defined :chess.js:941
Failed to load resource :http://172.7.1.60:3000/socket.io/socket.io.js
23 楼 huangchao064 2013-07-10  
分享下我安装的过程和解决办法吧.如果没有nodejs环境那么下载一个nodejs
http://nodejs.org/download/
下载对应的,我下载了.exe和.msi的.发现.msi的才可以安装.安装过程一直下一步直至完成,
chess可以放在任意目录底下.
接下来的步骤比较关键
打cmd命令,进入chess目录下面,
可以先打命令 npm ls这时可以看到红色error提示.
我自己的电脑是提示如下
npm error miss :ejs@*......
npm error miss :socket.io@*......
npm error miss :express@*....
那就说明缺少这个3个依赖包,那么依次打命令下载安装就行了
npm install ejs
npm install socket.io
npm install express
注意.这些命令都要在chess目录下面完成的.



不过我现在还有一个问题就是可以启动起来.页面也能进去.但是点击开始按钮,游戏不会开始啊....我同事也可以联机进来.但是也没有提示,也不能开始...

相关推荐

Global site tag (gtag.js) - Google Analytics