ECE 2524

Introduction to Unix for Engineers

This is awesome! I can remeber playing Mastermind as a kid!

Usage

The Mastermind project (https://github.com/kimsib/Mastermind) was a great project. I loved the idea behind the game and the README provided excellent instructions on how to start the game. Like the example REVIEW.md, I just cloned the project and ran: $ make $ ./Mastermind and the project started. The README also provided clear instructions on how to play the game. I knew what Mastermind was before I played this version, but the instructions would allow a new player to jump right in.

Style

The code was separated into three files. A mastermind.h header file, a Mastermind.cpp file as implementation of the mastermind.h header file, and a main.cpp file that ran the mastermind function.

The style of the code was incredibly easy to follow and I appreciated the time that the designer took to organize and indent the code properly. It allowed me to pick up on what the code was doing with little effort.

However, my ability to read the code may have a bit to do with my knowledge of the subject matter. If a new user was trying to decipher variable names then they may have a difficult time picking up on the intended purpose. That really is not a fault of the designer though. They design the code and the variable names with a consistent pattern of the project. It is all intended to work together to provide readable code that is sensible with the code titles and with the project intentions.

Philosophy

The Mastermind project really followed the “Rule of Silence.” It was simple, containing one major function, and did not require a data file as input. It took standard input and produced standard output after simple manipulation of the input. The core of the program, the mastermind function, handled all of the necessary methods required to produce an entertaining game.

It could have used a the “Rule of Repair” though because there did not seem to be any error checking. That may have been because it is not a finished project though. I will be back again to try it again after the semester is properly finished.

Conclusion

Overall, I loved what this team did in their version of Mastermind. I never won, but I could have if I put more time into it.

I would have liked to see better error checking though. At the beginning of the program, when it said type ‘begin’ to begin the game, if you typed anything other than begin the program shut down. Also, there was not any error checking to make sure that your guesses were five characters in length and contained only digits. I picked up on this fairly quickly though and with proper input the program ran swimmingly. Great job to this group! And if this is not the finished product I will be back to see it again.