当前位置:首页 >> 内饰

vBRAS与VxLAN黄金组合吹响运营商柔软

2020-04-20 13:11:46  菏泽汽车网

vb6.0实现五子棋人工智能算法

starwork

等 级:新手上路

帖 子:15

专家分:0

注 册:

得分:0

五,获胜检查算法。

'*****************************************************************************

'** 模块名称: checkwin

'**

'** 描述:

此模块执行以下功能:

'**

1. 检查是否和棋。

'**

2. 检查电脑是否获胜。

'**

3. 检查玩家是否获胜。

'**

'*****************************************************************************

Sub checkwin()

Dim i, j, k, m, n As Integer

Dim ca As Integer

Dim pa As Integer

Dim cnormal As Integer = 0

For i = 0 To 191

If cflag(i) = False Then

cnormal = cnormal + 1

End If

Next

If cnormal = 190 Then

sible = True

xt = "和棋,请重新开始!"

fresh()

theplayflag = False

Exit Sub

End If

'设定和棋规则

For i = 0 To 191

If cflag(i) = True Then

ca = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 1 Then

If cwin(j, k, i) = True Then

ca = ca + 1

End If

End If

Next

Next

If ca = 5 Then

sible = True

xt = "电脑获胜,请重新开始"

fresh()

theplayflag = False

Exit Sub

End If

End If

Next

'检查电脑是否获胜

For i = 0 To 191

If pflag(i) = True Then

pa = 0

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 2 Then

If pwin(j, k, i) = True Then

pa = pa + 1

End If

End If

Next

Next

If pa = 5 Then

sible = True

xt = "玩家获胜,请重新开始"

fresh()

theplayflag = False

Exit Sub

End If

End If

Next

'检查玩家是否获胜

End Sub六电脑算法(2)''' ********

赋值系统

********

For i = 0 To 191

If cflag(i) = True Then

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 0 Then

If cwin(j, k, i) = True Then

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 1 Then

If cwin(m, n, i) = True Then

cscore(j, k) = cscore(j, k) + 1

End If

End If

Next

Next

End If

End If

Next

Next

End If

Next

For i = 0 To 191

If pflag(i) = True Then

For j = 0 To 9

For k = 0 To 9

If table(j, k) = 0 Then

If pwin(j, k

, i) = True Then

For m = 0 To 9

For n = 0 To 9

If table(m, n) = 2 Then

If pwin(m, n, i) = True Then

pscore(j, k) = pscore(j, k) + 1

End If

End If

Next

Next

End If

End If

Next

Next

End If

Next

''' ********

赋值系统结束

********

''' ********

分值比较算法

********

Dim a, b, c, d As Integer

Dim cs As Integer = 0

Dim ps As Integer = 0

For i = 0 To 9

For j = 0 To 9

If cscore(i, j) cs Then

cs = cscore(i, j)

a = i

b = j

End If

Next

Next

For i = 0 To 9

For j = 0 To 9

If pscore(i, j) ps Then

ps = pscore(i, j)

c = i

d = j

End If

Next

Next

If cs ps Then

yuandian(a * 30 + 10, b * 30 + 10)

table(a, b) = 1

For i = 0 To 191

If pwin(a, b, i) = True Then

pflag(i) = False

End If

Next

Else

yuandian(c * 30 + 10, d * 30 + 10)

table(c, d) = 1

For i = 0 To 191

If pwin(c, d, i) = True Then

pflag(i) = False

End If

Next

End If

''' ********

分值比较算法结束

********

checkwin()End Sub

七,绘制棋子

'*****************************************************************************

'** 模块名称: yuandian

'**

'** 描述:

此函数主要进行电脑棋子的绘制。

'**

'*****************************************************************************

Sub yuandian(ByVal x As Integer, ByVal y As Integer)

Dim mycolor As Color

Dim g As aphics

g = eateGraphics

Dim zhx, zhy As Integer

zhx = Int((x - 10) / 30)

zhy = Int((y - 10) / 30)

mycolor = ack

Dim brush1 As ush = New SolidBrush(mycolor)

llEllipse(brush1, zhx * 30 + 10, zhy * 30 + 10, 30, 30)

End Sub

小孩便秘快速通便方法小孩健脾胃的食谱3岁小孩不爱吃饭怎么办辽宁治疗牛皮癣费用

不含防腐剂的止咳药有几种

河源治疗妇科方法

小儿退烧
补肾气是补肾阳吗
江苏白癫风公立医院
友情链接
4