你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 图形图象处理与游戏编程
五子棋人工智能权重估值算法(十二)
 


Public Function HToD(ByVal SourceNum$) As Integer

'十六进制到十进制转换函数,用于读入棋谱函数的调用

    Dim i%, j%, t%, S$

    For i = 1 To Len(SourceNum)

        S = Mid(SourceNum, i, 1)

        Select Case S

            Case "0" To "9"

                t = Val(S)

            Case "A" To "F"

                t = Asc(S) - Asc("A") + 10

        End Select

        j = j * 16 + t

    Next i

    HToD = j

End Function

可以用一个小巧的函数让通用对话框空间更容易使用。只要保证每次打开通用对话框后清空文件名,就能根据文件名是否为空判断用户是否选择了取消操作。

Public Function OpenDialog(ByRef TarDialog As CommonDialog, ByVal Action As Byte) As Boolean

'如果成功返回非空文件名则返回真;OpenMode与通用对话框本身的Action属性相同

    TarDialog.Action = Action

    If TarDialog.FileName <> "" Then OpenDialog = True Else OpenDialog = False

End Function

程序运行效果如图2所示。

 

图2 程序运行效果

五、结语

权重估值算法本身的特点,使程序在智力不低的基础上有了不错的反应速度。算法流程中未加入递归预测,主要原因是权重估值时我们利用了得分无穷小的近似计算,但以此为依据递归并不能用归纳法推证,使其所算分值不一定接近事实;即使在特殊情况下恰巧满足了归纳法的条件,也会因为得分无穷小的存在而使递归预测所得电脑智力的提高受到限制。总的来说,本文为VB编程环境下五子棋的完整实现提供了较为详实的参考,也为五子棋在权重估值算法上的可行性与效果提供了一定的理论依据。

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089