Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void main(String[] args) {
- int[] deck = new int[52];
- int[] picks = new int[4];
- // Initialize the cards
- for (int i = 0; i < deck.length; i++)
- deck[i] = i;
- // Shuffle the cards
- shuffleCards(deck);
- int count = pickCards(deck,picks);
- // Display the four cards picked
- print(picks);
- // Display the number of picks needed to get four cards from each suit
- System.out.println("\n"+"Number of picks: " + count);
- }
- /** shuffleCards randomly shuffles a deck of cards */
- public static void shuffleCards(int[] deck) {
- for (int i = 0; i < deck.length; i++) {
- // Generate an index randomly
- int index = pickCards(deck);
- int temp = deck[i];
- deck[i] = deck[index];
- deck[index] = temp;
- }
- }
- public static int pickCards(int[] deck, int[] picks) {
- int count = 0;
- int inserted = 0;
- int[] picked = {99,99,99,99};
- while(inserted<4){
- if(count==0){
- int card = pickCards(deck);
- displayCard(card);
- System.out.println("inserting");
- System.out.println();
- picks[inserted] = card;
- picked[inserted] = card;
- count++;
- inserted++;
- continue;
- }else{
- int card = pickCards(deck);
- displayCard(card);
- if(!isPicked(card,picked)){
- picked[inserted]=card;
- picks[inserted]=card;
- System.out.println("inserting:");
- System.out.println();
- inserted++;
- count++;
- }else{
- count++;
- }
- }
- }
- return count;
- }
- public static void displayCard(int card){
- String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
- String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9",
- "10", "Jack", "Queen", "King"};
- System.out.println(ranks[card % 13] + " of " + suits[card / 13]);
- }
- public static boolean isPicked(int card, int[] picked){
- for(int i:picked){
- if(card/13==i/13)
- return true;
- }
- return false;
- }
- public static int pickCards(int[] deck) {
- return (int)(Math.random() * deck.length);
- }
- /** print displays the four cards picked */
- public static void print(int[] picks) {
- String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
- String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9",
- "10", "Jack", "Queen", "King"};
- for (int i = 0; i < picks.length; i++) {
- System.out.println(ranks[picks[i] % 13] + " of " + suits[picks[i] / 13]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment