Team Programming Assignment 7
CMPS 352 Operating Systems
Fall 2009

Gomuku - Scoreboard

This programming assignment asks you to implementa scoreboard for players. Each player enters a unique name (of three letters) and must use it to identify him/her-self. The system keeps track of player's first name, last name, the number of wins,  losses, and ties. When a player logs in, the system displays the scoreboard. When a game is formed, each player sees the score record (id, first name, last name, wins, losses, and ties) of his opponent.

The server reads the score board from a file named scoreboard.bin which always exists in the directory where the server is located. The server updates the file when new players are added and players records are updated. Assume that there are at most ten (10) players in the score board. scoreboard.bin should be a binary file, and you can reuse code/functions from our binary-file assignment.

When a game is over, the subserver updates the score records of both players.

You are not required to idendify and/or solve potential race condition problems in this assignment. That will be what we do in next assignment. However, when you design your solution, you may want to keep that in mind.

In addition to the functional requirements stated above, you are asked to refactor your design for modularity and efficiency. For example, remove all unused variables, name all variable with meaningful names, and structure your code such that no function is longer than three quarters of a page. Use a true IDE such as Eclipse or JGrasp to format your source code. 

To submit your assignment, email the instructor (biy1@scranton.edu) and ATTACH your source files to the email. The subject of your email should appear like “CMPS 352 Assignment 7 – Team #”. Correctly naming your file and following submission procedure is considered part of the assignment requirements.

Helpful links:

Download shared.h and semaphore.h to your source code folder
The producer and consumer problem: producer.cpp and consumer.cpp
How to use Shared Memory and Semaphores
FAQ/Blog

Server Socket Assignment:

Team #  Member Socket # Shared Memory Key
Gibbons, Kyle J.
Hurley, Travis J.
Wing, Richard H.
35210-35215 210-215
2 Gelormini, Derek
Pirozzi, Glenn A.
Russo, Jeffrey C.
35220-35225 220-225
3 Eagan, Robert V.
Pheasey, Kevin F.
Shah, Dhara T.
35230-35235 230-235