Added multithreading to AIPlayer for better performance
+ MoveProcessor and ProcessingResult classes for handling multithreaded move calculation + Separate package for AIPlayer and its components
This commit is contained in:
@ -8,10 +8,10 @@ import javax.swing.JButton;
|
||||
import javax.swing.JDialog;
|
||||
|
||||
import dev.kske.chess.board.Piece.Color;
|
||||
import dev.kske.chess.game.AIPlayer;
|
||||
import dev.kske.chess.game.Game;
|
||||
import dev.kske.chess.game.NaturalPlayer;
|
||||
import dev.kske.chess.game.Player;
|
||||
import dev.kske.chess.game.ai.AIPlayer;
|
||||
|
||||
/**
|
||||
* Project: <strong>Chess</strong><br>
|
||||
@ -48,7 +48,7 @@ public class GameModeDialog extends JDialog {
|
||||
btnAI.addActionListener((evt) -> {
|
||||
Map<Color, Player> players = new HashMap<>();
|
||||
players.put(Color.WHITE, new NaturalPlayer(boardPanel.getBoard(), Color.WHITE, boardPanel));
|
||||
players.put(Color.BLACK, new AIPlayer(boardPanel.getBoard(), Color.BLACK));
|
||||
players.put(Color.BLACK, new AIPlayer(boardPanel.getBoard(), Color.BLACK, 4));
|
||||
startGame(players, boardPanel);
|
||||
});
|
||||
getContentPane().add(btnAI);
|
||||
@ -56,8 +56,8 @@ public class GameModeDialog extends JDialog {
|
||||
JButton btnAI2 = new JButton("AI against AI");
|
||||
btnAI2.addActionListener((evt) -> {
|
||||
Map<Color, Player> players = new HashMap<>();
|
||||
players.put(Color.WHITE, new AIPlayer(boardPanel.getBoard(), Color.WHITE));
|
||||
players.put(Color.BLACK, new AIPlayer(boardPanel.getBoard(), Color.BLACK));
|
||||
players.put(Color.WHITE, new AIPlayer(boardPanel.getBoard(), Color.WHITE, 4));
|
||||
players.put(Color.BLACK, new AIPlayer(boardPanel.getBoard(), Color.BLACK, 3));
|
||||
startGame(players, boardPanel);
|
||||
});
|
||||
getContentPane().add(btnAI2);
|
||||
|
Reference in New Issue
Block a user