ECE 2524

Introduction to Unix for Engineers

is the prize in bitcoins?

Usage

  • The README contained everything I needed to easily use the program:

  • The program compiles/runs without errors:

    9 warnings generated.

  • The program worked as advertised:

    it would be helpful to include an example, probably just in the README, of the format to select cases (space delimited vs. comma delimited or something else).

Style

  • The code is cleaning divided into modules and multiple files:

    Everything is inside a single source file, though the functions in that source file are fairly modular.

  • Variable and function names are meaningful:

  • Comments are used where appropriate:

    adapting a standard docstring format would allow for automatic documentation generation.

Philosophy

  • The program most closely follows the ed-like interface pattern:

  • This choice of pattern is a good one for this application:

    a rogue-like interface might make a little more sense here to give the impression of physical cases that were being removed from the table.

  • This program follows the Rule of Silence and Least Surprise:

  • This program follows the Rules of Modularity and Composition:

    a clean separation of the game logic, along with a simple, silence-is-golden ed-like I/O interface would allow for a light UI wrapper providing a text interface like the one provided but also a light UI wrapper providing a graphical interfae.

  • This program follows the Rules of Representation and Simplicity:

    lots of magic numbers, and in particular, case values should be loaded from an external file. This would open up the possibility for different types of games since the values and numbers of cases could be easily manipulated without changing the code.

Bugs

Choosing y for Would you like to play again? doesn't start a new game, just get the same prompt back.