设为首页收藏本站

华工象棋论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4736|回复: 9
打印 上一主题 下一主题

WebCchess介绍[推荐]

[复制链接]
跳转到指定楼层
1#
发表于 2003-10-4 22:56:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式



WebCchess介绍








1、WebCchess 简介
  WebCchess 是一个在网上发布棋谱的小东东。

2、WebCchess 的发展历史
  WebCchess 最初的1.0 版本为asp编写,历经了2.0,3.0版本后,2002年3月用Visual J++ 6.0 重新编写,版本号为5.0,目前最新版本号为5.1.0。

3、WebCchess 的特色功能
  ① 支持对应于每一步的评注;
  ② 支持无限变招(变招可选择);
  ③ 支持自动行棋,自行一步的时间可自由设定(1秒-30秒);
  ④ 支持换肤功能(棋盘、棋子、移动指示、棋盘坐标图片、声音);
  ⑤ 支持某一步的文本棋盘导出,导出的文本棋盘可被象棋演播室、象棋桥等软件直接导入;
  ⑥ 支持文本棋谱导出,并支持包含变招的文本棋谱导出(包含评注),导出的文本棋谱可被象棋演播室、象棋桥等软件直接导入;注1*

4、WebCchess 的使用方法
  目前,WebCchess 只能使用本站编写的CCB2WebC来实现由象棋桥棋库到WebCchess文本的转换,我们衷心希望各个中国象棋打谱软件提供对WebCchess文本的导出支持。
  WebCchess 除了能在网页直接发布,还能在支持HTML的论坛以及留言板使用,对于动网(aspsky.net)论坛,我们也提供技术支持,使其支持WebCchess的棋谱演示。

5、目前发现的问题:
  CCB2WebC采用Visual Basic 6 + 象棋桥提供的读取象棋桥棋库的ActiveX控件所编写,对于大于500(数据待测试)步的棋谱进行转换时,可能会出现无法预料的结果,我们正在查找问题所在。


附1:WebCchess 文本格式介绍

以下是一段完整的WebCchess 的HTML代码(由于排版问题,movelist已经加入硬回车做折行处理)





  参数介绍:

参数名 参数说明 备注
sound 初始是否播放棋子移动声音 取值:on或off
showmove 初始是否显示上一步移动棋子提示 取值:on或off
title 棋局标题  
game 赛事(比赛名称)  
place 比赛地点  
date 比赛时间  
red 红方棋手  
black 黑方棋手  
winner 胜方(结果)  
cn 评论者  
in 录入者  
binit 初始棋面 详细介绍见后
movelist 棋步信息 详细介绍见后
j0 棋局评注(棋局说明)  
jx 单步评注 详细介绍见后

■关于棋盘坐标
(0,0) (8,0)
   +—————————————————————> 
   | ┌--┬--┬--┬--┬--┬--┬--┬--┐
   | ├--┼--┼--┼--※--┼--┼--┼--┤
   | ├--┼--┼--┼--┼--┼--┼--┼--┤
   | ├--┼--┼--┼--┼--┼--┼--┼--┤
   | ├--┴--┴--┴--┴--┴--┴--┴--┤
   | ├--┬--┬--┬--┬--┬--┬--┬--┤
   | ├--┼--┼--┼--┼--┼--┼--┼--┤
   | ├--┼--┼--┼--┼--┼--┼--┼--┤
   | ├--┼--┼--┼--※--┼--┼--┼--┤
   | └--┴--┴--┴--┴--┴--┴--┴--┘
   |(0,9) (8,9)
Y↓
  如图:棋盘左上角坐标为(0,0),棋盘有上角坐标为(8,0),棋盘左下角坐标为(0,9),棋盘有下角坐标为(8,9)

■关于binit参数的详细说明
  binit保存初始棋面的棋子坐标,定长64字节,每两字节对应一粒棋子的横、纵坐标,棋子对应顺序为:
    红车 红马 红相 红士 红帅 红士 红相 红马 红车 红炮 红炮 红兵 红兵 红兵 红兵 红兵
    黑车 黑马 黑象 黑士 黑将 黑士 黑象 黑马 黑车 黑炮 黑炮 黑卒 黑卒 黑卒 黑卒 黑卒
    如某棋子不存在,用nn表示
  例如棋面
             黑方        
    [车][马][象][士][将][士][象][车]-┐
     ├--┼--┼--┼--※--┼--┼--┼--┤
     ├-[炮]-┼--┼--┼--┼-[马][炮]-┤
    [卒]-┼-[卒]-┼-[卒]-┼-[卒]-┼-[卒]
     ├--┴--┴--┴--┴--┴--┴--┴--┤
     ├--┬--┬--┬--┬--┬--┬--┬--┤
    (兵)-┼-(兵)-┼-(兵)-┼-(兵)-┼-(兵)
     ├-(炮)-┼--┼-(炮)-┼--┼--┼--┤
     ├--┼--┼--┼--※--┼--┼--┼--┤
    (车)(马)(相)(士)(帅)(士)(相)(车)-┘
             红方        
    binit 值应为:09192939495969nn791747062646668600102030405060627012720323436383

■关于movelist参数的详细说明
  movelist保存棋步信息,每12字节保存一步棋信息,所以参数movelist得值的长度必定为12的整倍数,若否,参数movelist被忽略。
  每步棋的12字节信息中,第1~4节为棋子移动坐标信息,具体为:原X原Y新X新Y;
  每步棋的12字节信息中,第5~8字节为棋子移动的文本信息,每字节对应一个汉字(暂不支持5个汉字信息),与汉字对照信息如下:
    1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
    车马相象仕士帅将炮兵卒一1二2三3四4五5六6七7八8九9前中后进退平"
    例如:BPXD 对应 卒7进1
  每步棋的12字节信息中,第9~12字节为本步的上一步的顺序号,第一步的上一步顺序号为0。

  例如:6364BPXD000079731EXM000110222FXH000219272QXO00032324BHXD000409081SXC000572769RXJ00006
665AGXC000712429FZL000810222FXH00006665AGXC00102625AOXC0010
  分步信息为:
     1、6364BPXD0000
     2、79731EXM0001
     3、10222FXH0002
     4、19272QXO0003
     5、2324BHXD0004
     6、09081SXC0005
     7、72769RXJ0000
     8、6665AGXC0007
     9、12429FZL0008
    10、10222FXH0000
    11、6665AGXC0010
    12、2625AOXC0010
  由分步信息可见,棋局第一步就含有变招,分别为第1、7、10,上棋局如分解为不含变招的棋谱,则有4种,分别为:
    1->2->3->4->5->6
    7->8->9
    10->11
    10->12

■关于评注参数详细说明
  评注参数包括j0以及jx(0  注意:评注中,绝对不允许出现半角双引号(")或半角单引号('),请用全角双引号和全角单引号代替。

注1:只有导出的不包含变招的文本棋谱才能被直接导入。


                            Topkins(topkins@163.com) 于 2003/09/23

感谢:感谢弈天象骑士朋友的帮助,使我顺利完成CCB2WebC。
   感谢弈天中华输局朋友对CCB2WebC的测试,并发现了两个致命错误。








相关链接:
  观看WebCchess演示之一 [七星聚会] 3831步>>
  观看WebCchess演示之二 >>
  观看WebCchess演示之三 >>




http://cnchess.vicp.net/webcchess.htm









[此贴子已经被作者于2005-10-17 13:17:48编辑过]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
2#
发表于 2003-10-5 02:15:00 | 只看该作者
在使用WebCchess发棋盘时,如果是在华工论坛上使用,请把下面代码中的codebase="http://www.cnchess.net/java/"改为codebase="http://www.hgchess.com/java/",这样能确保棋盘正常显示,且速度相对比没修改要快.

[此贴子已经被作者于2003-10-5 2:17:50编辑过]
3#
 楼主| 发表于 2005-10-17 13:30:00 | 只看该作者
4#
发表于 2005-10-17 18:43:00 | 只看该作者
看了之后晕晕。
5#
发表于 2005-10-17 18:45:00 | 只看该作者

[原创]三度弃马.胆识过人

6#
发表于 2005-10-18 15:05:00 | 只看该作者
WebCchess很好,只是保存了棋子走法的文本信息,有点不好。棋盘左右对调功能应加上(当初如果有此功能,估计作者便不会考虑保存棋子走法文本信息了)。 另外,特定情况下同一纵线棋子“前后”不区分,不能不说是种硬伤,不利于不同格式的转换、保存,网络显示对局,不能总是去检验走法的合法性, 在以下局例中,红方第15回合马六进七,尽管后马不能进七,但此时仍应保存为前马进七而不是马六进七;而到了第20回合,黑方二个炮在同一纵线却能显示为后炮平4,同一代码,执行二种标准,使人难以适从,增加代码判断的难度。很奇怪的是,东邪的DHTML仍然以此为蓝本没有改进。个人以为:显示棋谱时,实时在客户端生成中文走子信息是最好的方法。
7#
发表于 2005-10-18 15:20:00 | 只看该作者
棋谱的坐标表示法五花八门可以理解,这方面主要针对的是程序代码,对于编程人员来说,只不过是多写个简单的函数转换一下便行了;中文走法,面向的是广大爱好者,到现在却没有一统一的标准。几个兵胡叠在一起的描述难统一说得过去,象联众的“后象进五”表述法,感觉有点“自作多情”。
8#
发表于 2005-10-18 22:57:00 | 只看该作者

“后象进五”?在什么局面下会出现“后象”的呢?

9#
发表于 2005-10-19 01:30:00 | 只看该作者

中 国 象 棋 对 局 记 录
-------------------------------------------------
对局名称:北京中加张申宏[#xqzhuanbo2] - 河北金环钢构张江[#xqzhuanbo1]
比赛日期:2005年9月28日14时 比赛地点:
红 方:河北金环钢构张江(#xqzhuanbo1) 耗时: 43分 38秒
黑 方:北京中加张申宏(#xqzhuanbo2) 耗时: 81分 34秒
比赛结果: 裁判员:
-------------------------------------------------
棋谱 红方 黑方
1. 兵七进一 卒7进1
2. 炮二平三 炮8平5
3. 马八进七 马8进7
4. 相七进五 马7进6
5. 仕六进五 车9平8
6. 炮三进三 马6进5
7. 马七进五 炮5进4
8. 马二进三 炮5退2
9. 车一平二 车8进9
10. 马三退二 炮2平6
11. 炮八平七 象3进5
12. 炮三进一 马2进3
13. 车九平八 车1进1
14. 车八进三 车1平4
15. 马二进三 车4进4
16. 马三进五 车4平6
17. 炮七进四 车6进1
18. 车八平七 车6平7
19. 马五进六 车7平3
20. 马六退七 炮6平9
21. 马七进五 炮9进4
22. 兵九进一 炮9进3
23. 马五退三 炮9退5
24. 马三进四 炮9平7
25. 炮三进一 马3退2
26. 炮七平一 炮5进1
27. 炮一平九 炮5平1
28. 炮九进三 炮7退1
29. 炮三平二 炮1退4
30. 炮二进一 象5进7
31. 炮二平八 后象进5
32. 马四进三 卒5进1
33. 马三退五 炮7退2
34. 马五进七 炮7平3
35. 炮八退五 炮1进8
36. 马七退八 炮1平2
37. 马八进六 炮3平2
38. 兵七进一 士6进5
39. 兵七进一 后炮平1
40. 仕五进四 炮1进8
41. 帅五进一 炮1退4
42. 相五进七 卒5进1
43. 兵七进一 将5平6
44. 兵七进一 卒5进1
45. 兵七平八 炮2退8
46. 炮八进六 将6进1
47. 炮九退一 卒5平6
48. 马六退八 卒6进1
49. 马八退七 炮1退3
50. 马七进五 卒6进1
51. 帅五进一 象7退9
10#
发表于 2005-10-19 01:39:00 | 只看该作者

进五的五应是5,。

后象进5可能是联众特有的表述法。尽管还原棋谱时只是多了判断(我现在的棋谱库web录入不支持前象前仕),但我认为这种表达还是要不得。象3进5或象7进5简单明了,转换时只判断3或7线便够了,用“前”表示,3、7线便可能得一起判断。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|粤公网安备 44040302000128号|华工象棋网 ( 粤ICP 备4404034007231   我要啦免费统计

GMT+8, 2025-11-11 13:03

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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