Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
414
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.67 KB | None | 0 0
  1. // Lab12bvst.java
  2. // This is the Student-Starting file.
  3. // This version is implemented with "Dynamic Arrays"
  4. // This assignment pertains to some of the "Elevens" AP Lab Materials
  5. //***************************************************************************
  6. // The "Elevens" AP Lab is created for the College Board APCS
  7. // curriculum by Michael Clancy, Robert Glen Martin and Judith Hromcik.
  8. // Leon Schram has altered some of the "Elevens" files to focus on
  9. // specific CS topics as the "Elevens" Lab is integrated into the curriculum.
  10.  
  11. //Ivey Rao, Period 9
  12.  
  13.  
  14.  
  15. import java.util.ArrayList;
  16. import java.util.Random;
  17.  
  18. public class Lab12bst
  19. {
  20. public static void main(String[] args)
  21. {
  22. Deck deck = new Deck();
  23. deck.shuffle(1000);
  24. System.out.println(deck);
  25. }
  26. }
  27.  
  28.  
  29. class Deck
  30. {
  31. private ArrayList<Card> cards;
  32. private int size;
  33.  
  34. private ArrayList<String> suits = new ArrayList<>();
  35. private ArrayList<String> ranks = new ArrayList<>();
  36. private ArrayList<Integer> numbers = new ArrayList<>();
  37.  
  38. public Deck()
  39. {
  40. size = 52;
  41. cards = new ArrayList<Card>();
  42.  
  43. suits.add("Clubs");
  44. suits.add("Diamonds");
  45. suits.add("Hearts");
  46. suits.add("Spades");
  47.  
  48. ranks.add("Two");
  49. ranks.add("Three");
  50. ranks.add("Four");
  51. ranks.add("Five");
  52. ranks.add("Six");
  53. ranks.add("Seven");
  54. ranks.add("Eight");
  55. ranks.add("Nine");
  56. ranks.add("Ten");
  57. ranks.add("Jack");
  58. ranks.add("Queen");
  59. ranks.add("King");
  60. ranks.add("Ace");
  61.  
  62. numbers.add(2);
  63. numbers.add(3);
  64. numbers.add(4);
  65. numbers.add(5);
  66. numbers.add(6);
  67. numbers.add(7);
  68. numbers.add(8);
  69. numbers.add(9);
  70. numbers.add(10);
  71. numbers.add(10);
  72. numbers.add(10);
  73. numbers.add(10);
  74. numbers.add(11);
  75.  
  76. for (int suitIndex = 0; suitIndex < suits.size(); suitIndex++)
  77. {
  78. for(int rvIndex = 0; rvIndex < ranks.size(); rvIndex++)
  79. {
  80. cards.add(new Card(suits.get(suitIndex), ranks.get(rvIndex), numbers.get(rvIndex)));
  81. //parameter is an object of type Card, not Card parameters
  82. }
  83. }
  84. //System.out.println(cards); //to test
  85.  
  86. }
  87.  
  88. public String toString()
  89. {
  90. String str = "";
  91. for(Card card : cards)
  92. {
  93. str += card.toString() + "\n";
  94. }
  95. return str;
  96. }
  97. /*
  98. public void shuffle(int times)
  99. {
  100. int temp = cards.size()-1;
  101.  
  102. for (int i=0;i<times;i++)
  103. {
  104. int index1 = (int)(Math.random()*52);
  105. int index2 = (int)(Math.random()*52);
  106. cards.set(temp,cards.get(index1));
  107. cards.set(index1,cards.get(index2));
  108. cards.set(index2,cards.get(temp));
  109. }
  110. }
  111. */
  112.  
  113. public void shuffle(int times)
  114. { /*
  115. ArrayList<Integer> newCards = new ArrayList<>();
  116. ArrayList<Integer> shuffledCards = new ArrayList<>();
  117. size = 52;
  118.  
  119. for(int i=0;i<size;i++)
  120. {
  121. newCards.add(i);
  122. }
  123.  
  124. while (newCards.size() > 0)
  125. {
  126. int index = (int) (Math.random() * newCards.size());
  127. shuffledCards.add(newCards.remove(index));
  128. //System.out.println("shuffledcards" + shuffledCards); //to test
  129. }
  130. for(int i=0;i<size;i++)
  131. {
  132. cards.set(i, cards.get(shuffledCards.get(i)));
  133. }
  134. */ //DID NOT WORK
  135.  
  136. /*
  137. ArrayList<Integer> shuffledCards = new ArrayList<>();
  138. size = 52;
  139.  
  140. for(int i=0;i<size;i++)
  141. {
  142. shuffledCards.add(i);
  143. }
  144.  
  145. int temp = cards.size()-1;
  146.  
  147. for (int i=0;i<times;i++)
  148. {
  149. int index1 = (int)(Math.random()*52);
  150. int index2 = (int)(Math.random()*52);
  151. shuffledCards.set(temp,shuffledCards.get(index1));
  152. shuffledCards.set(index1,shuffledCards.get(index2));
  153. shuffledCards.set(index2,shuffledCards.get(temp));
  154. //System.out.println("s"+ shuffledCards); //to test
  155. }
  156. for(int i=0;i<size;i++)
  157. {
  158. cards.set(i, cards.get(shuffledCards.get(i)));
  159. }
  160. */ //DID NOT WORK
  161.  
  162. ArrayList<Card> cardsMod = new ArrayList<>();
  163. Random random = new Random();
  164.  
  165. for (Card card : cards)
  166. {
  167. int newCard = cardsMod.size()+1;
  168. int index = random.nextInt(newCard); //random integer between 0 and newCard (inclusive)
  169. cardsMod.add(index,card); //adds card of random index from cards ArrayList
  170. }
  171. cards = cardsMod; //sets cards to cardsMod's values
  172. }
  173. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement