-
Notifications
You must be signed in to change notification settings - Fork 0
/
DeckOfCards.java
68 lines (64 loc) · 1.56 KB
/
DeckOfCards.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.*;
public class DeckOfCards
{
public ArrayList<Cardv2> deckOFcards;
public static final int maxNumberofCards = 52;
public DeckOfCards()
{
this.deckOFcards = new ArrayList<Cardv2>();
}
public void populatedeck()
{
for(Suit cardsuit: Suit.values())
{
for(Rank cardrank: Rank.values())
{
Cardv2 tempcard = new Cardv2 (cardrank, cardsuit);
this.deckOFcards.add(tempcard);
}
}
}
public Cardv2 getCardDetails(int i)
{
return this.deckOFcards.get(i);
}
public void removeCardfromDeck(int i)
{
this.deckOFcards.remove(i);
}
public void addCardtoDeck(Cardv2 addCardtoDeck)
{
this.deckOFcards.add(addCardtoDeck);
}
public void drawCardfromDeck(DeckOfCards deckFrom)
{
Random random = new Random();
int CardDrawIndex = random.nextInt(deckFrom.deckOFcards.size())+0;
this.deckOFcards.add(deckFrom.getCardDetails(CardDrawIndex));
deckFrom.removeCardfromDeck(CardDrawIndex);
}
public String toString()
{
String deckoutput = "";
for (Cardv2 card:this.deckOFcards)
{
deckoutput = deckoutput + card.toString() +". ";
}
return deckoutput;
}
public boolean equals(DeckOfCards d)
{
Cardv2 tempcard1 = new Cardv2();
Cardv2 tempcard2 = new Cardv2();
for (int i = 0; i<deckOFcards.size()-1; i++)
{
tempcard1 = d.deckOFcards.get(i);
tempcard2 = deckOFcards.get(i);
if (tempcard1.equals(tempcard2) == false)
{
return false;
}
}
return true;
}
}