summaryrefslogtreecommitdiffstats
path: root/src/jrummikub/model/StoneHeap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/jrummikub/model/StoneHeap.java')
-rw-r--r--src/jrummikub/model/StoneHeap.java17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/jrummikub/model/StoneHeap.java b/src/jrummikub/model/StoneHeap.java
index bb6470e..f1f833d 100644
--- a/src/jrummikub/model/StoneHeap.java
+++ b/src/jrummikub/model/StoneHeap.java
@@ -5,10 +5,16 @@ import java.util.EnumSet;
import java.util.List;
import java.util.Random;
+/**
+ * StoneHeap creates all {@link Stone}s for a game, manages them and allows
+ * players to draw one or more random Stones.
+ */
+
public class StoneHeap {
List<Stone> heap;
Random generator = new Random();
+ /** Creates 106 Stones according to standard rules */
public StoneHeap() {
heap = new ArrayList<Stone>();
for (int i = 1; i <= 13; i++) {
@@ -23,13 +29,20 @@ public class StoneHeap {
heap.add(new Stone(0, StoneColor.ORANGE, true));
}
+ /** Removes random {@link Stone} from the heap and returns it */
public Stone drawStone() {
return heap.remove(generator.nextInt(heap.size()));
}
-
+
+ /**
+ * Removes several {@link Stone}s from the heap and returns them
+ *
+ * @param number
+ * number of requested Stones
+ */
public List<Stone> drawStones(int number) {
List<Stone> drawnStones = new ArrayList<Stone>();
- for (int i=0; i<number; i++){
+ for (int i = 0; i < number; i++) {
drawnStones.add(drawStone());
}
return drawnStones;