Create client and server applications to play the game

Assignment Help Programming Languages
Reference no: EM133042946

Question: You can opt to make an alternate game of equivalent difficulty, but it must use threads, a client server model with a lobby and support more than two people per game. All alternate games must be signed off on by the instructor.

Yahtzee!! Create client and server applications to play the game of Yahtzee. The server must be able to support 5 or more simultaneous connections from clients. Minimum requirements:

- Clients should have a place to enter a server ip address as well as the username they would like to use when playing.
- If more clients try to connect then the 5 allowed they should receive a message that the server is full. If a client tries to reconnect later, they should be allowed in.
- When a client gets connected:
o The client should get a list of any currently connected clients along with which game they are currently in (if any). This list should be periodically updated as people select a new game to participate in.
o They should also get a listing of games that are waiting for players join. Each listed game should also show how many players are currently in the game.
o There is a varying number of clients that can participate in a Yahtzee game, so

A player should have the ability to join any game that has not started. If they do so, the system should then inform them they must wait until the game has started. If a player chooses to join a game that already has five players they should receive a message that the game is full.

A player should also have the ability to host a new game. This option should let them choose a name for the game. If they choose this option, they should be presented with a button to start the game when they feel enough players have joined.

Since the server allows a maximum of 5 connections, you can assume that no more than 5 games will be being played at any one time.

- All clients should be able to view what dice are being rolled, who's turn it is, what roll they are on, which round this is, and the current total score of all players.

- All clients should be able to choose which category (Aces, Full House, etc.) they have entered a score for.

- All major game decisions should be performed or verified by the server. For example:
o if a client chooses to roll the dice a request should be sent to the server to roll and the server should return new random values to the client (and others as appropriate).
o If a client would like to score a roll (for example, as a full house), the dice results should be sent to the server to verify that the user doesn't already have a combination saved for the full house. The server should then score the roll and return an updated score sheet to the user.

- The server should display a list of connected users and games. The listed game names should include how many people are in each game. These listings should be updated as users connect/disconnect and games start/end

- When choosing which game to connect to a client should be able to chat with all players connected to the server and not in a game. Once connected, a client should be able to chat with players in their game. The server should display a log of all chat messages as well as client connections / disconnections and games starting and finishing. The log may be limited to the 100 most recent messages if you like.

- If a user disconnects in the middle of a game, that game should continue. The disconnecting user should just be removed from participation. If all users leave, the game should end and be removed from the list on the server/clients.

- When the server is shutdown all working threads on the server and, as necessary, the clients should end. The clients should be reset to connect to a new game.

Attachment:- Client server model.rar

Reference no: EM133042946

Questions Cloud

Identify a project you wish to implement in workplace : You are required to identify a project you wish to implement in your workplace, which aims to address and improve the key focus areas of: workplace relationship
Calculate the net present value : General rate of inflation in UK 2.8%. Calculate the Net Present Value (NPV) arising out of the incremental cash flows for each machine
7s mckinsey organisational strategy : Critically analyse the information contained within your 7S McKinsey Organisational Strategy Review and identify one (1) project
Calculate expected cash collections from customers for may : New refrigerating equipment costing $8,800 will be purchased for cash during May. Calculate the expected cash collections from customers for May
Create client and server applications to play the game : Create client and server applications to play the game of Yahtzee. The server must be able to support 5 or more simultaneous connections from clients
Long-term recruiting measures : What long-term recruiting measures should U.S. hospitals strive for?
Shape training and development of employees : There is no question that technology has and will continue to shape training and development of employees. Is that a good thing or a bad thing? why?
Explain employer responsibilities and rights under osha : In few paragraphs, list and clearly explain employer responsibilities and Rights Under OSHA
Credible news source of information on hrm topics : Using a credible news source of information on HRM topics, find a news article that interests you related to HR analytics (a.k.a. people analytics, workforce an

Reviews

Write a Review

Programming Languages Questions & Answers

  Prompt user to enter two numbers on a single line separated

Then your program will prompt the user to enter two numbers on a single line separated by a space. Your program will then validate that the two numbers input .

  Clustering code that will first give me an optimal k

Want a clustering code that will first give me an optimal k and then assign my values to each cluster

  Create an application that manipulates a billboard sign

Create an application that manipulates a billboard sign. The program must include a Billboard class (separate from the main program class) that is capable of storing the text to display.

  Write a main function to test valid id

Write a function valid_id that determines if a Students ID is valid. The function takes one argument, a string. Write a main function to test valid_id

  Write script which outputs xhtml text

Write a script which outputs XHTML text that displays in the XHTML document a rectangle, an oval, an arrow, and a diamond using asterisks (*).

  Design electronic submission of assignments from students

This system must manage electronic submission of assignments from students to instructors. It must keep track of which students have submitted assignments and must allow instructors to manage the grading.

  Write statement to call calculate interest method

Write the statement(s) necessary to call the calculate interest method with an account balance of $2300.00 and an interest rate of 5%.

  Write a paper discussing threads vs processes

Write a paper discussing Threads vs Processes. What is a Thread? What is a Process? How are they different? How are they the same? What types of problems lend themselves to Threads?

  Program that uses a recursive function to print a string

Your program must contain a recursive function that prints the string backwards. Do not use any global variables; use appropriate parameters.

  Write a program that reads an initial investment balance

Write a program that reads an initial investment balance and an interest rate. Then print the number of years it takes for the investment to reach one million dollars.

  Design logic for application for company to store breakdown

Design the logic for an application for a company that wants a report containing a breakdown of payroll by department. Input includes each employee's last name.

  Write if statement to display acceptance messag

Write an if statement that displays an acceptance message for an astronaut candidate if the person's weight is between the values of opt_min.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd