Java Implementation of the game set.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.2 KiB

8 years ago
  1. package net.jrtechs.setgame;
  2. import java.util.ArrayList;
  3. public class Deck
  4. {
  5. private ArrayList<Card> deck;
  6. //constructor
  7. Deck()
  8. {
  9. deck=new ArrayList<Card>(81);
  10. //color,number, shape, shading
  11. for(int c = 0; c < 3; c++)
  12. for(int n = 0; n < 3; n++)
  13. for(int s = 0; s < 3; s++)
  14. for(int sa = 0; sa < 3; sa++)
  15. deck.add(new Card(c,n,s,sa));
  16. }
  17. public void shuffle()
  18. {
  19. int elem1, elem2;
  20. for (int i=0; i<300; i++)
  21. {
  22. elem1=(int)(Math.random()*deck.size());
  23. elem2=(int)(Math.random()*deck.size());
  24. Card temp=deck.get(elem1);
  25. deck.set(elem1, deck.get(elem2));
  26. deck.set(elem2, temp);
  27. }
  28. }
  29. public void display()
  30. {
  31. System.out.println(deck.size());
  32. for(int i = 0; i < deck.size(); i++)
  33. {
  34. System.out.println(deck.get(i));
  35. }
  36. }
  37. public Card[] dealMany(int num)
  38. {
  39. Card[] temp=new Card[num];
  40. for (int i=0; i<num; i++)
  41. {
  42. temp[i]=deck.remove(0);
  43. }
  44. return temp;
  45. }
  46. public Card deal()
  47. {
  48. return deck.remove(0);
  49. }
  50. public int cardsLeft()
  51. {
  52. return deck.size();
  53. }
  54. }