人工智能的编程示例:五虎棋的人机对战程序 第一讲简介

零、 五虎棋的简介

五虎棋是童年接触的棋,虽然不如五子棋和黑白棋流传广泛,但是它是我的老家的地方棋,

在人工智能的时代,应该在互联网上发扬光大。在第一讲先介绍 一下棋的规则,棋的界面,

还有几个棋局的棋谱。

一 、五虎棋的规则

有红绿两方交替下棋子,在五乘五的正方形的棋盘上。经过12.5个回合的落子,接下来是走棋子阶段。

本方如果有五个棋子,连接成一行,或者是一列,或者是对角线,称为形成了五虎,吃掉对方一个棋子。

如果本方的棋子形成了一个由四个棋子组成的正方形,称为一个小斗,吃掉对方一个棋子。在斜向上三个棋子

连成斜行,两端棋子在棋盘的边界上,称为三斜,吃掉对方一个棋子。

在斜向上四个棋子连成斜行,两端棋子在棋盘的边界上,称为四斜,吃掉对方一个棋子。

五虎,小斗,三斜,四斜,统称为乘, 只要在下棋子和走棋子阶落,形成了一个乘,就可以吃掉对方一个棋子。

结局时,棋子多者为赢。输者只剩下两个棋子,无法形成一个乘。

二 界面

如下图

人工智能的编程示例:五虎棋的人机对战程序 第一讲简介

 

三、棋谱

在上面的棋盘的坐标是左上角为0,0,右下角是4,4。

第1回合:绿方下棋:在 [1,1],
红方下棋: 在[3,1],第2回合:绿方下棋:在 [1,3],
红方下棋: 在[3,3],第3回合:绿方下棋:在 [1,2],
红方下棋: 在[2,2],第4回合:绿方下棋:在 [2,1],
红方下棋: 在[0,2],第5回合:绿方下棋:在 [2,3],
红方下棋: 在[3,2],第6回合:绿方下棋:在 [2,0],
红方下棋: 在[1,0],第7回合:绿方下棋:在 [2,4],
红方下棋: 在[1,4],第8回合:绿方下棋:在 [4,2],
红方下棋: 在[3,0],第9回合:绿方下棋:在 [3,4],
红方下棋: 在[0,1],第10回合:绿方下棋:在 [0,3],
红方下棋: 在[4,1],第11回合:绿方下棋:在 [4,0],
红方下棋: 在[4,3],第12回合:绿方下棋:在 [0,0],
红方下棋: 在[4,4],第13回合:绿方下棋:在 [0,4],落子已经结束红方拔子:在 [4,2],第14回合:绿方拔子:在 [1,0],
红方走棋: 从[4,3]到[4,2]     红方吃子:在 [2,0],绿方走棋:从 [2,1]到[2,0]
红方走棋: 从[4,4]到[4,3]     红方吃子:在 [2,4],绿方走棋:从 [3,4]到[2,4]
红方走棋: 从[4,3]到[4,4]     绿方走棋:从 [0,0]到[1,0]
红方走棋: 从[4,4]到[3,4]     红方吃子:在 [2,4],绿方走棋:从 [1,0]到[0,0]
红方走棋: 从[3,4]到[2,4]     红方吃子:在 [2,3],绿方走棋:从 [0,0]到[1,0]
红方走棋: 从[3,3]到[2,3]     红方吃子:在 [1,3],绿方走棋:从 [0,3]到[1,3]
红方走棋: 从[2,3]到[3,3]     红方吃子:在 [1,3],绿方走棋:从 [1,2]到[1,3]
红方走棋: 从[2,4]到[3,4]     红方吃子:在 [2,0],绿方走棋:从 [1,0]到[2,0]
红方走棋: 从[2,2]到[2,3]     红方吃子:在 [2,0],绿方走棋:从 [1,1]到[1,2]
红方走棋: 从[3,4]到[2,4]     红方吃子:在 [1,3],绿方走棋:从 [1,2]到[1,3]
红方走棋: 从[2,4]到[3,4]     红方吃子:在 [1,3],


第1回合:绿方下棋:在 [1,1],
红方下棋: 在[3,1],第2回合:绿方下棋:在 [1,3],
红方下棋: 在[3,3],第3回合:绿方下棋:在 [1,2],
红方下棋: 在[2,2],第4回合:绿方下棋:在 [2,1],
红方下棋: 在[0,2],第5回合:绿方下棋:在 [2,3],
红方下棋: 在[3,2],第6回合:绿方下棋:在 [2,0],
红方下棋: 在[1,0],第7回合:绿方下棋:在 [2,4],
红方下棋: 在[1,4],第8回合:绿方下棋:在 [4,2],
红方下棋: 在[3,0],第9回合:绿方下棋:在 [3,4],
红方下棋: 在[0,1],第10回合:绿方下棋:在 [0,3],
红方下棋: 在[4,1],第11回合:绿方下棋:在 [4,0],
红方下棋: 在[4,3],第12回合:绿方下棋:在 [0,0],
红方下棋: 在[4,4],第13回合:绿方下棋:在 [0,4],落子已经结束红方拔子:在 [4,2],第14回合:绿方拔子:在 [0,2],
红方走棋: 从[4,3]到[4,2]     红方吃子:在 [2,0],绿方走棋:从 [0,3]到[0,2]第15回合:绿方吃子13:在 [0,1]
红方走棋: 从[4,4]到[4,3]     红方吃子:在 [2,3],绿方走棋:从 [0,0]到[0,1]第16回合:绿方吃子13:在 [2,2]
红方走棋: 从[3,3]到[2,3]     红方吃子:在 [2,1],绿方走棋:从 [0,4]到[0,3]第17回合:绿方吃子13:在 [1,0]
红方走棋: 从[3,0]到[2,0]     红方吃子:在 [3,4],绿方走棋:从 [0,1]到[0,0]
红方走棋: 从[2,3]到[3,3]     红方吃子:在 [1,1],绿方走棋:从 [1,3]到[2,3]
红方走棋: 从[3,1]到[2,1]     绿方走棋:从 [0,3]到[1,3]第18回合:绿方吃子13:在 [2,1]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [2,3],绿方走棋:从 [0,2]到[0,1]
红方走棋: 从[3,3]到[4,3]     绿方走棋:从 [0,1]到[0,2]第19回合:绿方吃子13:在 [1,4]
红方走棋: 从[3,1]到[3,2]     绿方走棋:从 [0,2]到[0,1]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [1,3],绿方走棋:从 [0,0]到[1,0]
红方走棋: 从[3,1]到[3,2]     绿方走棋:从 [4,0]到[3,0]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [3,0],绿方走棋:从 [0,1]到[0,0]
红方走棋: 从[3,1]到[3,2]     绿方走棋:从 [0,0]到[0,1]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [1,2],绿方走棋:从 [0,1]到[0,0]
红方走棋: 从[3,1]到[3,2]     绿方走棋:从 [0,0]到[0,1]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [0,1],


第1回合:绿方下棋:在 [1,1],
红方下棋: 在[1,3],第2回合:绿方下棋:在 [3,1],
红方下棋: 在[2,0],第3回合:绿方下棋:在 [3,3],
红方下棋: 在[3,2],第4回合:绿方下棋:在 [1,2],
红方下棋: 在[0,2],第5回合:绿方下棋:在 [2,4],
红方下棋: 在[2,3],第6回合:第7回合:绿方吃子3:在 [1,3],绿方下棋:在 [4,2],
红方下棋: 在[1,4],第8回合:绿方下棋:在 [2,1],
红方下棋: 在[4,1],红方吃子:在 [1,2],第9回合:绿方下棋:在 [2,2],
红方下棋: 在[0,1],第10回合:绿方下棋:在 [0,3],
红方下棋: 在[3,4],第11回合:绿方下棋:在 [1,0],
红方下棋: 在[3,0],第12回合:绿方下棋:在 [4,3],
红方下棋: 在[0,4],第13回合:绿方下棋:在 [0,0],落子已经结束
红方走棋: 从[0,2]到[1,2]     红方吃子:在 [0,0],绿方走棋:从 [1,0]到[0,0]
红方走棋: 从[3,4]到[4,4]     绿方走棋:从 [2,4]到[3,4]
红方走棋: 从[1,4]到[2,4]     绿方走棋:从 [0,0]到[1,0]
红方走棋: 从[0,4]到[1,4]     红方吃子:在 [3,4],绿方走棋:从 [0,3]到[1,3]
红方走棋: 从[2,4]到[3,4]     红方吃子:在 [1,3],绿方走棋:从 [1,0]到[0,0]
红方走棋: 从[1,4]到[1,3]     绿方走棋:从 [0,0]到[1,0]
红方走棋: 从[1,3]到[1,4]     红方吃子:在 [1,0],绿方走棋:从 [1,1]到[1,0]
红方走棋: 从[1,4]到[1,3]     绿方走棋:从 [1,0]到[0,0]
红方走棋: 从[0,1]到[0,2]     绿方走棋:从 [0,0]到[0,1]
红方走棋: 从[3,4]到[2,4]     红方吃子:在 [0,1],绿方走棋:从 [2,1]到[1,1]
红方走棋: 从[2,4]到[1,4]     红方吃子:在 [1,1],绿方走棋:从 [3,1]到[2,1]
红方走棋: 从[1,4]到[2,4]     红方吃子:在 [2,1],绿方走棋:从 [3,3]到[3,4]
红方走棋: 从[2,4]到[1,4]     红方吃子:在 [3,4],绿方走棋:从 [4,3]到[3,3]
红方走棋: 从[1,4]到[2,4]     红方吃子:在 [2,2],


第1回合:绿方下棋:在 [1,1],
红方下棋: 在[1,3],第2回合:绿方下棋:在 [3,1],
红方下棋: 在[2,0],第3回合:绿方下棋:在 [3,3],
红方下棋: 在[3,2],第4回合:绿方下棋:在 [1,2],
红方下棋: 在[0,2],第5回合:绿方下棋:在 [2,4],
红方下棋: 在[2,3],第6回合:第7回合:绿方吃子3:在 [1,3],绿方下棋:在 [4,2],
红方下棋: 在[1,4],第8回合:绿方下棋:在 [2,1],
红方下棋: 在[4,1],红方吃子:在 [1,2],第9回合:绿方下棋:在 [2,2],
红方下棋: 在[0,1],第10回合:绿方下棋:在 [0,3],
红方下棋: 在[3,4],第11回合:绿方下棋:在 [1,0],
红方下棋: 在[3,0],第12回合:绿方下棋:在 [4,3],
红方下棋: 在[0,4],第13回合:绿方下棋:在 [0,0],落子已经结束
红方走棋: 从[0,2]到[1,2]     红方吃子:在 [1,1],绿方走棋:从 [0,3]到[0,2]
红方走棋: 从[1,2]到[1,1]     绿方走棋:从 [2,2]到[1,2]
红方走棋: 从[1,4]到[1,3]     绿方走棋:从 [2,4]到[1,4]
红方走棋: 从[3,4]到[2,4]     绿方走棋:从 [4,3]到[4,4]
红方走棋: 从[2,3]到[2,2]     绿方走棋:从 [4,4]到[3,4]
红方走棋: 从[2,2]到[2,3]     绿方走棋:从 [3,4]到[4,4]
红方走棋: 从[1,3]到[0,3]     绿方走棋:从 [4,4]到[3,4]
红方走棋: 从[2,3]到[2,2]     绿方走棋:从 [1,4]到[1,3]
红方走棋: 从[0,4]到[1,4]     绿方走棋:从 [3,3]到[2,3]
红方走棋: 从[3,0]到[4,0]     绿方走棋:从 [3,4]到[3,3]
红方走棋: 从[1,4]到[0,4]     绿方走棋:从 [4,2]到[4,3]
红方走棋: 从[4,1]到[4,2]     绿方走棋:从 [4,3]到[4,4]
红方走棋: 从[0,4]到[1,4]     绿方走棋:从 [4,4]到[3,4]
红方走棋: 从[4,0]到[4,1]     绿方走棋:从 [3,4]到[4,4]
红方走棋: 从[0,3]到[0,4]     绿方走棋:从 [4,4]到[3,4]
红方走棋: 从[4,2]到[4,3]     绿方走棋:从 [3,4]到[4,4]
红方走棋: 从[4,1]到[4,2]     绿方走棋:从 [4,4]到[3,4]
红方走棋: 从[4,3]到[4,4]     绿方走棋:从 [1,3]到[0,3]
红方走棋: 从[1,4]到[1,3]     绿方走棋:从 [3,1]到[3,0]第14回合:绿方吃子13:在 [1,3]
红方走棋: 从[3,2]到[3,1]     红方吃子:在 [0,2],绿方走棋:从 [0,3]到[0,2]
红方走棋: 从[0,4]到[0,3]     绿方走棋:从 [3,0]到[4,0]
红方走棋: 从[4,2]到[4,1]     绿方走棋:从 [4,0]到[3,0]
红方走棋: 从[4,4]到[4,3]     绿方走棋:从 [3,0]到[4,0]
红方走棋: 从[4,1]到[4,2]     红方吃子:在 [3,3],绿方走棋:从 [3,4]到[3,3]
红方走棋: 从[4,2]到[4,1]     绿方走棋:从 [4,0]到[3,0]
红方走棋: 从[4,1]到[4,2]     红方吃子:在 [3,3],绿方走棋:从 [2,3]到[3,3]
红方走棋: 从[4,2]到[4,1]     绿方走棋:从 [3,0]到[4,0]
红方走棋: 从[4,1]到[4,2]     红方吃子:在 [3,3],绿方走棋:从 [4,0]到[3,0]
红方走棋: 从[4,3]到[3,3]     红方吃子:在 [2,1],绿方走棋:从 [3,0]到[4,0]
红方走棋: 从[3,3]到[3,2]     绿方走棋:从 [4,0]到[3,0]
红方走棋: 从[2,0]到[2,1]     红方吃子:在 [1,2],绿方走棋:从 [3,0]到[2,0]
红方走棋: 从[3,2]到[3,3]     红方吃子:在 [0,2],绿方走棋:从 [2,0]到[3,0]
红方走棋: 从[4,2]到[4,1]     红方吃子:在 [1,0],


第1回合:绿方下棋:在 [1,1],
红方下棋: 在[1,3],第2回合:绿方下棋:在 [3,1],
红方下棋: 在[2,0],第3回合:绿方下棋:在 [3,3],
红方下棋: 在[3,2],第4回合:绿方下棋:在 [1,2],
红方下棋: 在[0,2],第5回合:绿方下棋:在 [2,4],
红方下棋: 在[2,3],第6回合:绿方吃子3:在 [1,3],绿方下棋:在 [4,2],
红方下棋: 在[1,4],第7回合:绿方下棋:在 [2,1],
红方下棋: 在[4,1],红方吃子:在 [1,2],第8回合:绿方下棋:在 [2,2],
红方下棋: 在[0,1],第9回合:绿方下棋:在 [0,3],
红方下棋: 在[3,4],第10回合:绿方下棋:在 [1,0],
红方下棋: 在[3,0],第11回合:绿方下棋:在 [4,3],
红方下棋: 在[0,4],第12回合:绿方下棋:在 [0,0],
红方下棋: 在[4,4],第13回合:绿方下棋:在 [4,0],落子已经结束
红方走棋: 从[0,2]到[1,2]     红方吃子:在 [0,3],绿方拔子:在 [3,2],红方拔子:在 [2,1],绿方走棋:从 [2,2]到[3,2]绿方吃子13:在 [4,1]
红方走棋: 从[0,4]到[0,3]     绿方走棋:从 [3,1]到[2,1]绿方吃子13:在 [2,0]
红方走棋: 从[1,4]到[1,3]     绿方走棋:从 [1,0]到[2,0]
红方走棋: 从[0,1]到[0,2]     红方吃子:在 [2,1],绿方走棋:从 [3,2]到[3,1]绿方吃子13:在 [2,3]
红方走棋: 从[1,3]到[2,3]     绿方走棋:从 [3,1]到[3,2]绿方吃子13:在 [1,2]
红方走棋: 从[3,0]到[3,1]     绿方走棋:从 [2,4]到[1,4]
红方走棋: 从[3,4]到[2,4]     绿方走棋:从 [1,4]到[1,3]
红方走棋: 从[4,4]到[3,4]     绿方走棋:从 [4,3]到[4,4]
红方走棋: 从[2,3]到[2,2]     绿方走棋:从 [4,4]到[4,3]绿方吃子13:在 [3,1]
红方走棋: 从[2,2]到[1,2]     绿方走棋:从 [3,2]到[3,1]绿方吃子13:在 [1,2]
红方走棋: 从[2,4]到[2,3]     绿方走棋:从 [3,1]到[3,2]绿方吃子13:在 [2,3]
红方走棋: 从[0,3]到[0,4]     绿方走棋:从 [3,2]到[3,1]绿方吃子13:在 [0,2]