Homework Week 5
(100 points) One-way to solidify the concepts of client/server computing and interprocess communication is to develop the requirements for a computer game which plays “Rock, Paper, Scissors” using these techniques. The requirements should specify which elements of the gaming task are performed by the client and those performed by the server, which interprocess communication technique you are going to employ, and include a discussion of how information is exchanged. An actual program is not required just the design specifications.
The game is normally played by two people (more are possible), and the rules are quite simple. Each player decides on one of three items, then on the count of three shows them to the other player(s) (i.e., each player pumps their fist three times, then hold out their hand in an appropriate gesture.) The items may be rock (closed fist), paper (palm open), or scissors (two finger “peace” sign), and the winner is determined by:
• Paper beats rock – paper wraps rock
• Rock beats scissors – rock dulls scissors
• Scissors beats paper – scissors cut paper
Your assignment is as follows:
• Create a set of programs
o No coding, just design
o Rules for Rock, Paper, Scissors
If the two people choose the same symbol (rock, paper, scissors), it is a draw and they play again
If the two people choose different symbols, the winner is determined as follows:
• Rock beats scissors
• Scissors beats paper
• Paper beats rock
o Use at least two processes
o Specify the interprocess communication technique used to exchange messages between the client(s) and server
o You will need to answer the questions
How do you get the server’s attention (how does the process start)?
What commands will be accepted (how do you send messages)?
How are the answers provided (what is the response)?
o In addition you will need to deal with the following:
Content of the message
How the messages are exchanged
How does the server respond to the message
What happens if timeout
How is the game terminated
You will be graded on the completeness and robustness of your solution using the following guidelines:
Client/Server Task descriptions 20 points
Interprocess communication methodology 25 points
Game start and end (Communication set up) 20 points
Message descriptions 20 points
Writing and presentation 15 points
Total score 100 points