Ask Java Expert


Home >> Java

For this project, you will implement a JavaFX-based two-player (human vs. computer) version of the Uno Sesame Street version.

You will need to use many or all of the techniques covered in class this semester, like arrays, classes, inheritance and polymorphism, and GUI programming.

Uno is an American card game that is played with a specially printed deck originally developed in 1971 by Merle Robbins in Reading, Ohio, and it has been a Mattel brand since 1992.

The objective of the game is to be the first player to get rid of all the cards in your hand. The first player to get rid of ALL their cards wins the game!

The game contains 36 UNO Cards with Sesame Street Characters:

(4) Big Bird #1 cards (red, yellow, blue, green)

(4) Zoe #2 cards (red, yellow, blue, green)

(4) Cookie Monster #3 cards (red, yellow, blue, green)

(4) Elmo #4 cards (red, yellow, blue, green)

(4) Baby Bear #5 cards (red, yellow, blue, green)

(4) Rosita #6 cards (red, yellow, blue, green)

(4) Grover #7 cards (red, yellow, blue, green)

(2) Ernie and Bert "Draw 1" cards (red, blue)

(2) Oscar the Grouch "Choose who to draw 2" cards (yellow, green)

(4) Monster "Wild" cards

Game Setup:

1. Shuffle the cards.

2. Each player draws a card. The player with the highest card number starts first.

3. Reshuffle all the cards and deal 5 cards to each player.

4. Place the remaining cards face down to make a Draw Pile.

5. Turn over the top card of the Draw Pile to make the Discard Pile. If the card drawn is a Wild Card or a Draw 2 Card, continue drawing cards until you find a number card (1-7).

Game Play:

The first player goes first. The player may play a card that matches the number, color or character of the card in the Discard Pile, or a special card (see below). If the player has a card that matches color, number or character, the player will put it in the Discard Pile.

Example: If the card in the Discard Pile is a Blue Zoe #2 Card, the player may play any Blue Card or any Zoe #2 Card.

If the player does not have a match or a Wild Card, the player must draw one card from the Draw Pile. If the card the player draws matches the color, number or character of the card in the Discard Pile, the player may put it play it. Otherwise, the player's turn ends.

Wild cards:

Instead of playing a matching card, the player may change the color of play by playing a Wild Card. The player will play the Wild Card and call out the color the player wants to play (the player may even call the current color if they like).

Example: If the card in the Discard Pile is a Blue Zoe #2 Card, the player may play a Wild Card and change the color to Yellow.

+1 cards:

The player may play a red or blue "+1" card on top of a red or blue 1 card in the Discard Pile. When the player plays a "+1" card, the other player must draw 1 card from the Draw Pile and forfeit their turn. The next player (i.e., the first player) must play the matching color, another "+1" card or a "Wild" card.

+2 cards:

The player may play a green or yellow "+2" card on top of a red or blue 2 card in the Discard Pile. When the player plays a "+2" card, the other player must draw 2 cards from the Draw Pile and forfeit their turn. The next player (i.e., the first player) must play the matching color, another "+2" card or a "Wild" card.

"UNO!":

When the player has two cards left in her/his hand, (s)he must click or enter "UNO" (meaning "one") on a button or textfield before her/his second-to-last card is selected for the Discard Pile. If (s)he does not enter "UNO", (s)he must get two cards from the Draw Pile.

If no one is out of cards by the time the Draw pile is depleted, reshuffle the Discard pile, turn it over and continue play.

Java, Programming

  • Category:- Java
  • Reference No.:- M93096721

Have any Question?


Related Questions in Java

Chatbotscreate a small networked chat application that is

Chatbots Create a small, networked chat application that is populated by bots. Introduction On an old server park, filled with applications from the early days of the internet, a few servers still run one of the earliest ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

Assignment game prototypeoverviewfor this assessment task

Assignment: Game Prototype Overview For this assessment task you are expected to construct a prototype level/area as a "proof of concept" for the game that you have designed in Assignment 1. The prototype should function ...

Assignment taskwrite a java console application that allows

Assignment task Write a java console application that allows the user to read, validate, store, display, sort and search data such as flight departure city (String), flight number (integer), flight distance (integer), fl ...

In relation to javaa what is constructor the purpose of

(In relation to Java) A. What is constructor? the purpose of default constructor? B. How do you get a copy of the object but not the reference of the object? C. What are static variables and instance variables? D. Compar ...

Project descriptionwrite a java program to traverse a

Project Description: Write a java program to traverse a directory structure (DirWalker.java) of csv files that contain csv files with customer info. A simple sample in provided in with the sample code but you MUST will r ...

Fundamentals of operating systems and java

Fundamentals of Operating Systems and Java Programming Purpose of the assessment (with ULO Mapping) This assignment assesses the following Unit Learning Outcomes; students should be able to demonstrate their achievements ...

Assessment -java program using array of Assessment -JAVA Program using array of objects

Assessment -JAVA Program using array of objects Objectives This assessment item relates to the course learning outcomes as stated in the Unit Profile. Details For this assignment, you are required to develop a Windowed G ...

Applied software engineering assignment 1 -learning

Applied Software Engineering Assignment 1 - Learning outcomes - 1. Understand the notion of software engineering and why it is important. 2. Analyse the risk factors associated with phases of the software development lif ...

Retail price calculatorwrite a java program that asks the

Retail Price Calculator Write a JAVA program that asks the user to enter an item's wholesale cost and its markup percentage. It should then display the item's retail price. For example: (If an item's wholesale cost is 5. ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

Why might a bank avoid the use of interest rate swaps even

Why might a bank avoid the use of interest rate swaps, even when the institution is exposed to significant interest rate

Describe the difference between zero coupon bonds and

Describe the difference between zero coupon bonds and coupon bonds. Under what conditions will a coupon bond sell at a p

Compute the present value of an annuity of 880 per year

Compute the present value of an annuity of $ 880 per year for 16 years, given a discount rate of 6 percent per annum. As

Compute the present value of an 1150 payment made in ten

Compute the present value of an $1,150 payment made in ten years when the discount rate is 12 percent. (Do not round int

Compute the present value of an annuity of 699 per year

Compute the present value of an annuity of $ 699 per year for 19 years, given a discount rate of 6 percent per annum. As