Client - Checkers Gamer
Client - Design and implement a checkers client that has the following features and functionality:
• The client has a friendly graphical user interface (GUI) that includes a window showing the
user’s contacts.
• When a match is started, the GUI will show a checkers grid with the users and the opponents
pieces.
• The user opens the game and connects to the game server using the servers domain name
and port number.
• The user is given the option to register or login.
• If the user is not registered, they can sign up and provide the server with username and
password.
• In case of a registered user, the user logs in with their existing account where the server
performs authentication by verifying the username and password.
• Every user is assigned a score. A new user starts with a 0 score that increments with every
game won. Scores can only be viewed by the user’s contacts.
• A logged in user has the ability to add contacts by sending their username to the server.
The server should notify the user if the contact accepted their add request.
• A user can send and receive play requests from his contact list.
• The user should not be able to move his pieces if it is the opponents turn.
• The user should not be able to move his pieces to an invalid position.
Server - Checkers Game Server
Server - Design and implement a checkers game server that has the following features and
functionality:
• The server application takes as a command line argument the port number on which it
would be listening.
• The server allows the users to register and login.
• The server application manages a database that stores user accounts, list of ”online users”,
and contacts of each user.
• The server has to change the user status to online if they are logged in and offline otherwise.
• Every time a new user signs up for a new account, the server adds a new user.
• Every time a user logs in, the server authenticates them by verifying their username and
password.
• When a user adds a contact, the server should update the contact list of that user.
• When a user moves a piece, the server should send that information to the users opponent
and vice versa.
• When a user sends a ”play” request to one of their contacts, the server should relay that
request to the specified contact.
Extra Features
• Implement the online checkers game using peer-to-peer architecture.
• Allow two opponents to chat during a match.
• Allow the user to view his records (total games played, games won, games lost). The records
should be stored on the server.
Hi,
I'm a senior developer with more than 15 years of experience. My last project was an application for the optics industry called TryOnMe Global Edition, which can be found on Google. I'm focused on mobile multi-platform development. I'm sure I can help you with this job. Thank you.
Best regards