When I started, I had *no* experience with C++, only some GameMaker (and an ADA-course).
I used SDL, and followed these excellent tutorials for making a simple SDL game:
http://lazyfoo.net/SDL_tutorials/I think it worked out well for me. I just tried to get a game running, and learned more C++ concepts as I went along.
I had no idea how other roguelikes were made, I invented my own solutions for everything, which was more fun at first. Of course I made lots of horrible mistakes
1, and I've had to refactor things over and over. But it was a good learning experience.
1In the very beginning, the map was an array of integers. These integers represented different terrain types. So maybe 0 was floor, 10 was wall, 20 was grass, etc. These were only referred to by their integer value throughout the code. For example when the map generator created a room, it put a bunch of zeroes in a rectangular area. When the player was walking, the game checked that the cell you attempted to walk into was != 10. I had text files on my hard drive which listed the integers, and which terrain they represented!!! This was before I even knew about enumerated types....
Now after two C++ courses, and several thousand hours of programming, my code looks very different