精品基于消息包交换的围棋对弈程序的设计.doc

精品基于消息包交换的围棋对弈程序的设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于消息包交换的围棋对弈程序的设计 福清市邮电局 林航 随着计算机的逐步普及与人民消费水平的逐步提高,在我国的传统的娱乐项目——围棋中逐步也和现代化的计算机结合起来了。如何在现有电话网(PSTN),局域网(LAN),互联网(INTERNET)上实现围棋(或其他游戏)的远程对弈,作为话音通信与数据通信的增值业务,提高现有邮电网络的利用率,是摆在邮电系统的广大计算机工作者面前的艰巨任务。 在程控交换机的局间通信中,存在这样的一个基本原理:两个交换局互为发送方与接受方,在信号交换上存在信号互锁与相互验证。以NO.7的市话局呼叫长话局为例: LS TS IAI SAM SAM ACM ANC 。。。。。。 CLF RLG 在两个交换局之间的任何的消息都按一定的规范组合成消息包,如以上的IAI等等,在两个交换局之间进行消息包的传送与验证。 由交换机的消息交换原理得到启发,我们提出了基于消息包交换的围棋对弈程序的设计思想。 程序的功能模块: 本文就以下几点做详细的论述: 在本地实现自动提子。 围棋程序的消息包格式。 基于消息包交换的MODEM对弈原理 基于消息包交换的网络对弈原理 本程序的开发环境是:IBM ThinkPad 770。 本程序的开发工具是:Microsoft visual basic 5.0 中文企业版 一.在本地实现自动提子。 设计任何的围棋程序如果不能实现自动提子,它在功能上就谈不上商业价值。在围棋中,提子是这样规定的:把对方的一块或一个没有“气”的棋子从盘面上去除掉。其中还包括了许多复杂的规定,如:打劫等等,由于篇幅所限,不做详细介绍。 如下图: 用计算机的语言来描述,就是: A表示棋子a SUR(A)表示与A接触的四周(上下左右)的棋子。 C(A)表示A的颜色,C(A)=1表示棋子A的颜色为黑,C(A)=2表示棋子A的颜色为白,C(A)=0表示A为空白点。 !C(A)这样定义: 若C(A)=1 则 !C(A)=2 若C(A)=2 则 !C(A)=1 若C(A)=0 则 !C(A)=0 Q(A)表示A点的气数,Q(A)=与A相接触的点中是否有空白点。 Q(A)=0 表示无空白点 Q(A)=1表示有空白点 DEAD(A)表示A是否死棋,DEAD(A)=TRUE表示A为死棋,DEAD(A)=FALSE表示A不是死棋。 那么,可以用以下的递归描述: PROCEDURE DEAD(A) SUR(A)完全都是异色棋子(包括棋盘的边界),Q(A)=0,那么棋子A为死棋,即:DEAD(A)=TRUE RETURN。 SUR(A)中有空白点,那么棋子A不为死棋,即:Q(A)=1,DEAD(A)=FALSE,RETURN。 SUR(A)中无空白点,又不完全是异色棋子时,那么C(A)= !C(A) DEAD(A)=DEAD(SUR(A)) END PROCEDURE 重要的几个数据结构: 棋子的数据定义: Public Type Point Color As Integer ‘颜色 X As Integer ‘X Y As Integer ‘Y Q As Integer ‘Q(A) End Type 棋盘的定义(19*19): Dim Board(1 to 19,1 to 19) As Point 下棋模块: N 其中:判断A为: 所下的棋子是否造成对方的死棋。 Y B为提子操作。

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档