Simulate and implement a game of blackjack

Assignment Help JAVA Programming
Reference no: EM131112114

Java

Project: BlackJack

This is an individual project, to be completed on your own. It is considered dishonest either to read someone else's solution or to provide a classmate with a copy of your work. Do not make the mistake of thinking that superficial changes in a program (such as altering comments, changing variable names, or interchanging statements) can be used to avoid detection. If you cannot do the work yourself, it is extremely unlikely that you can succeed in disguising someone else's work. We are adamant that cheating in any form is not tolerated. Even the most trivial assignment is better not done than if you cheat to complete it.

Prerequisites

1. Primitive types
2. Simple arithmetic operations
3. Conditionals
4. Loops
5. Scanner class

Learning Objectives

1. Problem solving
2. Building interactive programs, that is, getting input from the user
3. Using conditionals and loops to guide the program behavior

Introduction

In this project you will simulate a game of BlackJack. You will implement the logic for a round; you will also provide the user with the option to play another round or exit the game.

Game Rules

Blackjack, also known as 21, is a very popular casino game between a player and a dealer. It is played with a deck of 52 cards. For this project, we will consider the simplest version of the game.

The goal of the game is for the player to obtain a hand of cards that beats the dealer in one of the following ways:

1. Get 21 points on the first two cards, this is called a BlackJack. Note that if the dealer gets a BlackJack (21) on the first two cards, no matter what, the dealer wins.

2. Reach a final score higher than the dealer without exceeding 21

3. Let the dealer draw additional cards until her hand exceeds 21

At the beginning of the game, the player is dealt two cards and the dealer takes two cards. The value of their cards are added together to update each of their scores. Face cards (King, Queen and Jack) are counted as 10 points. Ace cards are counted as 11 and any other cards are counted as the numeric value shown on the card. If the player scores 21 on the first two cards, and the dealer doesn't, he gets a BlackJack and immediately wins. If the dealer gets a BlackJack, the player loses, no matter the score.

After receiving their first two cards, if the game continues, the player has the option of getting additional cards, one by one, which is called a hit. If the player scores higher than 21 at any given point is called a bust and results in an immediate loss. Every time the player hits, the dealer must also hit, unless her total score is 17 or more. Once the dealer reaches or exceeds 17, she can't take any more cards.

Once the player has decided he doesn't want to hit anymore, the round has ended. The player wins by not busting and having a total higher than the dealer's. The dealer loses by busting at the end of the round or having a lesser hand than the player who has not busted. If the player and dealer have the same total, this is called a push and it is considered a tie.

Discussion: From description to code

The rules of Blackjack were explained in the previous section. But now, how to go from the description of the rules to a Java program? As this is your very first project, we will give you some help.

From the Blackjack description, we know that we need to represent in Java two "objects", that is:

1. a card, that represents a single card in a 52 deck.
2. the deck of 52 cards.

Attachment:- Java_Project_BlackJack.rar

Reference no: EM131112114

Questions Cloud

What is the behavioral finance challenge to this hypothesis : What does the efficient-market hypothesis (EMH) say about (a) Securities prices, (b) Their reaction to new information, and (c) Investor opportunities to profit? What is the behavioral finance challenge to this hypothesis?
Describe the events that occur in an efficient market : Describe the events that occur in an efficient market in response to new information that causes the expected return to exceed the required return. What happens to the market value?
What role does an investment banker play in a public : What role does an investment banker play in a public offering? Describe an underwriting syndicate.
Managing the inventory for the trendy upscale : You are responsible for managing the inventory for the trendy upscale specialty food store, Partial Foods. You are trying to set the inventory policy for one of your most popular cheeses, Mad Cow Cheddar, which comes in 1 pound wheels. It is a ..
Simulate and implement a game of blackjack : In this project you will simulate a game of BlackJack. You will implement the logic for a round; you will also provide the user with the option to play another round or exit the game.
What general procedures must a private firm follow : What general procedures must a private firm follow to go public via an initial public offering (IPO)?
The opportunities and avenues for pr practitioners : We have been looking at the opportunities and avenues for PR practitioners to disseminate their messages to the mass media - practices that utilize social media in addition to traditional media platforms. And soon you will be developing a News Rel..
What are the four ways that vcs are most commonly organized : What are the four ways that VCs are most commonly organized? How are their deals structured and priced?
What is the difference between a venture capitalist : What is the difference between a venture capitalist (VC) and an angel capitalist (angel)?

Reviews

Write a Review

JAVA Programming Questions & Answers

  Discuss how an interface differs from a class

Discuss how an interface differs from a class, how interfaces are defined, and what does implementing an interface mean.

  Write a method called negative sum

Write a method called negativeSum that accepts a Scanner reading input from a file containing a series of integers, and print a message to the console indicating whether the sum starting from the first number is ever negative

  Reads an input record and prints the name

Reads an input record and prints the name if the current total is less than the limit.

  Write a program that prompts the user to input an integer

Write a program that prompts the user to input an integer and then outputs both the individual digits of the number and the sum of the digits.

  String copy and string concatenation functions

Write the string copy and string concatenation functions -  Append n characters from string2 to stringl by using pointer arithmetic

  Write a program to create a file named "numbers.dat".

Write a program to create a file named "numbers.dat". Then create an algorithm that adds all even numbered integers from 1 to 100, separated by a comma.

  Shooting star

Initial project folder you will see the beginnings of a Driver - You need to implement that DoubleListOfBlock methods so they perform

  Use of width and height attributes in an element

Which of the following will occur if you do not use the width and height attributes in an element?

  Display the birthday messages.

I figured out how to work with the dates. Right now all it does is prompt for user name and birthday, and then output the information back along with age in years and days.

  Generate an amortization schedule

The applet input will be the loan amount, annual percentage rate (APR), and the number of years to pay out the loan. The output will be the loan amount, interest rate per pay period number of pay periods and the monthly payment

  Implement a class called reversewords

Implement a class called ReverseWords that uses a stack to output a set of elements input by the user in reverse order.

  Your project as a programming consultant is to create a

your project as a programming consultant is to create a program that develops an amortization schedule.nbsp your

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