Write a program that plays a simple card game with one

Assignment Help JAVA Programming
Reference no: EM132080164

Need help writing this java program here are the directions/explanation:

Your task is to write a program that plays a simple card game with one human player and one computer player. The game uses a deck of 52 cards. Each card has a value (either a number 2 through 10 or a label jack, queen, king, or ace) and a suit (hearts, diamonds, clubs or spades).

The objective of the game is to get four cards with the same value. For example, the 8 of hearts, diamonds, clubs and spades. At the beginning of the game, the cards are shuffled and each player is given four cards. The remaining cards are placed into a queue called the "draw pile." There is another pile called the "discard pile" that starts out empty. The discard pile is a stack (an ArrayDeque in Java).

If neither player has been dealt a winning hand, the players take turns until one of them wins. At each turn the player can either draw a new card from the draw pile or pick up the top card on the discard pile. In this game the human player always goes first. Because the discard pile starts out empty, the human player must initially pick up a card from the draw pile. After that, the human player must select a card to put into the discard pile.

This can either be the card he drew or one that was already in his hand. If the human player now has four cards with the same value, he wins. Otherwise, it is the computer's turn. The computer can either draw a card from the draw pile or pick up the card that the human player put onto the discard pile.

Then the computer player must place one of its cards onto the discard pile. If the computer player now has four cards with the same value, it wins. Otherwise, it is the human player's turn; however, this time the human player can either take a card from the draw pile or pick up the card that the computer player put onto the discard pile.

This process repeats until one player wins. At that point, the game should display the message "You win!" if the human player won or "I win!" if the computer player won. The program should then terminate. An example execution of this game is shown in the program output below

Here is what the output should look like:

Your cards are:

Queen of Hearts

Seven of Hearts

Eight of Hearts

Seven of Diamonds

The discard pile is currently empty -- you must draw a card

You drew the Five of Spades

Now your cards are:

1. Queen of Hearts

2. Seven of Hearts

3. Eight of Hearts

4. Seven of Diamonds

5. Five of Spades

Which one do you want to discard?

1 I will draw a new card.

I will discard the Two of Spades

Your cards are:

Five of Spades

Seven of Hearts

Eight of Hearts

Seven of Diamonds

The top card in the discard pile is the Two of Spades

Do you want to pick up the Two of Spades (1) or draw a card (2)?

2

You drew the Queen of Diamonds

Now your cards are:

1. Five of Spades

2. Seven of Hearts

3. Eight of Hearts

4. Seven of Diamonds

5. Queen of Diamonds

Which one do you want to discard?

1

I will pick up the Five of Spades

I will discard the Six of Diamonds

Your cards are:

Queen of Diamonds

Seven of Hearts

Eight of Hearts

Seven of Diamonds

The top card in the discard pile is the Six of Diamonds

Do you want to pick up the Six of Diamonds (1) or draw a card (2)?

2

You drew the Five of Diamonds Now your cards are:

1. Queen of Diamonds

2. Seven of Hearts

3. Eight of Hearts

4. Seven of Diamonds

5. Five of Diamonds Which one do you want to discard?

1

I will draw a new card.

I will discard the King of Spades

Your cards are:

Five of Diamonds

Seven of Hearts

Eight of Hearts

Seven of Diamonds

The top card in the discard pile is the King of Spades

Do you want to pick up the King of Spades (1) or draw a card (2)?

2

You drew the Nine of Diamonds Now your cards are:

1. Five of Diamonds

2. Seven of Hearts

3. Eight of Hearts

4. Seven of Diamonds

5. Nine of Diamonds

Which one do you want to discard?

5

Your program will be graded according to this rubric (each item is worth one point):

• The program creates the deck of cards, shuffles it, and gives each player four cards.

• The human player is notified what card is on top of the discard pile (which is implemented as a stack), and he can either take that card or draw a card from the draw pile (which is implemented as a queue).

• The human player can discard either a card that was already in his hand or the card he just acquired during his turn. This card is then placed on top of the discard pile.

• The computer player is capable of both taking a card from the draw pile or picking up the card on top of the discard pile, and it does not do the same thing every time. It may choose which to do either randomly or according to some strategy, whichever you prefer.

• The computer player does not always discard the same card every time (i.e. it doesn't always discard the card it just picked up). It may choose which card to discard randomly or according to some strategy, whichever you prefer.

• If the draw pile becomes empty before either player has won the game, all of the cards in the discard pile are shuffled and moved back to the draw pile.

• The program correctly recognizes when someone wins and displays the appropriate message.

Reference no: EM132080164

Questions Cloud

Why should policymakers care about gdp : Despite the fact that GDP is not a flawless measure of prosperity, policymakers ought to think about it in light of the fact that a bigger
Graph the demand and supply curves : a. Graph the demand and supply curves. What is the equilibrium price and quantity in this market?
Calculate payroll for department and employee : Build an application that would allow the end-user to calculate an Employee's Gross Pay and the Department's average Gross Pay Report.
Make a program that has an array of at least 20 integers : Write a program that has an array of at least 20 integers. It should call a function that uses the linear search algorithm to locate one of the values.
Write a program that plays a simple card game with one : Write a program that plays a simple card game with one human player and one computer player. The game uses a deck of 52 cards.
Implement a priority queue class that does two types of sort : You need to implement a priority queue class in C++ that does two types of sorting, one selection sort and the other insertion sort.
What is the opportunity cost of investing in capital : What is the opportunity cost of investing in capital?
Mylie total utility from singing the same song : Mylie's total utility from singing the same song over and over is as shown in the table below.
What annual rate of return did she receive on her investment : At the end of 2 years, just after receiving the fourth dividend, sh esold the stock for $23 per share and paid a $58 brokerage commission from the proceeds

Reviews

Write a Review

JAVA Programming Questions & Answers

  Create a program from scratch a one-dimensional game

create a program from scratch; a one-dimensional game of Lights Out. Briefly, the game consists of a row of lights that can be either on or off.

  Write a class that has three overloaded static methods

Write a class that has three overloaded static methods for calculating the areas of the following geometric shapes

  Write the exam statistics program

Programming Assignment #2 The Exam Statistics Program Include a Table of Contents here... * Assignment #2: The Exam Statistics Program

  Create a java class called samearraysexception

Create a Java class called SameArraysException that extends the Exception class.

  Modify the java application using netbeans ide

Modify the Java application using NetBeans IDE to meet these additional and changed business requirements:  The application will now compare the total annual compensation of at least two salespersons

  Create online store web site

the Java and JSP source codes and SQL scripts for creating a database in Oracle - any configuration files used

  Create a class and method

reate a constructor1.2- create a method called void add( int a, int b) This method will add a and b and assign it to c1.3- create another method printResult

  Convert Netbeans project into a Maven Netbeans project

Convert your Netbeans project into a Maven Netbeans project - Create a new Maven Project (File->New Project->Maven->Java Application)

  Create simple java application to generate integer values

Create your own simple Java application to generate X random Integer values between 0 and Y. Use command line arguments for entry of X and Y

  Mutant bacterium-synthesize the amino acid tyrosine

Consider a mutant bacterium you have isolated which is unable to synthesize the amino acid tyrosine. You grow it in the presence of a chemical mutagen and isolate a single revertant, which is now able to grow in the absence of tyrosine

  What is the output of the following program explain

What is the output of the following program? Explain. Explain the meaning of the reserved word this and why it is necessary in the class below. Will the class compile without using this

  Write a code that tests for a match.

Comments in the code tell you where to write your statements. You can use the Mail Order Program in this chapter guide.

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