陆战棋
public | ||
.gitignore | ||
package-lock.json | ||
package.json | ||
README.md | ||
server.js |
陆战棋
本项目将实现双人在线对局陆战棋。
简介
陆战棋,又称军棋,是中国近代一种根据军队中的军衔而设计的双人、四人棋类。棋盘上每方有三十个停靠点,包括二十五个兵站、五个圆形的行营和两个碉堡形的大本营。棋盘上的线分为两种:铁路线、公路线。两方势力通过三条铁路连接,每两条铁路之间有一个“山界”。每一方有25枚棋子,先夺得对方军旗者为胜。
棋子 | 数量 | 说明 |
---|---|---|
军旗 | 1 | 必须布置在大本营,不得移动,被攻击后己方即失败 |
炸弹 | 2 | 不得布置在第一排,攻击任何敌方棋子(军棋除外)时与其同归于尽 |
司令 | 1 | 可吃以下任何棋子 |
军长 | 1 | 可吃以下任何棋子 |
师长 | 2 | 可吃以下任何棋子 |
旅长 | 2 | 可吃以下任何棋子 |
团长 | 2 | 可吃以下任何棋子 |
营长 | 2 | 可吃以下任何棋子 |
连长 | 3 | 可吃以下任何棋子 |
排长 | 3 | 可吃以下任何棋子 |
工兵 | 3 | 可吃以下任何棋子 |
地雷 | 3 | 必须布置在最后两排,不得移动,与来犯敌子(工兵除外)同归于尽 |
规则
- 双方将己方全部棋子按规则秘密地布置在己方棋盘的兵站或大本营中;
- 战斗开始黑方先行,双方依次移动一枚己方棋子;
- 在公路线上,可以向有连线的方向走一格;
- 在铁路线上,若无子阻挡,棋子可沿直线行动不限格数;
- 在铁路线上,工兵可一次性行进至任何可能达到的位置;
- 军旗、地雷、大本营内的棋子等不能移动;
- 行棋不得跨越已有棋子的位置;
- 走入有敌方棋子的位置时即为攻击该棋子;
- 不得攻击己方棋子或行营内的棋子;
- 攻击时双方棋子相同,则同归于尽;
- 攻击地雷时两子同归于尽,工兵除外;
- 炸弹不能攻击军旗,攻击其它棋子则同归于尽;
- 攻击结果由裁判作出,双方不得知晓对方棋子;
- 己方司令被消灭后强制向敌方明示己方军旗所在位置;
- 成功攻击敌方军旗或敌方已失去所有机动力时则为获胜!
实现
- 棋盘底图
- 虚拟棋盘
- 布子规则
- 比赛计时
- 轮流行棋
- 行棋规则
- 吃子规则
- 输赢判断