Hello Everyone.
My name is Christopher Rodriguez, and though I've been messing around with C++ for a few years, I had never really created a program of my own, from scratch. Now I have, and I am looking for a few kind souls to let me know what they think. I'm not asking for solutions here, but more of a review of the entire project.
The code (it's a bzipped tarball right now) lives at:
http://www.danusclearing.com/openleaf/tarballs/mastermind-0.0.1.tar.bz2
The project was to recreate the old board game "Mastermind" for the terminal. Right now, as it is in an early alpha, the only finished feature is playing the basic 4 peg, 6 color game against a computer 'mastermind.'
In order to play the game, if You compile it, You need to input the first letter of one of six colors (Red, Blue, Green, Yellow, Orange and White), four times, at the guess prompt. Your first guess might be 'RRRR' or 'GYOW.' I haven't included support for lower case letters yet, so they need to be capitals right now.
After the guess, a correction code comes up. '0' is 'in the right place,' '^' is 'used at least once in the code, but not here,' and 'X' is 'not used in this code at all.' Youll figure it out pretty easily, especially if You look at the code.
In total, there are about 190 lines of code there. The NCurses Library is included for the unstable branch of the program, where I am working to convert the code to a compatible format for the C-based functions of Curses. The sections I feel need the most work are the end of the game loop, and probably the overall structure of the entire program.
I'll admit that I didn't really follow much of a good design practice for this program, but that is part of why I am asking for reviews: I want to improve, and have no real way to do so aside from creating another project and trying to implement it. Unfortunately, This approach doesn't really let me learn new design practices or better flow in my programs, so I am a bit worried.
Anyway, Thank You for reading this long post. I will appreciate any and all comments and criticisms that I receive, and look forward to hearing all of them! I really want to improve.
Thank You all,
Christopher Rodriguez