14 Oct Don’t use chegg or coursehero Programming Assignment 7 Theme Parks and Threads ?? Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is waiting. Some com
Don't use chegg or coursehero
Programming Assignment 7 – Theme Parks and Threads
Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is waiting.
Some companies invest in a lot of clever systems to help manage and control their lines more efficiently.
To see behind the scenes at how Disney does this, check out:
https://www.nytimes.com/2010/12/28/business/media/28disney.html
Now we’re going to create our own command station that uses threads to activate and track rider
movement throughout a bustling amusement park.
Program Requirements
• Create a new class called “ThemePark.” Inside it, put your main program. This program will
manage and monitor all the theme park rides in the park. ThemePark should extend Thread.
• Create a new class called “Amusement.” This class should extend Thread. This class will have the
following variables and methods to access them. (Remember to use proper Object-Oriented
design in its creation):
o A ride type (e.g., “Bumper Cars,” “Rollercoaster,” “Carousel”)
o A waiting Queue (those waiting in line)
o A ride Queue (those actively riding the ride)
o A maximum capacity (controls how many people can ride)
o A ride duration (how long the ride takes)
o A running Boolean (is the ride running? True/false) – initially set to false
• Override the run() function inside your “Amusement” class. This function should do the
following
o Set the “running” state to true
o Sleep for x seconds (where x is the ride’s duration)
o When finished, set the “running” state to false
• Inside ThemePark, instantiate five Amusement objects. Assign each Amusement a type,
capacity, and duration. Put the capacity at around 20–60 riders at one time
o Create a new Queue called “attendees.” Fill this with unique numbers from 1–1000
o Start each of the Amusement threads. Have ThemePark check every second on the
“running” status of each Amusement. If an Amusement is not running, first put all of
the riders in the Amusement’s ride Queue into the “attendees” Queue. Put the
maximum number of riders from the ride’s waiting Queue into the ride Queue. Finally,
take a set number of riders from the “attendees” Queue and place them in the
Amusement’s waiting Queue
Note: here is a diagram to help you make sense of the flow of riders into the various
Queues:
• If the user types “END,” stop all of the threads and place the riders back into the attendees
Queue. Then exit the program
Include appropriate comments throughout your code. Remember to use standard Java naming
conventions. Put your name and description of the program in the comments at the top. Submit your
ThemePark, Amusement, and all associated project Java and class files, as well as a screenshot of it in
operation on your computer. Package all of these in a zip file and name the submission in the format:
NAME_COURSE_ASSIGNMENT_DATE.zip
Submission is due by 11:59 p.m. ET.
• If the user types “END,” stop all of the threads and place the riders back into the attendees
Queue. Then exit the program
Include appropriate comments throughout your code. Remember to use standard Java naming
conventions. Put your name and description of the program in the comments at the top. Submit your
ThemePark, Amusement, and all associated project Java and class files, as well as a screenshot of it in
operation on your computer. Package all of these in a zip file and name the submission in the format:
NAME_COURSE_ASSIGNMENT_DATE.zip
Programming Assignment 7 – Theme Parks and Threads
Amusement parks are a lot of fun, but everyone agrees the worst part of the experience is waiting.
Some companies invest in a lot of clever systems to help manage and control their lines more efficiently.
To see behind the scenes at how Disney does this, check out:
Now we’re going to create our own command station that uses threads to activate and track rider
movement throughout a bustling amusement park.
Program Requirements
• Create a new class called “ThemePark.” Inside it, put your main program. This program will
manage and monitor all the theme park rides in the park. ThemePark should extend Thread.
• Create a new class called “Amusement.” This class should extend Thread. This class will have the
following variables and methods to access them. (Remember to use proper Object-Oriented
design in its creation):
o A ride type (e.g., “Bumper Cars,” “Rollercoaster,” “Carousel”)
o A waiting Queue (those waiting in line)
o A ride Queue (those actively riding the ride)
o A maximum capacity (controls how many people can ride)
o A ride duration (how long the ride takes)
o A running Boolean (is the ride running? True/false) – initially set to false
• Override the run() function inside your “Amusement” class. This function should do the
following
o Set the “running” state to true
o Sleep for x seconds (where x is the ride’s duration)
o When finished, set the “running” state to false
• Inside ThemePark, instantiate five Amusement objects. Assign each Amusement a type,
capacity, and duration. Put the capacity at around 20–60 riders at one time
o Create a new Queue called “attendees.” Fill this with unique numbers from 1–1000
o Start each of the Amusement threads. Have ThemePark check every second on the
“running” status of each Amusement. If an Amusement is not running, first put all of
the riders in the Amusement’s ride Queue into the “attendees” Queue. Put the
maximum number of riders from the ride’s waiting Queue into the ride Queue. Finally,
take a set number of riders from the “attendees” Queue and place them in the
Amusement’s waiting Queue
Note: here is a diagram to help you make sense of the flow of riders into the various
Queues:
• If the user types “END,” stop all of the threads and place the riders back into the attendees
Queue. Then exit the program
Include appropriate comments throughout your code. Remember to use standard Java naming
conventions. Put your name and description of the program in the comments at the top. Submit your
ThemePark, Amusement, and all associated project Java and class files, as well as a screenshot of it in
operation on your computer. Package all of these in a zip file and name the submission in the format:
NAME_COURSE_ASSIGNMENT_DATE.zip
Submission is due by 11:59 p.m. ET.
Our website has a team of professional writers who can help you write any of your homework. They will write your papers from scratch. We also have a team of editors just to make sure all papers are of HIGH QUALITY & PLAGIARISM FREE. To make an Order you only need to click Ask A Question and we will direct you to our Order Page at WriteDemy. Then fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Fill in all the assignment paper details that are required in the order form with the standard information being the page count, deadline, academic level and type of paper. It is advisable to have this information at hand so that you can quickly fill in the necessary information needed in the form for the essay writer to be immediately assigned to your writing project. Make payment for the custom essay order to enable us to assign a suitable writer to your order. Payments are made through Paypal on a secured billing page. Finally, sit back and relax.
About Wridemy
We are a professional paper writing website. If you have searched a question and bumped into our website just know you are in the right place to get help in your coursework. We offer HIGH QUALITY & PLAGIARISM FREE Papers.
How It Works
To make an Order you only need to click on “Order Now” and we will direct you to our Order Page. Fill Our Order Form with all your assignment instructions. Select your deadline and pay for your paper. You will get it few hours before your set deadline.
Are there Discounts?
All new clients are eligible for 20% off in their first Order. Our payment method is safe and secure.
