Simple Java Deck Of Cards
package com.design.misc;
public class Card {
private String suit;
private String face;
public Card(String suit, String face) {
super();
this.suit = suit;
this.face = face;
}
public String getSuit() {
return suit;
}
public void setSuit(String suit) {
this.suit = suit;
}
public String getFace() {
return face;
}
public void setFace(String face) {
this.face = face;
}
@Override
public String toString(){
return suit +" - "+ face;
}
}
package com.design.misc;
import java.util.Random;
public class DeckOfCard {
private Card[] cards;
private int currentCount;
private int size = 52;
private String[] suits = { "CLUBS", "SPADES", "HEARTS", "DIAMONDS" };
private String[] faces = { "ACE", "2", "3", "4", "5", "6", "7", "8", "9",
"10", "JACK", "QUEEN", "KING" };
public DeckOfCard() {
cards = new Card[size];
currentCount = 0;
for (String suit : suits) {
for (String face : faces) {
cards[currentCount++] = new Card(suit, face);
}
}
}
public void shuffle(int numOfShuffle) {
Random rand = new Random();
for (int i = 0; i < numOfShuffle; i++) {
int m = rand.nextInt(currentCount);
int n = rand.nextInt(currentCount);
Card temp = cards[m];
cards[m] = cards[n];
cards[n] = temp;
}
}
public Card draw() {
return cards[--currentCount];
}
public void printStack() {
int cardPointer = 0;
System.out.println("__________________________________");
for (String suit : suits) {
for (String face : faces) {
System.out.println(cards[cardPointer++].toString());
}
}
System.out.println("__________________________________");
}
}
package com.design.misc;
public class DeckOfCardTest {
public static void main(String[] args) {
DeckOfCard deckOfCard = new DeckOfCard();
deckOfCard.printStack();
deckOfCard.shuffle(10);
deckOfCard.printStack();
Card card = deckOfCard.draw();
System.out.println(card.toString());
card = deckOfCard.draw();
System.out.println(card.toString());
card = deckOfCard.draw();
System.out.println(card.toString());
card = deckOfCard.draw();
System.out.println(card.toString());
}
}
Comments
Post a Comment