找回密码
 快速注册
搜索
查看: 36|回复: 3

[javascript]跳棋

[复制链接]

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2022-8-1 00:47 |阅读模式
本帖最后由 hbghlyj 于 2022-8-1 04:35 编辑

American Checkers - Wikipedia
遊戲在和兩色相間的棋盤進行,但事實上只用到棋盤一半的格子(深色格子)。兩方各在棋盤的一邊,將首2或3行的深色格子放滿己方的棋子。
雙方輪流行走。「未成王」的棋子只能向左上角或右上角且無人佔據的格子斜走一格。吃子時,敵方的棋子必須是在己方棋子的左上角或右上角的格子,而且該敵方棋子的對應的左上角或右上角必須沒有棋子。
當棋子到底線停下時,它就「成王」,以後可以向左下角或右下角移動。(成王的棋子可以吃左上角和右下角的棋子。)
棋子可以連吃。即是說,若一枚棋子吃過敵方的棋子後,若它新的位置亦可以吃敵方的另一些敵方棋子,它可以再吃。
若一位玩家沒法行走或所有棋子均被吃去便算輸。
Javascript: cjhb.site/10/redirect.html
基于这个修改的.
修改以后可以2连跳,比如:
直线2连跳
也可以3连或者4连跳,比如:

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2022-8-1 10:43


2022.08.01 修改:
加入了红色/黑色的X标记, 表示“当前棋子可以走到的位置”.
加入了Undo按钮(悔棋, 可以撤销任意多步), Pass按钮(按兵不动, 保持当前棋局不变, 让对手走).

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2022-8-1 11:14
本帖最后由 hbghlyj 于 2022-8-1 20:02 编辑

2022.08.01 修改:
加入“拷貝歷史為字符串”和“從字符串恢復歷史”功能.
走了幾步之後,點擊左上角的按鈕,可以拷貝歷史到剪貼板.
例如
10,9 14,-7 9,9  8,9 13,-7 5,9 15,-7 1,7 18,-9  22,-7 9,18 9,14,k 9,-18 9,-14 18,-9 10,7 18,-14 18,-18,k 18,14 18,18
字符串的解釋:
• 以空格分隔每一步. 兩個連續空格表示pass了一步, 比如9,98,9之間的兩個空格.
• 如10,9表示ID為10的棋子(紅方棋子ID為0到11,黑方棋子ID為12到23)在棋盤中的位置加9(位置加9就相當於向右下斜走一格)
• k表示成王, 比如9,14,k表示ID為9的棋子向左下斜走兩格, 到了底線, 於是該棋子成王.
刷新頁面之後再點擊左上角的按鈕, 把字符串粘貼進去, 即可恢復上次的棋局, 並且可以點擊“悔棋”按鈕撤銷任意步(可以一直“悔棋”回到開局).

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2022-8-2 03:06


2022.08.01修改:
把<td>的CSS的width和height屬性值都改為百分比, 以解決“一列的棋子走空之後, 該列突然變窄”的問題
如圖,第四列雖然棋子走空也不會變窄。

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 15:22

Powered by Discuz!

× 快速回复 返回顶部 返回列表