我正在制作一个国际象棋游戏,并且能够实现国际象棋的所有基本规则。现在我想实现两种不同的算法,即minimax和alpha beta算法。我希望评估功能使用以下评估功能(件数,移动性,件方块表,件的评估,中心控制,连接性,被困件,王安全和节奏)。我的问题是如何以编程方式实现两种算法以包含我上面列出的这些功能。
答案 0 :(得分:1)
创建一个将由两个类EvaluationAlgorithm
和MiniMaxEvaluator
实现的接口AlphaBetaEvaluator
。在初始化中,实例化其中一个类的对象。其余代码应该只将其视为EvaluationAlgorithm
,而不关心实际的类。
EvaluationAlgorithm
界面应声明一种或多种方法,让您提供游戏状态或从游戏状态中提取的功能,并获取游戏状态的分数。