1. Masz duży nieporządek we włączaniu nagłówków. Nie będę już zakładał klona na githubie podam Ci poniżej same źródła które mają poprawione włączanie nagłówków.
2. Pod systemem GNU/Linux, nie działa (choć nawet nie wiem czy miało działać), kliknięcie w pole. Ergo gra nie działa.
3. To słaby pomysł by dane typu szerokość/wysokość przetrzymywać w typie ze znakiem. Nie będą przecież miały wartości ujemnej.
4. To ogólnie słaby pomysł by przetrzymywać *.dll'ki w repozytorium. To nie są dane projektu.
5. Warto rozważyć posługiwanie się innym (niezależnym) systemem budowania niż Visual Studio. Teoretycznie powinien być niezależny od IDE i systemu operacyjnego. Ja dopisałem prosty Makefile wyłącznie do testów ale docelowo rozważał bym CMake lub Meson.
6. Nie formatujesz konsekwentnie kodu. Przecież są programy/wtyczki formatujące kod.
7. W nagłówkach stosuj klasy zapowiadające. Wciąganie nagłówków w każdym przypadku nie jest niezbędne. Ogólnie (i nie jest to pełen obraz) jeśli klasa jest używana przez wskaźnik lub referencję, nie wymaga nagłówka w pliku *.h. Zrobiłem Ci to w załączonych źródłach.
8. Zostawiasz zakomentowany kod. To ogólne zła praktyka i mści się w projektach.
9. Masz szereg atrybutów i zmiennych które nie są nigdzie użyte w kodzie.
10. Masz funkcje z których wychodzisz bez zwrócenia wartości.
Uwagi umieściłem w TODO
https://www.dropbox.com/s/486hnp9t74v837h/minesweeper.zip?dl=0