This was a project for my degree program, interestinly enough - it was one of the more fun projects I had admittedly done, as well.. Not many assignments include the words, "make a game!"
The idea of the project was to recreate the gameplay of "Hangman" in Object-Oriented C++. Objects had to be created for the interface and keys (buttons,) among other things.
I left the project work until towards the last two weeks of the term (I think it was a term project,) and then started writing code like crazy. One of the fun things about C++ is that you can really crash your work by overflowing a string array, reassigning a pointer or any other number of memory-related assignment/allocation operations - one minute your program is happily running, the next and all of a sudden you've crashed out of both your program and the IDE and are wondering what operation caused it.
I was able to nail almost all of the crash-causing issues in my program as far as I knew - it was playable for as long as it was interesting (maybe one game or two at most, especially if by yourself.) It would occasionally crash on exit however with a "null pointer exception" or related error, which I never got around to solving. Ah well.
A few differences in the program I made: I used an SVGA graphics mode for the program, custom pixel fonts as opposed to the regular ones, and was able to read and display a bitmap image on the screen. One of the most challenging parts of the project was reading up on the BMP format, and understanding how to decode and display it. I eventually figured it out, but have probably forgotten most of what I learned while doing it.