Machine learning for reversi.

performance improvements for reversi.getlegalmoves
This commit is contained in:
Ticho Hidding
2025-12-02 10:59:33 +01:00
parent 1a11827ba3
commit 7e913ff50f
11 changed files with 464 additions and 24 deletions

View File

@@ -2,6 +2,7 @@ package org.toop;
import org.toop.app.App;
import org.toop.framework.audio.*;
import org.toop.framework.machinelearning.NeuralNetwork;
import org.toop.framework.networking.NetworkingClientEventListener;
import org.toop.framework.networking.NetworkingClientManager;
import org.toop.framework.resource.ResourceLoader;
@@ -35,6 +36,10 @@ public final class Main {
).initListeners("medium-button-click.wav");
}).start();
//NeuralNetwork nn = new NeuralNetwork();
//nn.init();
}
}

View File

@@ -15,6 +15,7 @@ import org.toop.game.reversi.ReversiAI;
import javafx.geometry.Pos;
import javafx.scene.paint.Color;
import org.toop.game.reversi.ReversiAIML;
import java.awt.*;
import java.util.concurrent.BlockingQueue;
@@ -30,7 +31,7 @@ public final class ReversiGame {
private final BlockingQueue<Move> moveQueue;
private final Reversi game;
private final ReversiAI ai;
private final ReversiAIML ai;
private final GameView primary;
private final ReversiCanvas canvas;
@@ -46,7 +47,7 @@ public final class ReversiGame {
moveQueue = new LinkedBlockingQueue<>();
game = new Reversi();
ai = new ReversiAI();
ai = new ReversiAIML();
isRunning = new AtomicBoolean(true);
isPaused = new AtomicBoolean(false);
@@ -324,7 +325,7 @@ public final class ReversiGame {
if (isLegalMove) {
moves = game.getFlipsForPotentialMove(
new Point(cellEntered%game.getColumnSize(),cellEntered/game.getRowSize()),
game.getCurrentPlayer());
game.getCurrentPlayer(), game.getCurrentPlayer() == 'B'?'W':'B',game.makeBoardAGrid());
}
canvas.drawHighlightDots(moves);
}