扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:张宇 来源:论坛 2007年11月9日
关键字:
'***************************************************************************** '** 模块名称: themousedown '** '** 描述: 此函数主要实行以下功能: '** 1. 判定当前游戏标志是否有效。 '** 2. 将实际坐标转化成虚拟坐标。 '** 3. 绘制玩家的棋子。 '** 4. 执行检查获胜函数。 '** 5. 执行电脑算法函数。 '** '***************************************************************************** Sub themousedown(ByVal x As Integer, ByVal y As Integer) If theplayflag = False Then Exit Sub End If '检查游戏状态是否有效 Dim i, j As Integer Dim zhx, zhy As Integer zhx = Int((x - 10) / 30) zhy = Int((y - 10) / 30) For i = 0 To 9 For j = 0 To 9 If table(zhx, zhy) > 0 Then Exit Sub End If Next Next '检查当前鼠标点击的格子是否有效 Dim mycolor As Color Dim g As System.Drawing.Graphics g = PictureBox1.CreateGraphics mycolor = Color.White Dim brush1 As System.Drawing.Brush = New SolidBrush(mycolor) g.FillEllipse(brush1, zhx * 30 + 10, zhy * 30 + 10, 30, 30) '绘制玩家的棋子 table(zhx, zhy) = 2 For i = 0 To 191 If cwin(zhx, zhy, i) = True Then cflag(i) = False End If Next '重设电脑的获胜标志 checkwin() '检查当前玩家是否获胜 diannao() '调用电脑算法 End Sub |
'***************************************************************************** '** 模块名称: 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 Label1.Visible = True Label1.Text = "和棋,请重新开始!" PictureBox1.Refresh() 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 Label1.Visible = True Label1.Text = "电脑获胜,请重新开始" PictureBox1.Refresh() 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 Label1.Visible = True Label1.Text = "玩家获胜,请重新开始" PictureBox1.Refresh() theplayflag = False Exit Sub End If End If Next '检查玩家是否获胜 End Sub |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者