It appears you have not yet registered with DEVPPL. To register please click here... (it's fast, easy and free!)

Forum

Log In Sponsors
Board index Programming Java Forum

Probably an easy question.

Probably an easy question.

Postby toymachiner62 on Fri Mar 16, 2007 2:37 pm

OK I'M HAVING A LOT OF TROUBLE HERE. I AM WONDERING WHY MY OUTPUT IS NOT WHAT IS EXPECTED FOR THE CARDS. THE OUTPUT IS " PLAYERONES CARD IS A .....". WHY ARE THERE ALL THESE WEIRD NUMBER LETTER COMBINATIONS FOR THE CARDS?? ALSO I TRIED TO MAKE A METHOD THAT RETURNS THE INDEX OF THE LARGEST VALUE IN THE ARRAY. THAT ISN'T WORKING EITHER. IT ALWAYS SAYS THE LARGEST VALUE IS 0. IF ANYBODY CAN HELP ME WITH ANY OF THIS I'D APPRECIATE IT.

package cardGame;

public class Deck {

private Card[] deck;
private int cardsUsed;

public Deck(){

deck = new Card[52];
int cardCt = 0;

for(int suit = 0; suit <= 3; suit++){
for(int value = 2; value <=14; value++){
deck[cardCt] = new Card(value, suit);
cardCt++;
}
}
cardsUsed = 0;
}

public void Shuffle(){

for(int i = 51; i > 0; i--){
int rand = (int)(Math.random()*(i+1));
Card temp = deck[i];
deck[i] = deck[rand];
deck[rand] = temp;
}
cardsUsed = 0;
}

public Card Deal(){
cardsUsed++;
return deck[cardsUsed - 1];
}

public int cardsLeft() {
return 52 - cardsUsed;
}

//prints the deck
/*public void PrintDeck(){
for(int i = 0; i < deck.length; i++){
System.out.println(deck[i]);
}
}
*/
}
//end class


package cardGame;



public class Card {
private static final int CLUBS = 0, DIAMONDS = 1, HEARTS = 2, SPADES = 3;
private static final int JACK = 11, QUEEN = 12, KING = 13, ACE = 14;

private int suit;
private int value;

public Card(){
value = 0;
suit = 0;
}

public Card(int val, int su){
value = val;
suit = su;
}

public String getSuitAsString(){
switch(suit){
case CLUBS: return "clubs";
case DIAMONDS: return "diamonds";
case HEARTS: return "hearts";
case SPADES: return "spades";
default: return "invalid";
}
}

public String getValueAsString(){
switch(value){
case 2: return "2";
case 3: return "3";
case 4: return "4";
case 5: return "5";
case 6: return "6";
case 7: return "7";
case 8: return "8";
case 9: return "9";
case 10: return "10";
case 11: return "jack";
case 12: return "queen";
case 13: return "king";
case 14: return "ace";
default: return "invalid";
}
}
}
//end class


package cardGame;

public class Hand {

private Card hand[];

public Hand(){
hand = new Card[17];
}


public void addCard(Card c, int i){
hand[i] = c;
}

public static int indexLargestElement(int[] playersHand, int noOfElements){

int i;
int maxI = 0;

for(i = 0; i < noOfElements; i++){
if(playersHand[maxI] < playersHand[i])
maxI = i;
}
return maxI;
}
}
//end class

package cardGame;
import java.util.Scanner;

public class GamePlay {

static Scanner keyboard = new Scanner(System.in);

public static void main(String[] args) {

Deck deck;
Hand playerOne;
Hand playerTwo;
Hand playerThree;

deck = new Deck();
playerOne = new Hand();
playerTwo = new Hand();
playerThree = new Hand();


System.out.println("Welcome to this card simulation. \n To shuffle the cards, type \"shuffle\" and press enter.");

String answer = keyboard.next();
String shuffle = "shuffle";

deck.Shuffle();

System.out.println("Cards are shuffled");

for(int i = 0; i < 17; i++){
playerOne.addCard(deck.Deal(), i);
playerTwo.addCard(deck.Deal(), i);
playerThree.addCard(deck.Deal(), i);
}

for(int i = 0; i < 17; i++){
System.out.println("player ones cards are " + playerOne);
System.out.println("player twos cards are " + playerTwo);
System.out.println("player threes cards are " + playerThree);
}


System.out.println("There is " + deck.cardsLeft() + " card left in the deck");


int[] test = {1,4,3,7,6,3,2,4,6,23,4,5,8,7,9,0,7};
test = new int[17];
System.out.println( "The largest value is " + Hand.indexLargestElement(test, 0));

}
}
//end main class

THIS IS WHAT MY OUTPUT LOOKS LIKE

Welcome to this card simulation.
To shuffle the cards, type "shuffle" and press enter.
shuffle
Cards are shuffled
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
player ones cards are cardGame.Hand@757aef
player twos cards are cardGame.Hand@d9f9c3
player threes cards are cardGame.Hand@9cab16
There is 1 card left in the deck
The largest value is 0
toymachiner62
 
Posts: 0
Joined: Fri Mar 16, 2007 2:25 pm

Who is online

Users browsing this forum: No registered users and 1 guest