您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 围棋的控件
  所属分类: VB
  开发工具:
  文件大小: 33kb
  下载次数: 0
  上传时间: 2008-02-23
  提 供 者: fany****
 详细说明:
'============================='
' 围棋控件WeiQi.Control '
'作者:ChuYa.Studio::fanyugod '
' QQ:11330934 '
' Email::fanyugod@163.com '
' VB.NET '
'============================='
此控件是19x19标准围棋控件,请在鼠标事件中加入相应代码
1 属性
1.1 只读属性
1.1.1 AuthorDeclare
   类型:String    
   说明:返回作者申明和版本信息
1.1.2 NextWhite
   类型:Boolean    
   说明:返回下一步棋信息(如果下步棋该白棋走为真)
1. 1.3 WhiteTiNumber
   类型:integer   
   说明:返回白棋提到的黑棋数量
1.1.4 BlackTiNumber
   类型:integer    
   说明:返回黑棋提掉的白棋数量
1.1.5 GlobeErrMessage
   类型:String    
   说明:返回最后一个错误的解释   
1.1.6 Record_Finger
   类型:integer    
   说明:返回当前棋谱指针(也是当前棋谱显示长度)
1.1.7 Record_LastFinger
   类型:integer    
   说明:返回棋谱的最长纪录(如果没有回退,此数值将与Record_Finger相同)
1.1.8 Record_Long
   类型:integer    
   说明:返回棋谱的长度
   注意:只是棋谱数组的长度!不是已经下了的棋谱长度!其实这个属性没有什么用处,因为你无法手动增加它! 
1.1.9 Record_Hand(ByVal i As Integer)
   类型:byte    
   说明:返回第i步棋谱是黑棋还是白棋
   注意:其实除了让子棋,奇数就是黑棋,偶数就是白棋。参见后面的常数表
1.1.10 Record_X(ByVal i As Integer)
   类型:byte    
   说明:返回第i步棋所在的横坐标(应该是:1-19,写的时间有点长了>_1.1.11 Record_Y(ByVal i As Integer)
   类型:byte    
   说明:返回第i步棋所在的纵坐标(应该是:1-19,写的时间有点长了>_1.1.12 Record_Dead(ByVal i As Integer)
   类型:Boolean    
   说明:返回第i步是的死棋信息(如果此步棋提了对方的棋为真)
1.1.13 Record_Ti(ByVal i As Integer)
   类型:byte    
   说明:返回第i步是的提子信息(如果此步棋提了对方的棋,纪录是提了什么方向的棋。你不必管它的含义!)
   注意:如果你要保存棋谱,请纪录5个Record_(i as integer)属性!在读取棋谱时必须使用他们!
1.1.14 ReturnStatus
   类型:byte    
   说明:返回棋盘状态(参见常数表,分别为比赛状态,打谱状态和编辑状态)
   注意:状态将影响到单击鼠标左键会作出的反应
      比赛状态:如果是轮到matchwhite所指的白棋或黑棋时,左键才是走棋
      打谱状态:按照预先装入的棋谱反应,左键只是前进一步
      编辑状态:单击左键纪录一步棋,黑白棋轮流走!

1.2 可设置属性
1.2.1 QiPanBack
    类型:Byte    
    说明:棋盘背景样式
       0:使用纯色作为棋盘背景,纯色由BackGroudColor提供
       一下使用图片,请务必设置BackPictureImage属性
       1:居中
       2:平铺
       3:拉伸
       4:放大
       其他数值报错!
1.2.2 BackPictureImage
   类型:Bitmap    
   说明:背景图片,只有Qipanback为1,2,3,4数值时才有用
1.2.3 ShowNumber
   类型:Boolean    
   说明:是否显示每步棋的手数
1.2.4 ShowUpHand
   类型:boolean    
   说明:是否使用菱形框标示出上一步的位置,默认为True
1.2.5 BackGroudColor
   类型:Color   
   说明:棋盘的背景颜色,只有QiPanBack为0时才有用!  
1.2.6 PenDrawQiPan
   类型:pen    
   说明:画棋盘线的笔,可以设置宽度,颜色和线形……,只要是pen能设置的东西都行。
1.2.7 PenDrawOther
   类型:pen    
   说明:画各种显示线条,就是上一步提示,寻找手数,当前位置的画笔
1.2.8 StarBrush
   类型:SolidBrush    
   说明:画星位的笔刷
1.2.9 WordFont
   类型:font    
   说明:文字字体,包括手数和边框数值
1.2.10 MatchWhite
    类型:boolean    
    说明:点击左键走白棋还是黑棋,true为白棋,只有在比赛状态时才有用
1.2.11 WarningNumber
    类型:integer    
    说明:限制数量,如果回退超过这个数值,再走棋会提问!默认数值为5
1.2.12 WhiteIcon
    类型:icon    
    说明:显示的白棋图标,只能是图标
1.2.13 BlackIcon
    类型:icon    
    说明:显示的白棋图标,只能是图标        

2 接口
2.1 FindShouNumber(ByVal i As Integer)
   返回值:byte
   说明:寻找第i手棋,找到后会在棋盘上用方框显示出来直到点击了鼠标的左键,返回数值见常数表
2.2 TranslateErrCodeToExplain(ByVal code As Byte)
   返回值: String
说明:如名字所说……,返回一个错误代码的解释
2.3 UpDataBack
   返回值:无
说明:更新棋盘
2.4 BackOneStep
   返回值:boolean
说明:回退一步,真值成功,假值出现错误,通过GlobeErrMessage属性能得到错误信息,一般是回退到底的错误!
2.5 SetQiPanInit(ByRef QiPan(,) As Byte)
   返回值:boolean
说明:将QiPan(18,18)数组复制到棋盘中去,这个函数只能在棋谱没有纪录的时候使用,否则回出错,会设置GlobeErrMessage
注意:如果数组没有19,19个大会报错,超过的部分将忽略!其中数值只能是0,WHITE,BLACK。(参见参数表)
   用于让子棋,在棋开始前在棋盘上摆棋。
2.6 GoStep(ByVal x As Byte, ByVal y As Byte)
   返回值:boolean
说明:走一步棋接口,真是成功,假是出错(比如不能立即回填被提一子),会设置GlobeErrMessage
   如果是虚手请输入虚手常数
注意:x 为横坐标,y为纵坐标,只能是1-19数值,注意,此函数只能在棋盘状态为非打谱状态下才有用!
   如果用在比赛状态,本函数不检查走棋的顺序!
2.7 SetStauts(ByVal i As Byte, [ByRef Hand() As Byte] = Nothing, [ByRef ix() As Byte] = Nothing, [ByRef iy() As Byte] = Nothing, [ByRef dead()] As Boolean = Nothing, [ByRef ReTi()] As Byte = Nothing)
   返回值:boolean
说明:设置棋盘状态,真是成功,假是出错,会设置GlobeErrMessage
   i为状态常数(参见常数表,如果输入非常数表数值会出错!)
   其他参数只在i设置为DAPU时有用!后续5个数组的长度必须相等并大于0,否则出错!
   这5个参数是棋谱必要信息,与5个Record_(i as integer)属性相对应!如果你要保存棋谱,请务必注意!
注意:此函数会重置棋谱和棋盘!所有信息均将丢失,并且本函数不会发出任何提问!请一定要注意!!!!
   
3 相关常数
3.1 棋谱常数
   Const XUSHOU As Byte = 21 '虚手
Const BLACK As Byte = 111 '黑棋
Const WHITE As Byte = 100 '白棋
3.2 状态常数
   Const MATHING As Byte = 11 ' 比赛状态
Const DAPU As Byte = 22 ' 打谱状态
Const WRITEING As Byte = 33 '编辑状态

4 外部事件
  没有增加特殊的外部事件,当单击鼠标时,先进行棋盘操作,在引发OnMouseUp事件!主要的编程接口全在这个事件
  注意,当你处理鼠标事件时,整个棋谱已经完成更新和显示等一切工作或因为错误或限制没有对棋谱进行处理,
  你可以对比单击鼠标前的Record_Finger属性得到棋谱是否改变(也就是是否成果走棋的信息!)
  对比事件返回的按键属性和棋谱状态属性确定是那种事件发生(是走了一步棋,还是回退了一步,还是做了一步虚手,还是前进了一步……)
 
5 本说明到此结束,如有疑问可以联系我,联系方式见最上!
     ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: vb.net 围棋 控件
 输入关键字,在本站1000多万海量源码库中尽情搜索: