4 — Implementing Protocols, Analyzing the Project
Due Thursday, September 20, midnight
client, the remote spreadsheet client of the implementation task;
Place this client in a folder called 4. All auxiliary files go into a subfolder called Aux.
plan.pdf, the project description resulting from the design task.
Create a folder named Santorini with a subfolder Design. Place plan.pdf there.
Implementation Task Implement a client for the TCP spredhsheet server. See 4/given-server-spread.md, which has been deposited in your git repo.
The client accepts all JSON values that are well-formed according to
3 —
Parametrize your client over the IP address of the server. Connect at port 8000.
Design Task Read the description of Santorini. These rules are not the original ones; instead they represent how your instructor would like to see the game done. It is thus pointless to search for implementations on the web; nobody else has such strange taste as your instructor.
We will develop the software to run Santorini games between two automated players. Your friends will supply the code for autonomous players, and you will provide the framework for running fair games between such players. Since you have many friends, you should make plans to run automated tournaments that pitch every player against every other player.
what are the pieces that make up a player
what are the pieces that make up the game software
"who" knows what, "who" needs to know what, and how do "they" communicate
what is needed as common knowledge to make communication successful.
Part 2 describes how you should proceed about implementing these pieces. Keep in mind that you wish to have "demo" software soon so that a potential client can admire fully working prototypes.
The memo must not exceed 2 pages using a 12-point font/16point base line format with a 1.5in margin all around. Use at most one page per part.