summaryrefslogtreecommitdiff
path: root/quacker/macondo.cpp
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2025-08-17 11:21:08 -0400
committerpommicket <pommicket@gmail.com>2025-08-17 11:21:08 -0400
commit879f5a9c10593335232262b5e51a5741f07ac5fa (patch)
tree7562450034a66e667394ef88a61b1d70f73f4b65 /quacker/macondo.cpp
parentbf75ca2b4ee5c00d53f7807d9feee23af281c9f6 (diff)
Integrate endgame solver
Diffstat (limited to 'quacker/macondo.cpp')
-rw-r--r--quacker/macondo.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/quacker/macondo.cpp b/quacker/macondo.cpp
index 3048195..a6d5d9d 100644
--- a/quacker/macondo.cpp
+++ b/quacker/macondo.cpp
@@ -21,7 +21,7 @@ Macondo::Macondo(Quackle::Game *game) : View() {
execPath += "/apps/macondo/macondo";
initOptions = std::make_unique<MacondoInitOptions>(execPath);
m_backend = new MacondoBackend(game, *initOptions);
- connect(m_backend, SIGNAL(gotMoves(const Quackle::MoveList &)), this, SLOT(gotMoves(const Quackle::MoveList &)));
+ connectBackendSignals();
m_solve = new QPushButton(tr("Solve"));
m_solve->setDisabled(true);
QGridLayout *layout = new QGridLayout(this);
@@ -70,9 +70,14 @@ void Macondo::solve() {
void Macondo::gameChanged(Quackle::Game *game) {
delete m_backend;
m_backend = new MacondoBackend(game, *initOptions);
+ connectBackendSignals();
m_game = game;
}
+void Macondo::connectBackendSignals() {
+ connect(m_backend, SIGNAL(gotMoves(const Quackle::MoveList &)), this, SLOT(gotMoves(const Quackle::MoveList &)));
+}
+
void Macondo::stop() {
m_backend->stop();
m_anyUpdates = false;
@@ -85,9 +90,10 @@ bool Macondo::useForSimulation() const {
}
void Macondo::gotMoves(const Quackle::MoveList &moves) {
- printf("aaa moves\n");
m_moves = moves;
m_anyUpdates = true;
+ if (moves.size() == 1)
+ emit setCandidateMove(&moves[0]);
}
void Macondo::positionChanged(const Quackle::GamePosition *position) {