最近一年心情都不好,各种烦心事。幸亏有一点爱好,趁着现在“大姨妈”没有来,做一个智能五子棋好了。我打算分为两个大部分:首先实现一个五子棋程序,然后改进算法。
因为我对五子棋不是很了解,经常被简单电脑秒杀。所以我从实现一个简单五子棋程序开始。
古代五子棋棋盘与围棋棋盘是通用的,汉魏时为十七路(17×17)棋盘,至南北朝时即已流行十九路(19×19)棋盘,直至1931年,才出现所谓五子棋专用棋盘,如图所示,为十五路(15×15)棋盘,形状近于正方形,平面上画横竖各15条平行线,线路为黑色,构成225个交叉点,邻近两个交点的距离纵线约为2.5厘米,横线约为2.4厘米。棋盘正中一点为“天元”。棋盘两端的横线称端线,棋盘左右最外边的两条纵线称边线。从两条端线和两条边线向正中发展而纵横交叉在第四条线形成的四个点称为“星”。天元和星应在棋盘上用直径约为0.5厘米的实心小圆点标出。
五子棋规则:
1)对局双方各执一色棋子。
(2)空棋盘开局。
(3)黑先、白后,交替下子,每次只能下一子。
(4)棋子下在棋盘的空白点上,棋子下定后,不得向其它点移动,不得从棋盘上拿掉或拿起另落别处。
(5)黑方的第一枚棋子可下在棋盘任意交叉点上。
(6)轮流下子是双方的权利,但允许任何一方放弃下子权(即:PASS权)。
胜利条件:斜线或者直线上存在同色的五个棋子,则该方胜利。