Kod zaraz przejrzę, teraz odpowiem na to drugie pytanie.
Nie zaglądałem jeszcze w kod, ale skoro mówisz że konsola mruga, to pewnie po wykonaniu każdego ruchu graczem czyścisz całkowicie ekran. Zamiast tego, proponuję zaimplementować sobie funkcję gotoxy. Jak to zrobić pod windowsem, a jak pod Linuksem czy innymi systemami znajdziesz w internecie. Jeśli używasz windows10 (który z tego co wiem wspiera ANSI Esc codes), to możesz użyć sposobu z właśnie ANSI Escape Codes (który zadziała też np. na Linuksie).
A problemem jest zapewne to, że po narysowaniu jednej linii mapy, nie wstawiasz znaku końca linii - jako '\n' lub jako std::endl.