CS 4500 Assignment #6. Assigned: Friday, 28 February 2014 Due: Friday, 14 March 2014 Working in an instructor-approved team of four students (except for a few smaller teams approved by the instructor), develop a prototype of the semester project as specified by the students' consensus design for assignment 5. Your prototype's source code must be written entirely by your team. Your team may not use source code written by other students, source code obtained from the World-Wide Web or other sources, and it may not use software packages that are not already installed on the CCIS Linux machines. In exceptional circumstances, you may ask the instructor for permission to use third party source code. You should not assume that permission will be granted. Your prototype must include a README file (which *must* be in UTF-8 plain text, and must be named README) that 1. lists all members of your team, 2. gives the preferred email address(es) for contacting your team, 3. tells the grader(s) how your team's rapid prototype can be compiled and run on any CCIS Linux machine in the main lab, 4. acknowledges any third party software used (by permission!) in your submitted software. All of the files necessary to construct and to run your prototype must be combined into a gzip'ed tar file whose name ends in tar.gz. Submit that gzip'ed tar file before 10pm on the date it is due using the submit script that's described at the course assignments page: http://www.ccs.neu.edu/course/cs4500sp14/assignments.html Your prototype will be graded on these criteria: 1. the quality of the instructions and documentation in your README file, 2. the ease of constructing and running your prototype on CCIS Linux machines, 3. your prototype's correctness with respect to parsing correct command lines sending correct messages not sending extraneous messages not sending messages too early not attempting to create files 4. and the readability of your source code. Your prototype's build process must result in software that can be invoked by cd'ing to the directory containing your software's executable and executing a command of the following form: ./play4500 --go --time/move where is 1 or 2, depending on whether the player goes first or second (respectively), and is the time allowed per move, in any of these formats: 2s 2.0s 2000ms 2000.0ms Example: ./play4500 --go 1 --time/move 1.2s says the player goes first and will be given 1.2 seconds per move. If the command line is incorrect, the play4500 program should write an appropriate error message to standard error and should then terminate with an exit code other than zero. If the command line is correct, then the play4500 program should send an initial configuration for its pieces to standard output. After sending that initial configuration to standard output, the play4500 program should behave as specified by the students' consensus design. A rapid prototype of the referee program will eventually be placed within /course/cs4500sp14/Assignments/A6 ----------------------------------------------------------------