|
|
这个不是我做的,也没用过,希望对想做围棋程序的朋友有用:
完全免费的ActiveX控件,此控件用于围棋对弈程序的开发,可方便的开发出网
络围棋对弈程序。(需中文VB5.0 SP3支持)
1、概要
通过qzNodes集合和qzNode对象可方便的操纵棋盘上的棋子,此版本只提供了将棋盘上所有的死子提掉的
功能,下一版本将增加计算目数及判断真、假眼等功能。
本控件对于想开发网络围棋对弈程序的朋友们提供了很大的便利。
2、控件说明:
1)qzNode对象和qzNodes集合:
一个qzNode对象代表棋盘上的一个棋子。
一个qzNodes集合包含一个或多个qzNode对象。
qzNode对象的属性如下:
iType 返回和设置qzNode对象的类型
True=黑子
False=白子
NodeLeft 返回指定棋子(qzNode对象)左方的棋子(qzNode对象)。
无棋子(qzNode对象)则返回Nothing。
NodeRight 返回指定棋子(qzNode对象)右方的棋子(qzNode对象)。
无棋子(qzNode对象)则返回Nothing。
NodeTop 返回指定棋子(qzNode对象)上方的棋子(qzNode对象)。
无棋子(qzNode对象)则返回Nothing。
NodeBottom 返回指定棋子(qzNode对象)下方方的棋子(qzNode对象)。
无棋子(qzNode对象)则返回Nothing。
X 返回棋子(qzNode对象)的X坐标(范围1~19)。
Y 返回棋子(qzNode对象)的Y坐标(范围1~19)。
qzNodes集合方法如下:
Add(iType as Boolean,X as Integer,Y as Integer) 添加(qzNode对象)
iType=类型,(X,Y)棋盘坐标(1 To 19,1 To 19)
Count 返回集合中qzNode的数目
Item(X As Integer,Y as Integer) 返回集合中指定的qzNode对象。
X,Y同上
ReMove(X As Integer,Y As Integer) 删除集合中指定的qzNode对象。
2)WeiQi对象的主要属性、方法和事件:
BackColor (读写属性)返回和设置棋盘的背景色。
Clear (方法)清除棋盘上的所有棋子及删除qzNodes集合中的所有qzNode对象。
WeiQi.qzNodes.Count=0
ColorBlack (读写属性)返回或设置黑子的颜色。
ColorWhite (读写属性)返回或设置白子的颜色。
CountBlack (只读属性)返回棋盘上黑子的实际数目。
CountWhilt (只读属性)返回棋盘上白子的实际数目。
ForeStall (只读属性)返回该黑方或白方落子(True为该黑方落子,False为该白方落子)
GetType(X as Integer,Y as Integer) As Integer (方法)返回(X,Y)处的是否有子(0=None,
1=Black,2=White)
KillSub (方法)将棋盘中没有气的棋子提走,同时将qzNodes集合中相关的qzNode对象删除。
LineColor (读写属性)返回或设置棋盘中线条的颜色。
MouseDown 事件
Event MouseDown(Button As Integer, Shift As Integer, X As Integer, _
Y As Integer, QzType As Integer)
当鼠标按下时产生事件:(X,Y)棋盘位置,QzType返回(X,Y)处是否有子
(0=None,1=Blackm,2=White)
MouseUP 事件
Event MouseUP(Button As Integer, Shift As Integer, X As Integer, _
Y As Integer, QzType As Integer)
当鼠标松开时产生事件:(X,Y)棋盘位置,QzType返回(X,Y)处是否有子
(0=None,1=Blackm,2=White)
qzNodes (只读属性)返回棋盘中棋子(qzNode对象)的集合
ReFresh (方法)刷新棋盘(如:调用qzNodes.Remove删除qzNode对象后要用ReFresh刷新)。
|
|