ECE 2524

Introduction to Unix for Engineers

You know what they say: If it's not nailed down...

Escape Review

Usage

Moving between rooms works well, however it appears locking/unlocking hasn’t been implemented completely yet so parts of the mansion are locked off permenantly. Also, the ‘look’ command has a bad habit of KeyError’ing and breaking the program if you give it a bad parameter. Since I could find no way of escaping, I found solace in nicking every item in every room out of spite. Sadly I wasn’t able to look at my inventory to count my spoils once I had finished my rounds (look items just KeyError’d every time I tried it), but I imagine that by that point I would’ve had the equivelent to a small IKEA hidden in my trousers.

Style

I found it very easy to pick apart what was going on behind the code, nothing was too outlandish or hard to read. As for modularity, everything looked pretty well encapsulated. There’s a very nice framework that could be extended out into a larger product if desired with not too much effort.

Philosophy

The program fits the seperated-engine-interface pattern, with the escape.py passing user input into various commands contained in house.py which then manages all the logic behind the game. It was a good idea to do this, because otherwise the game logic would be spread between two different places and complicating the game logic severely. As for shifting complexity to data files, it doesn’t look like much more complexity can be shifted around. One of the most complicated components, the house layout, is already represented within the data files rather than dictated by game logic.