The context for this assignment (Part 1 and Part 2) is a 'Beer Bottles Game Development for calculating and displaying a LOSER. This assignment will test a students knowledge of and skills in writing application software for a task, understanding the business rules of a particular problem, coding these in a computer program, developing a graphical user interface.

For this assignment, students will use the Java programming language and development will be on the NetBeans IDE platform.

This assignment consists of 2 stages,

  • Part 1: A simple console program (no GUI)
  • Part 2: The same but wrapped in a GUI

Beer Bottles Game Development

Preamble:

  • In this game, there are 21 Beer bottles and 2 players - You and Computer.
  • You and Computer would pick up the Beer bottles one by one.
  • At a time, any number of beer bottles can be picked up between 1 and 4 (inclusive)
  • The one, who will have to pick up the last bottle, is the loser and will have to pay the bill.

Design and implement a game, making use of Artificially Intelligent algorithm, so that if user is playing first, then the Computer would pick up the bottles intelligently each time, and the Computer would always Win. The Computer would never Lose.

Part 1: Design a Java application, which would display below message at the start of the game.

There are 21 beer bottles...
Computer and yourself, there are 2 players
At a time, each one can pick up any number of bottles between 1 and 4 (inclusive)
Will you like to play first?

If the User types 'Yes' and presses Enter key, the next lines of output would be

Will you like to play first?
Yes
How many you would like to pick up?

If you pick up 3 bottles initially and press 'Enter' to observe how many the Computer picks now, then as per your intelligent algorithm, the Computer needs to pick up any number of bottles between 1 and 4 (inclusive), so that at the end, the Computer would WIN. The next set of output would be.

How many you would like to pick up?
3
Computer has picked 2
The bottles remaining are: 16
How many you would like to pick up?

The User must be able to continue the game with Computer, and at every step the remaining bottles need to be displayed appropriately. The number of remaining bottles would get decreased at each step.

How many you would like to pick up?
2
Computer has picked 3
The bottles remaining are: 11
How many you would like to pick up?
3
Computer has picked 2
The bottles remaining are: 6
How many you would like to pick up?
4
Computer has picked 1

As per this artificially intelligent program, the Computer should always Win and Never Lose. If User will have to pick up the last beer bottle, then User is Loser and would have to pay the bill.

Computer has picked 1
The bottles remaining are: 1
You will have to pick up the last..you are loser

Please find below an entire program output from start to end to get an idea how algorithm needs to work see image.

Part 2: Design a UI using Java Swing components, which would look like below. [ need not exactly, but similar]. see image.

If you pick up 3 bottles initially and click the button "Pick" to observe how many the Computer picks now, then as per your intelligent algorithm, the Computer needs to pick up any number of bottles between 1 and 4 (inclusive), so that at the end, the Computer would WIN. The UI would be as below. see image.

The User must be able to continue the game with Computer, and at every step the remaining bottles need to be displayed appropriately. The number of remaining bottles would get decreased at each step. see image.

As per this artificially intelligent program, the Computer should always Win and Never Lose. If User will have to pick up the last beer bottle, then User is Loser and would have to pay the bill. see image.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.