diff options
author | Joe Zhao <ztuowen@gmail.com> | 2014-12-02 18:57:51 +0800 |
---|---|---|
committer | Joe Zhao <ztuowen@gmail.com> | 2014-12-02 18:57:51 +0800 |
commit | 83122b34976d012fc5524152b170adcfef7eef60 (patch) | |
tree | 16f06b9bdf30b41bfcf3e33772248c4d3b548fcc /aux/set/Set.java | |
download | Mahjong-83122b34976d012fc5524152b170adcfef7eef60.tar.gz Mahjong-83122b34976d012fc5524152b170adcfef7eef60.tar.bz2 Mahjong-83122b34976d012fc5524152b170adcfef7eef60.zip |
First commit
Diffstat (limited to 'aux/set/Set.java')
-rw-r--r-- | aux/set/Set.java | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/aux/set/Set.java b/aux/set/Set.java new file mode 100644 index 0000000..d087955 --- /dev/null +++ b/aux/set/Set.java @@ -0,0 +1,75 @@ +package mahjong.aux.set; + +import mahjong.aux.Card; + +import java.util.Random; +import java.util.Vector; + +/** + * Created by joe on 12/1/14. + */ +public class Set { + static protected final Random rand = new Random(); + protected Vector<Card> cards = new Vector<Card>(); + + public Set(){} + public Set(String[] cardNames) + { + for (String name:cardNames) + add(new Card(name)); + } + public Set(Card[] cards) + { + for (Card card:cards) + add(card); + } + + public void sort() + { + cards.sort((Card x,Card y) -> x.getExId()-y.getExId()); + } + public void add(Card in) + { + cards.add(in); + } + public void remove(Card out) + { + for (int i=0; i<cards.size();++i) + if (cards.elementAt(i).getId() == out.getId()) + { + cards.remove(i); + break; + } + } + public void replace(Card out, Card in) + { + remove(out); + add(in); + } + public Card draw() + { + int ord = rand.nextInt(getSize()); + Card card = cards.elementAt(ord); + remove(card); + return card; + } + + public Object[] getCards() + { + return cards.toArray(); + } + public String getTypeName() + { + return "Misc"; + } + public int getSize() + { + return cards.size(); + } + + public void print() + { + for (Card card:cards) + System.out.println(card.getNormalName()); + } +} |