Ruszyła kolejna edycja konkursu Daj się poznać. Postanowiłem wziąć w nim udział tworząc projekt programu do rozwiązywania obrazków logicznych (nonogramów). Umożliwi on wczytanie i samodzielne rozwiązywanie obrazków logicznych bądź skorzystanie z automatycznego solvera. Solver ten będzie rozwiązywał obrazki tak jak człowiek. Program będzie rozwiązywał obrazek stosując odpowiednie, zgodne z zasadami metody rozwiązywania. Sprawdzi czy obrazek jest możliwy do rozwiązania przez człowieka. Będzie też możliwość zweryfikowania czy istnieje tylko jedno poprawne rozwiązanie. Wprowadzanie obrazka do programu będzie odbywało się przez wpisanie liczb opisujących obrazek, narysowanie go lub poprzez import pliku z obrazkami lub bazą obrazków.
Zastosowane technologie
Część logiki solvera miałem wcześniej napisaną w języku C++, więc postanowiłem użyć właśnie tego języka i poznać jakąś biblioteką GUI. Biblioteki, które wybrałem to wxWidgets oraz QT – jeszcze nie jestem ostateczne zdecydowany na którąś z nich. Zaletą wxWidgets jest bardziej liberalna licencja i to, że kiedyś napisałem kilka bardzo prostych programów z jej użyciem, natomiast QT jest dostarczany z gotowym, skonfigurowanym środowiskiem – QT Creator i jest używany w komercyjnych projektach. Pakiet QT zawiera wszystkie niezbędne biblioteki, edytor kodu źródłowego oraz wizualny edytor plików *.ui z widokami. Wymaga jedynie dostępu do kompilatora – w moim przypadku użyję Visual C++ 14 zawartego w Visual studio 2015.