rendered paste bodyimport game.Board;import java.util.Stack;import game.algorithm.Swarm;public class AlfaBeta { private Board board; private Swarm swarm; private int init_depth; public AlfaBeta(Board x, Swarm myswarm, int depth) { init_depth = depth; board = x; swarm = myswarm; } private int alphabeta(Board table, int depth, int alfa, int beta) { // Terminal Node if (depth==0 || table.terminal==true) { // Evaluation swarm.init(table); return swarm.process(); } table.alfa = Integer.MIN_VALUE+1; table.beta = Integer.MAX_VALUE-1; // MIN if(!table.type) { Stack <Board> pos1 = table.generate(); for(int i=0; i<pos1.size(); i++) { Board child = pos1.elementAt(i); int newb = Math.min(beta, table.beta); int val = alphabeta(child, depth-1, alfa, newb); table.beta = Math.min(table.beta, val); if(alfa>=table.beta) break; } return table.beta; } // MAX else { Stack <Board> pos2 = table.generate(); for(int j=0; j<pos2.size(); j++) { Board child = pos2.elementAt(j); int newa = Math.max(alfa, table.alfa); int val = alphabeta(child, depth-1, newa, beta); table.alfa = Math.max(table.alfa, val); if(table.alfa>=beta) break; } return table.alfa; } } public int minimax(int alfa, int beta) { return alphabeta(board, init_depth, alfa, beta); }}