#include "cnonogramsolver.h" #include "cnonogram.h" namespace libqcross { CNonogramSolver::CNonogramSolver(QObject * parent) : QObject(parent), m_Nonogram(NULL), m_OverlayData(NULL) { } CNonogramSolver::~CNonogramSolver() { cleanup(); } bool CNonogramSolver::solve() { if (!m_Nonogram) return false; cleanup(); m_OverlayData = new int *[m_Nonogram->width()]; for (int i = 0; i < m_Nonogram->width(); i++) { m_OverlayData[i] = new int[m_Nonogram->height()]; for (int j = 0; j < m_Nonogram->height(); j++) m_OverlayData[i][j] = 0; } for (int i = 0; i < m_Nonogram->height(); i++) solveRow(i); return false; } void CNonogramSolver::cleanup() { if (m_OverlayData && m_Nonogram) { for (int i = 0; i < m_Nonogram->width(); i++) delete[] m_OverlayData[i]; delete[] m_OverlayData; } } bool CNonogramSolver::solveRow(int /*y*/) { return false; // int left = 0; // int right = m_Nonogram->width()-1; // // foreach (int k, m_Nonogram->rowNumbers(y)) { // if (k == m_Nonogram->width()) // for (int i = 0; ) // m_OverlayData[i][y] = 1; // } // // while (m_OverlayData[right][y] && left < right) // right++; // // if (left == right) // return true; // // if (m_Nonogram->rowNumbers(y)[0] == 0) // for (int i = left; i <= right; i++) // m_OverlayData[i][y] = MT_CROSSED; // // foreach (int k, m_Nonogram->rowNumbers(y)) { // // } } }