通过Minimax算法实现基础人机对抗博弈 (Minimax Algorithm)

Using the Minimax Algorithm to implement the Basic Human-Machine Confrontation Game

本文介绍了编写一个名为“奥赛罗”的Java程序来玩反转棋游戏。

Reversi是在一个8 * 8的棋盘上玩的双人棋游戏♟。棋子分为黑白两色,故称“黑白棋”;因为行棋之时将对方棋子翻转,变为己方棋子,故又称“翻转棋”(Reversi)。

游戏规则

在下面的描述中,线段的定义是形成连续直线(水平、垂直或对角线)的一系列棋盘方块。

玩家放置棋子的规则是该棋子必须放置在一个空的方块上,使得有一条线段穿过所下的棋子,然后穿过一个或多个相反颜色的棋子,并以玩家自己颜色的棋子结束。
当存在这样一条线段时,我们说对手在该线段上的棋子被包围起来。
游戏规定黑棋先走。
当放置一个棋子时,被包围的棋子会根据以下规则改变颜色:


在本图中,左图显示了白方可能采取的走法,将对手的三个棋子括起来,形成右图所示的位置。

当且仅当一名玩家无法移动而其对手可以移动时,该玩家就错过了一个回合。 当两个玩家都无法移动时游戏结束。(这种情况通常(但并非总是)发生,因为所有方格都已被占据。)获胜者是棋盘上自己颜色的棋子数量较多的玩家; 如果没有这样的玩家,则结果为平局。


类文件,配置具体介绍

玩家端(人类)


机器端(电脑)


游戏运行注意事项

About this Post

This post is written by Rui Xu, licensed under CC BY-NC 4.0.

#AI#Java