From 879f5a9c10593335232262b5e51a5741f07ac5fa Mon Sep 17 00:00:00 2001 From: pommicket Date: Sun, 17 Aug 2025 11:21:08 -0400 Subject: Integrate endgame solver --- quacker/macondo.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'quacker/macondo.cpp') 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(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) { -- cgit v1.2.3