Find Jobs
Hire Freelancers

Java Program

$30-5000 USD

In Progress
Posted about 12 years ago

$30-5000 USD

Paid on delivery
Write a java game engine for a blackJack game interface using Eclipse ## Deliverables Description This project requires you to implement Blackjack game. A standard playing card has a suit and a face value. The suits are Spades, Clubs, Diamonds, and Hearts. The face values are 2-10, Jack, Queen, King, and Ace. The 52 cards in a standard deck are the result of having one face value in each suit (13 faces * 4 suits = 52 cards). Blackjack In Blackjack, the points for numerical face values are the same as the face value (e.g., the 5 of Diamonds is worth 5 points). Jack, Queen, and King cards are worth 10 points each. Ace cards are worth 11 points, however if the total hand value exceeds 21, each individual ace is converted to 1 point (one at a time). Blackjack is played against a dealer. The object of the game is to have the group of cards (called a "hand") which has the closest point total to 21 (called "Blackjack") without going over (called a "bust"). In a game against the dealer, the player is initially dealt two cards face-up and the dealer is dealt two cards, the 2nd of which is dealt face-down. The player can then decide to ask for additional cards one at a time (called a "hit") or stop receiving cards (called a "stand"). If the player "busts", the dealer automatically wins. Otherwise, once the player has decided to "stand", the dealer plays out the hand. If the dealer's hand point total is less than 17, the dealer must "hit". If the dealer's hand point total is 17 or greater, the dealer must "stand". If the dealer "busts", the player automatically wins. Otherwise, once the dealer has decided to "stand", the winner is determined. The winner has the hand closest to Blackjack (21). A tie results if both the player and the dealer have the same number of points. Design You will be provided a Graphic User Interface to use, you must use this interface. The interface controls only the user interface elements, you must program the Blackjack game engine. The interface will not play Blackjack, you must design and implement the game logic to use the interface. The interface shows up to 5 cards each for the dealer and player, along with 3 buttons: deal (starts a new hand), hit (player hits), stand (player stands). The interface uses this simple pseudocode algorithm: Blackjack User Interface responds to a user click: If the user clicked “deal?? it will Call the engine’s dealCards() method Enable hit, stand buttons If the user clicked “hit?? it will Call the engine’s hit() method If the user clicked “stand?? it will Call the engine’s stand() method Call the engine’s getGameStatus() method If the game has ended Show the ending message Disable hit, stand buttons Update the cards displayed (if player stands, don’t show dealer hole card or score) When designing your Blackjack game engine you will be designing your classes for reuse in any other card game program that we may do this semester. Consider “is a?? and “has a?? relationships as you create your program design. Consider if you should have a generic class to inherit from. You should create UMLs of all classes along with narrative (comments) describing classes, variables, defining what methods do, etc. Your narrative should indicate how your classes are related to each other, indicating inheritance (“is a??) and aggregation (“has a??). In the design, any “lists?? of cards can be designed as generic lists. You can decide on the data structure you would like to implement later. Implementation You can implement any “lists?? of cards with the data structure (Array, ArrayList, Vector, or LinkedList) of your choice, keeping in mind advantages and disadvantages of each as you choose the appropriate one. Using the Blackjack User Interface: 1. Use the starter eclipse project given on D2L. 2. You may not change [login to view URL], [login to view URL], or DisplayDriver.java. 3. Your card class must implement the CardInterface ??" see the javadoc comments inside [login to view URL] for details. 4. Your game engine must implement the BlackjackInterface ??" see the javadoc comments inside [login to view URL] for details. 5. Your main method should do only two things: a. Construct your game engine object b. Invoke the [login to view URL]() method and pass in your constructed game engine object as a parameter. 6. Your implementation of the getGameStatus() should accurately describe the following end game outcomes: a. Player hand scores 21 (Blackjack) b. Player busts c. Dealer busts d. Player wins, non blackjack, no dealer bust e. Dealer wins, non blackjack, no player bust f. Tie (Push) Program Specifications and Deliverables 1. UML of all your classes with narratives of your methods and instance variables. Omit setters/getters. 2. Pseudocode of your scoring and game status algorithms 3. You must use at least one dynamic data structure. 4. You must create at least two new classes. An empty class with just a main method will not count. 5. You must use the Blackjack User Interface provided. 6. Eclipse archive of your completed program. All work must be original; any other work must be cited in javadoc comments Design documentation must be in either Microsoft Word or PowerPoint. Your program submission MUST be an Eclipse project archive.
Project ID: 2720404

About the project

2 proposals
Remote project
Active 12 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$112.20 USD in 10 days
5.0 (4 reviews)
3.0
3.0
2 freelancers are bidding on average $171 USD for this job
User Avatar
See private message.
$229.50 USD in 10 days
5.0 (1 review)
1.3
1.3

About the client

Flag of UNITED STATES
United States
5.0
1
Member since Feb 11, 2012

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.