Menu

[Solved]Java Need Help Implementing Checkplayerhand Playgame Methods Videopoker Class Public Class Q37300541

Java.
I need help implementing thecheckPlayerHand()and playGame()methods in theVideoPokerclass!

public class VideoPoker {

// default constant values
private static final int defaultBalance=100;
private static final int numberCards=5;

// default constant payout value and playerHand types
private static final int[]winningMultipliers={1,2,5,10,15,20,25,50,250};
private static final String[] winningHands={
   “Royal Pair” , “Two Pairs” , “Three of a Kind”,”Straight”, “Flush   “,
   “Full House”, “Four of a Kind”, “Straight Flush”,”Royal Flush” };

// use one deck of cards
private Decks thisDeck;

// holding current player 5-card hand, balance, bet
private List<Card> playerHand;
privateintplayerBalance;
privateintplayerBet;

/** default constructor, set balance = defaultBalance */
publicVideoPoker()
{
   this(defaultBalance);
}

/** constructor, set given balance */
publicVideoPoker(int balance)
{
   this.playerBalance= balance;
   try {
thisDeck = new Decks(1);
   } catch (Exception e) {
   System.out.println(e.getMessage());
   }
}

/** This display the payout table based on winningMultipliersand
* winningHands arrays */
private void showPayoutTable()
{
   System.out.println(“nn”);
   System.out.println(“Payout Table   Multiplier “);
  System.out.println(“=======================================”);
   int size = winningMultipliers.length;
   for (inti=size-1; i >= 0; i–) {
      System.out.println(winningHands[i]+”t|t”+winningMultipliers[i]);
   }
   System.out.println(“nn”);
}

/** Check current playerHand using winningMultipliers andwinningHands arrays
* Must print yourHandType (default is “Sorry, you lost”) at the endof function.
* This can be checked by testCheckHands() and main() method.
*/
private voidcheckPlayerHand()
{
   // implement this method
}

/*************************************************
* add new private methods here ….
*
*************************************************/

public voidplayGame()
{
/** The main algorithm for single player poker game
*
* Steps:
*        showPayoutTable()
*
*        ++  
*        show balance, get bet
*       verify bet value, updatebalance
*       reset deck, shuffle deck,
*       deal cards and display cards
*       ask for positions of cards tokeep
* get positions in one input line
*       update cards
*       check hands, display propermessages
*       update balance if there is apayout
*       if balance = O:
*           end ofprogram
*       else
*           ask if theplayer wants to play a new game
*           if the answeris “no” : end of program
*           else:showPayoutTable() if user wants to see it
*           goto ++
*/
   // implement this method

}

// Here is the Card class:

class Card {
  
/* constant suits and ranks */
static final String[] Suit = {“”,”Clubs”, “Diamonds”, “Hearts”,”Spades” };
static final String[] Rank ={“”,”A”,”2″,”3″,”4″,”5″,”6″,”7″,”8″,”9″,”10″,”J”,”Q”,”K”};

/* Data field of a card: rank and suit */
privateintcardRank; /* values: 1-13 (see Rank[] above) */
privateintcardSuit; /* values: 1-4 (see Suit[] above) */

/* Constructor to create a card */
/* throw PlayingCardException if rank or suit is invalid */
public Card(int suit, int rank) throws PlayingCardException {
   if ((rank < 1) || (rank > 13))
       throw newPlayingCardException(“Invalid rank:”+rank);
   else
   cardRank = rank;
   if ((suit < 1) || (suit > 4))
       throw newPlayingCardException(“Invalid suit:”+suit);
   else
   cardSuit = suit;
}

/* Accessor and toString */
publicintgetRank() { return cardRank; }
public int getSuit() { return cardSuit; }
public String toString() { return Rank[cardRank] + ” ” +Suit[cardSuit]; }

// Here is the Decks class:

public class Decks {

private List<Card> constructedDeck;   

private List<Card> gameDeck;

  
public Decks(int n) throws PlayingCardException
{
  
if (n<1) {
throw new PlayingCardException(“n < 1”);
}
  
constructedDeck = new ArrayList<Card>();
gameDeck = new ArrayList<Card>();
  
for (inti=1; i<=n; i=i+1) {
  
for (int suit=1; suit<=4; suit=suit+1) {
  
for (int rank=1; rank<=13; rank=rank+1) {
Card c = new Card(suit,rank);
constructedDeck.add(c);
}
}
}

gameDeck.addAll(constructedDeck);
}

  
public void shuffle()
{
  
Collections.shuffle(gameDeck);
}

public List<Card> deal(intnumberCards) throwsPlayingCardException
{

if (numberCards>this.remainSize()) {
throw new PlayingCardException(“number of cards is greater thanremaining cards”);
}
  
List<Card> dealCards = new ArrayList<Card>();
  
for (inti=0; i<numberCards; i=i+1) {
  
Card c = gameDeck.remove(i);
  
dealCards.add(c);
}
  
returndealCards;
}

  
public void reset()
{
gameDeck.clear();
  
gameDeck.addAll(constructedDeck);

}

  
publicintremainSize()
{
   returngameDeck.size();
}

  
public String toString()
{
   return “”+gameDeck;
}

/*************************************************
* do not modify testCheckPlayerHand() below
* it is used for testing checkPlayerHand().
*
*************************************************/

public void testCheckPlayerHand()
{
   try {
       playerHand = newArrayList<Card>();

       // set Royal Flush
       playerHand.add(newCard(4,1));
       playerHand.add(newCard(4,10));
       playerHand.add(newCard(4,12));
       playerHand.add(newCard(4,11));
       playerHand.add(newCard(4,13));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Straight Flush
       playerHand.set(0,newCard(4,9));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Straight
       playerHand.set(4, newCard(2,8));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Flush
       playerHand.set(4, newCard(4,5));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // “Royal Pair” , “Two Pairs” ,”Three of a Kind”, “Straight”, “Flush   “,
      // “Full House”, “Four of a Kind”,”Straight Flush”, “Royal Flush” };

       // set Four of a Kind
       playerHand.clear();
       playerHand.add(newCard(4,8));
       playerHand.add(newCard(1,8));
       playerHand.add(newCard(4,12));
       playerHand.add(newCard(2,8));
       playerHand.add(newCard(3,8));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Three of a Kind
       playerHand.set(4, newCard(4,11));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Full House
       playerHand.set(2, newCard(2,11));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Two Pairs
       playerHand.set(1, newCard(2,9));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // set Royal Pair
       playerHand.set(0, newCard(2,3));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);

       // non Royal Pair
       playerHand.set(2, newCard(4,3));
      System.out.println(playerHand);
       checkPlayerHand();
      System.out.println(“———————————–“);
   }
   catch (Exception e)
   {
      System.out.println(e.getMessage());
   }
}
}

Expert Answer


Answer to Java. I need help implementing the checkPlayerHand() and playGame() methods in the VideoPoker class! public class VideoP… . . .

OR


Leave a Reply

Your email address will not be published. Required fields are marked *