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

一、五子棋介绍

五子棋是中国古代的传统黑白棋种之一。现代五子棋日文称之为“連珠”,英译为“Renju”,英文称之为“Gobang”或“FIR(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目 ”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;既有简单易学的特性,为人民群众所喜闻乐见,又有深奥的技巧和高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。黑白双方依次落子,任一方先在棋盘上形成横向、竖向、斜向的连续的相同颜色的五个(含五个以上)棋子的一方为胜。这种规则适合初学的五子棋爱好者。因为这种规则下黑棋胜算较大。甚至已经有人证明在黑白双方都不出现错误的情况下,黑棋可以必胜。所以一般要求连续玩两盘,即任一方执黑,执白各一次。

二、逻辑变量与常量

逻辑变量与常量的分析如下:

Public Const Five As Integer = 3000 '五子连线得分

Public Const FFDL As Integer = 2900 '双活四得分

Public Const FFSL As Integer = 2800 '活四成四得分

Public Const FTDL As Integer = 2700 '活四活三得分

Public Const FL As Integer = 2600 '单活四得分

Public Const FFNL As Integer = 2500 '双成四得分

Public Const FTSL As Integer = 2400 '成四活三得分

Public Const TTDL As Integer = 2300 '双活三得分

Public X%, Y% '水平与垂直坐标

Public Xt%, Yt% '临时横纵坐标

Public CountNum% '棋步总数记录变量

Public Piece() As Integer ' 0表示空闲,1为玩家12为玩家2

Public Piecet() As Integer '用于估值函数使用的临时数组

Public GameOrNot As Boolean '是否游戏中

Public Flag As Byte '行棋变量,表示该谁下棋,数值与棋子变量相同

Public PieceRec() As Integer '定义棋步记录变量以记录所走棋步

Public AIOrNot As Boolean '是否人机对战模式,人机对战则为True

Public LBlock(4) As Boolean, RBlock(4) As Boolean '左堵右堵记录变量数组

Public EmptyNumE(4) As Byte '定义空个数记录变量数组

Public PieceNum(4) As Byte '定义棋子个数记录数组

Public ScoreE(4) As Integer '定义得分数组

Public ScoreS As Integer '定义得分记录空间变量

Public FirstMove As Boolean '是否玩家先行

注:以上声明均在模块中进行。

  推荐精品文章

·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