Client – Checkers Gamer Client

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 .

• 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.

© 2020 customphdthesis.com. All Rights Reserved. | Disclaimer: for assistance purposes only. These custom papers should be used with proper reference.