/* * Created on Apr 6, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ /** * @author AlexPC * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ /* Useful imports */ package FinalProject; import edu.neu.ccs.*; import edu.neu.ccs.gui.*; import edu.neu.ccs.codec.*; import edu.neu.ccs.console.*; import edu.neu.ccs.filter.*; import edu.neu.ccs.jpf.*; import edu.neu.ccs.parser.*; import edu.neu.ccs.pedagogy.*; import edu.neu.ccs.quick.*; import edu.neu.ccs.util.*; import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.awt.font.*; import java.awt.image.*; import javax.swing.*; import javax.swing.border.*; import java.io.*; import java.util.*; import java.math.*; import java.beans.*; import java.lang.reflect.*; import java.net.*; import java.util.regex.*; public class MultiPlayerGame2 extends DisplayPanel { int size = 250; Rectangle2D bounds = new Rectangle2D.Double(0, 0, size, size); // array of card hands CardHand[] cardHandArray; // array of card hand values int[] handValues; // sorted array of card hand values int[] handValuesSorted; // hand-specific values public int fourKindNum; public int fHThreeKindNum; public int fHPairNum; public int flushSuitNum; public int straightStartNum; public int straightEndNum; public int threeKindNum; public int pairNum; public int secondPairNum; // constructor public MultiPlayerGame2(int players) { // set number of hands to be in cardHandArray CardHand[] cardHandArray = new CardHand[players]; // set number of car hand values int[] handValues = new int[players]; CardDeck deck = new CardDeck(); TablePanel mainPanel = new TablePanel((players * 4), 1); for (int i = 0; i < players; i++) { if (deck.cardsToDeal() >= 5) { // array of card hands cardHandArray[i] = new CardHand(deck.dealCards(5)); // array of hand values handValues[i] = cardHandArray[i].score(); // Card Pictures TablePanel panel = new TablePanel(1, 5, 10, 10); panel.addObject(cardHandArray[i].cardArray[0].getPicture()); panel.addObject(cardHandArray[i].cardArray[1].getPicture()); panel.addObject(cardHandArray[i].cardArray[2].getPicture()); panel.addObject(cardHandArray[i].cardArray[3].getPicture()); panel.addObject(cardHandArray[i].cardArray[4].getPicture()); mainPanel.addObject(panel); // Card Ranks/Suits String rank1 = cardHandArray[i].cardArray[0].getRankAsString(); String rank2 = cardHandArray[i].cardArray[1].getRankAsString(); String rank3 = cardHandArray[i].cardArray[2].getRankAsString(); String rank4 = cardHandArray[i].cardArray[3].getRankAsString(); String rank5 = cardHandArray[i].cardArray[4].getRankAsString(); String suit1 = cardHandArray[i].cardArray[0].getSuitAsString(); String suit2 = cardHandArray[i].cardArray[1].getSuitAsString(); String suit3 = cardHandArray[i].cardArray[2].getSuitAsString(); String suit4 = cardHandArray[i].cardArray[3].getSuitAsString(); String suit5 = cardHandArray[i].cardArray[4].getSuitAsString(); String s = rank1 + " of " + suit1 + ", " + rank2 + " of " + suit2 + ", " + rank3 + " of " + suit3 + ", " + rank4 + " of " + suit4 + ", " + rank5 + " of " + suit5; TextPaintable tp = new TextPaintable(s, null, null, null, null, 500, 500); mainPanel.addObject(tp); //Made Hand Text mainPanel.addObject(cardHandArray[i].madeHand()); //Card Hand Value System.out.println(cardHandArray[i].score()); } } // sort integers in handValues // return largest integer // find its place in the original unsorted handValues // return position + 1 // sorted int array using values from handValues handValuesSorted = new int[players];{ for(int i = 0; i < players; i++){ handValuesSorted[i] = handValues[i]; } Arrays.sort(handValuesSorted); } // largest hand value int winningValue = handValuesSorted[players-1]; // integer representing the winner(initialized) int winner = 0; // finds the position of the winning value in the original handValues array for (int i = 0; i < players; i++) { if (winningValue == handValues[i]) winner = i + 1; } // string displaying the winner of the hand String winnerString = "The Winner is: Player " + winner; TextPaintable winnerTP = new TextPaintable(winnerString); mainPanel.addObject(winnerTP); // System.out.println("Cards left in deck: " + deck.cardsToDeal()); addObject(mainPanel); frame("Multi-Player Game"); } }