package oving2;import java.util.Random;public class CardDeck { public Card[] cards; public CardDeck() { cards = new Card[52]; } public void buildDeck() { String[] suits = new String[] {"S","H","D","C"}; int a=0; for (int i = 0; i<suits.length; i++) { for (int j = 1; j<=13; j++) { Card c = new Card(); c.face = j; c.suit = suits[i]; cards[a] = c; a++; } } } public Card getCard(int i) { return cards[i]; } public void shuffle() { Random g = new Random(); Card[] shuffled = new Card[52]; for (int i = 0; i<52; i++) { // int r = (int)(Math.random()*(52-i)); int r = g.nextInt(52-i); // Hvorfor -i ??? Card tempCard = cards[r]; shuffled[i] = tempCard; cards[r] = cards[52-i-1]; // Hva gjør denne?? } cards = shuffled; } public int cardsDealt = 0; public Card[] deal(int n) { if (cardsDealt + n > 52) return new Card[0]; Card[] tempDeck = new Card[n]; for (int i = 0; i < n; i++) { tempDeck[i] = cards[cardsDealt]; cards[cardsDealt] = null; // Vi må fjerne kortet fra decken cards, men får NullPointerException når vi gjør det. cardsDealt++; } return tempDeck; } public int getCardCount() { return 52 - cardsDealt; }}