ECE 2524

Introduction to Unix for Engineers

I'm obviously the worst detective ever

Usage

So the concept of the game is awesome. I loved playing Clue as a kid and a text based version of it is very appealing. I could tell a lot of time went into making this game and it really shows. The game was a little tough to compile mainly because I had to download the zip file and copy each of the project files into a Visual Studio project that I made, but after I did that, I was able to play the game. I found the game to be very easy to play. There were standard options that the user could choose from and based off of those choices, the user would get information about the murder. There are definitely a few bugs, but I will adress those later in the bugs section.

Style

The syle of the code was very thought out and neat. There are two header files: CastleGame.h and room.h. In Castle.h there are various different functions that provide the user with information about each room, what the layout of the floor they are on looks like and where certain people are on that map. This definitely speaks to the Rule of Modularity because each of these smaller functions, when glued together, create the overall advertised game.

The CastleGame.cpp file is where all the wokr gets done. While reading through the code, I understood the majority of it because I have coded in C++ before. However, someone with no coding experience would definitely need some comments to help them understand what the code is actually doing.

There are also three text files that have the layout of the floors on them and are called in the CastleGame.h file when the user chooses to see the map.

For a game this complex, I am very impressed with how little code there actually is which definitely shows that the programmers had the Rule of Simplicity in mind.

Philosophy

The program follows the Filter Pattern because it takes the users input and acts accordingly. I believe the program is very modular because of all the smaller functions it has to do smaller tasks that ultimately make up the game as a whole. And, for the complexity of the game I believe the rule of simplicity was followed because there are not that many lines of code. Overall, I believe this project was very Unixy!

Bugs

Okay so when I was playing, I went to the Basement and talked to Janitor Bob and then I traveled to the First floor and went into Room 8 but it still said I was in the boiler room. Every room I tried to go into after that, it still said I was in the boiler room and Janitor Bob was the only person in there. Unfortunately, I was unable to solve the mystery. I am curious though, what happens when you do think you have solved the mystery? Who do you go tell? That was the only bug that I really saw.

Suggestions

So I really think it would be beneficial to have another option where the user can keep of list of clues they find from taling to various suspects and interacting with various items. It would be easier than having to go back and talk to people you have already talked to. Also, I think it would be cool if you could randomize the places of the character at the start of each new game. Im not sure how easy that would be, but it would make for a more interesting layout of the game.

Overall, I really enjoyed the game and I think you all did a wonderful job of creating a text based version of one of my favorite board games!