GUIs aren’t graphics, though. Graphics is not so bad. Interactive graphics, still not so bad. GUI code, on the other hand, is the work of madmen.
The point is more about game state and thinking in terms of frames per second. The sooner you get out of console turn-based mode, the sooner you understand the relationships between game state and time, which is a good thing for learning to program games better, which I understand to be IK’s goal here? It doesn’t matter so much if the game is turn based.
(inb4 curses and aalib... yes, I know curses, that’s how I pulled off my “pong on a Cray” stunt in high school. It is sufficiently close to graphics/GUI to not be part of what I mean by “console based” in the above paragraph)
I think the << surcharge for cout is dumb as this has no relationship with the original intent of << (left shifting). But I can't blame people that use this sine it appears to be a standard convention in C++ to call the overloaded << operator on strings instead to call a printf function.
For years I would prefer printf to cout, even in C++, because it would add a nasty number of kilobytes to the executables, a good way to make sure beginner code takes longer to load off the disk than it takes to run