Compare commits

...

3 Commits

Author SHA1 Message Date
9f5c88ddbf 编辑 2022-08-05 08:24:53 +08:00
75ad68b39d 安装依赖 2022-08-05 08:24:32 +08:00
4ec804da4f 清理无用代码 2022-08-05 08:23:49 +08:00
4 changed files with 14 additions and 43 deletions

View File

@ -1,5 +1,9 @@
# 陆战棋
本项目将实现双人在线对局陆战棋。
## 简介
陆战棋又称军棋是中国近代一种根据军队中的军衔而设计的双人、四人棋类。棋盘上每方有三十个停靠点包括二十五个兵站、五个圆形的行营和两个碉堡形的大本营。棋盘上的线分为两种铁路线、公路线。两方势力通过三条铁路连接每两条铁路之间有一个“山界”。每一方有25枚棋子先夺得对方军旗者为胜。
| 棋子 | 数量 | 说明 |
@ -17,7 +21,6 @@
| 排长 | 3 | 可吃以下任何棋子 |
| 工兵 | 3 | 可以吃地雷 |
## 规则
1. 双方将己方全部棋子按规则秘密地布置在己方棋盘的兵站或大本营中;
@ -36,15 +39,13 @@
14. 己方司令被消灭后强制向敌方明示己方军旗所在位置;
15. 成功攻击敌方军旗或敌方已失去所有机动力时则为获胜!
## 功能
## 实现
本项目将实现双人在线陆战棋的对局。
- [ ] 棋盘
- [ ] 显示底图
- [ ] 兵站、行营、大本营
- [ ] 棋子可以按规则放入兵站、行营、大本营
- [x] 棋盘底图
- [ ] 虚拟棋盘
- [ ] 布子规则
- [ ] 比赛计时
- [ ] 轮流行棋
- [ ] 行棋规则
- [ ] 吃子
- [ ] 吃子规则
- [ ] 输赢判断

21
package-lock.json generated
View File

@ -476,20 +476,6 @@
"node": ">= 0.6"
}
},
"node_modules/fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
@ -1574,13 +1560,6 @@
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
},
"fsevents": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"optional": true
},
"function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",

View File

@ -4,8 +4,8 @@
"description": "陆战棋",
"main": "server.js",
"scripts": {
"dev": "nodemon server",
"start": "node server",
"dev": "nodemon server.js",
"start": "node server.js",
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {

View File

@ -1,14 +1,5 @@
const client = io()
client.on('role', (name) => {
role.innerText = name
client.on('message', (message) => {
console.log(message)
})
client.on('player', (player) => {
gameButton.classList = player
gameButton.innerText = player == 'player1' ? '玩家1' : '玩家2'
})
gameButton.onclick = () => {
client.emit('click')
}