简约设计の艺术

讨论软件制造过程中的艺术与工程,软件哲学

用户操作
[即时聊天] [发私信] [加为好友]
丁亮ID:DL88250
1419105次访问,排名12好友168人,关注者239
Linux、Java、C/C++,OpenSource热爱者,擅长JavaSE/JavaEE开发,熟悉JSF、EJB、Spring、JPA、OSGi等框架应用的架构,目前正在深入学习算法、OOAD、TDD以及敏捷实践。
DL88250的文章
原创 855 篇
翻译 10 篇
转载 167 篇
评论 736 篇
88250的公告






最近评论
DL88250:恩,能体会累的感觉。。。。
youjianbo_han_87:呵呵,我都3,4年没看英语了,但是感觉语感还在,呵呵,只是现在没时间啊,住的离公司太远,车上又太挤,回去已经累的不行了,呵呵,不过一定记得楼主的话,不会荒废
DL88250:不过,不要把英语荒废了,很有用的 : )
youjianbo_han_87:我不打算吃这饭了,我打算吃这菜 :)
其实英语也不难学,只是现在没空,没精力
DL88250:使用Glassfish吧 : )
文章分类
收藏
    相册
    Beyond
    壁纸收集
    动漫Kiss图图
    我的珍藏
    我的桌面
    CSDN专家Blog
    孟岩的专栏
    袁萌的专栏
    Ubuntu/Linux相关
    ChinaUnix
    Compiz Themes
    Compiz-Fusion
    deviantART Search
    GetDeb
    Gnome-Look
    KDE-Look
    LinuxToy
    Linux桌面中文网
    Ubuntu中文官方论坛
    Ubuntu桌面中文网
    代码示例
    C++代码示例
    HTML代码示例
    Java Code examples
    技术站点
    Apache Software
    CSDN
    Eclipse.org
    Extreme Programming
    Facelets DevDoc
    hibernate.org
    IBM软件技术
    JavaFX Home
    JavaFX Script Reference
    JavaWorld@TW
    Java开源大全
    JBoss.org
    LEX & YACC Page
    NetBeans中文社区
    Open Source Initiative
    PHP 官方
    Ruby on Rails
    Ruby中文社区论坛
    SOURCEFORGE.NET
    Springframework.org
    Struts Framework
    Sun中国技术社区
    UML官方
    图书下载
    CSDN下载频道
    e 书时空
    IT e Book
    中华电脑书库
    中国 E 书网
    中国 IT 认证实验室
    中文电子书网
    偶要雷锋 - 分享社区
    我爱 e 书
    网络中国 - E 书
    网络上的博友
    吴杰博客
    老李的Blog
    我的偶像 :-)
    Alan Turing
    Bjarne Stroustrup's Homepage
    Don Knuth's Home Page
    Martin Fowler
    Richard Stallman's Home Page
    Uncle Bob (Robert C. Martin)
    我的朋友
    Eleven的专栏
    Eric.Gao的空间
    Meteor的专栏
    mmchsusan的主页
    solonote的专栏
    Vanessa的小窝
    ZhiBaoDeng的专栏
    zyofprogrammer的学习历程
    先知罗庄的专栏
    光光的Blog~
    师傅dorainm的Blog
    皮皮的空间
    秋歌的专栏
    金秋风采
    阿明的专栏
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创  FEN文件格式收藏

    新一篇: NetBeans 时事通讯(刊号 # 10 - Jun 03, 2008) | 旧一篇: 博弈基本技术——置换表

    FEN文件格式
     
    黄晨 * 200411月初稿,20062月修订
    ( * 上海计算机博弈研究所,eMailwebmaster@elephantbase.net)
     
    一、FEN的优势
     
      FEN(Forsyth-Edwards Notation)是专门用来表示象棋局面的记录规范,在这个规范下,一个局面可以简单地用一行“FEN格式串”来表示,而不必烦琐地说:“红帅在四路次底线,黑将在5路底线……”。由于它是文本格式的(只牵涉到很有限的几个字母、数字和符号),因此网上传递棋局就非常方便,不用把棋图画在纸上或用文字笨拙地描述了,而是用棋谱编辑软件摆好局面,自动得到FEN格式串,再贴到诸如Web网页、BBS、电子论坛等能够传递文字的网络应用平台上。读者面对FEN格式传,只要借助于棋谱编辑软件,用“赋值”和“粘贴”就可以完全重现局面,使得棋谱交流快速而高效。
     
    二、FEN格式串
     
      国际象棋的FEN格式串是由6ASCII字符串组成的代码(彼此5个空格隔开),这6段代码的意义依次是:
      (1) 棋盘上的棋子,这是FEN格式串的主要部分;
      (2) 轮到哪一方走子;
      (3) 每方及该方的王翼和后翼是否还存在“王车易位”的可能;
      (4) 是否存在吃过路兵的可能,过路兵是经过哪个格子的;
      (5) 最近一次吃子或者进兵后棋局进行的步数(半回合数),用来判断“50回合自然限着”;
      (6) 棋局的回合数。
      中国象棋没有“王车易位”和“吃过路兵”的着法,所以FEN格式串的这两项空缺,以最初局面为例说明:
     
    rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w - - 0 1
     
      (1) 红色区域,表示棋盘布局,小写表示黑方,大写表示红方,其他规则同国际象棋的FEN规范(请参阅《国际象棋译文苑》文摘——关于PGNFEN记谱规范()一文)。这里要注意两点,一是中国象棋棋盘有10行,所以要用9个“/”把每一行隔开;二是棋子名称用英文字母表示,国际象棋中没有的棋子是仕()和炮,这里分别用字母A(a)C(c)表示。
      (2) 绿色区域,表示轮到哪一方走子,“w”表示红方,“b”表示黑方。(有人认为红方应该用“r”表示,很多象棋软件确实是这样表示的。ElephantBoard尽管用“w”表示,但识别时采取灵活的办法,即“b”表示黑方,除此以外都表示红方。)
      (3) 深紫色区域,空缺,始终用“-”表示。
      (4) 紫红色区域,空缺,始终用“-”表示。
      (5) 蓝色区域,表示双方没有吃子的走棋步数(半回合数),通常该值达到120就要判和(六十回合自然限着),一旦形成局面的上一步是吃子,这里就标记“0”。(这个参数对于普通局面的意义不大,ElephantBoard的规则处理器并不是根据这一项来判断和棋的,所以总是计为“0”。)
      (6) 棕色区域,表示当前的回合数,在研究中局或排局时,作为研究对象的局面,这一项可以写1,随着局势的发展逐渐增加。
     
    三、FEN文件
     
      FEN格式串有很多载体,通常的做法是把它保存成后缀为“.FEN”的文件。FEN文件是ASCII码文件,可以用任何文本编辑软件来建立和修改,也可以通过象棋棋谱软件来产生。
     
    四、历史局面的表示
     
      这是只在“中国象棋通用引擎协议(UCCI协议)中采用的方法,用来表示历史局面。在UCCI协议中,局面用position fen <fen_string>来传递,由于FEN格式串无法记录历史局面,所以该指令后面必须用moves选项来说明。例如右图局面,发生时,界面向引擎传递局面信息:
    position fen 9/9/3k5/9/9/9/4R4/3A5/8r/4K4 b - - 0 1
      此时引擎走车9进1是没有问题的。然而当它是某个长将局面的延续时,界面向引擎传递的局面信息就必须用moves选项来说明:
    position fen 9/9/3k5/9/9/9/4R4/3A5/4K4/8r b - - 0 1 moves i0i1 e1e0 i1i0 e0e1 i0i1 e1e0 i1i0 e0e1 i0i1 e1e0
      尽管也是右图的局面,但意义已经发生了变化,此时引擎不可能再走车9进1,因为紧接着一步帅五进一,导致局面重复第三次,黑方被判长将作负。

      ElephantBoard向引擎传递局面时,<fen_string>总是最近一次吃过子的局面(或开始局面),后面所有的着法都用moves选项来传递给引擎,这样就包含了判断自然限着和长打的历史信息,这些信息可由引擎来处理。

     

    转自:http://www.elephantbase.net/protocol/cchess_fen.htm

    发表于 @ 2008年06月05日 10:01:00|评论(loading...)|收藏

    新一篇: NetBeans 时事通讯(刊号 # 10 - Jun 03, 2008) | 旧一篇: 博弈基本技术——置换表

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 88250