Guest User

Untitled

a guest
Sep 15th, 2021
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.98 KB | None | 0 0
  1. public static void main(String[] args) {
  2. int[] deck = new int[52];
  3. int[] picks = new int[4];
  4. // Initialize the cards
  5. for (int i = 0; i < deck.length; i++)
  6. deck[i] = i;
  7.  
  8. // Shuffle the cards
  9. shuffleCards(deck);
  10.  
  11. int count = pickCards(deck,picks);
  12.  
  13. // Display the four cards picked
  14. print(picks);
  15.  
  16. // Display the number of picks needed to get four cards from each suit
  17. System.out.println("\n"+"Number of picks: " + count);
  18. }
  19.  
  20. /** shuffleCards randomly shuffles a deck of cards */
  21. public static void shuffleCards(int[] deck) {
  22. for (int i = 0; i < deck.length; i++) {
  23. // Generate an index randomly
  24. int index = pickCards(deck);
  25. int temp = deck[i];
  26. deck[i] = deck[index];
  27. deck[index] = temp;
  28. }
  29. }
  30.  
  31.  
  32. public static int pickCards(int[] deck, int[] picks) {
  33. int count = 0;
  34. int inserted = 0;
  35. int[] picked = {99,99,99,99};
  36. while(inserted<4){
  37. if(count==0){
  38. int card = pickCards(deck);
  39. displayCard(card);
  40. System.out.println("inserting");
  41. System.out.println();
  42. picks[inserted] = card;
  43. picked[inserted] = card;
  44. count++;
  45. inserted++;
  46. continue;
  47. }else{
  48. int card = pickCards(deck);
  49. displayCard(card);
  50. if(!isPicked(card,picked)){
  51. picked[inserted]=card;
  52. picks[inserted]=card;
  53. System.out.println("inserting:");
  54. System.out.println();
  55. inserted++;
  56. count++;
  57. }else{
  58. count++;
  59. }
  60. }
  61.  
  62. }
  63. return count;
  64. }
  65.  
  66. public static void displayCard(int card){
  67. String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
  68. String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9",
  69. "10", "Jack", "Queen", "King"};
  70.  
  71. System.out.println(ranks[card % 13] + " of " + suits[card / 13]);
  72.  
  73. }
  74.  
  75. public static boolean isPicked(int card, int[] picked){
  76.  
  77. for(int i:picked){
  78. if(card/13==i/13)
  79. return true;
  80. }
  81. return false;
  82. }
  83.  
  84. public static int pickCards(int[] deck) {
  85. return (int)(Math.random() * deck.length);
  86. }
  87.  
  88. /** print displays the four cards picked */
  89. public static void print(int[] picks) {
  90. String[] suits = {"Spades", "Hearts", "Diamonds", "Clubs"};
  91. String[] ranks = {"Ace", "2", "3", "4", "5", "6", "7", "8", "9",
  92. "10", "Jack", "Queen", "King"};
  93.  
  94. for (int i = 0; i < picks.length; i++) {
  95. System.out.println(ranks[picks[i] % 13] + " of " + suits[picks[i] / 13]);
  96. }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment