diff options
Diffstat (limited to 'src/jrummikub/model/StoneHeap.java')
-rw-r--r-- | src/jrummikub/model/StoneHeap.java | 17 |
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; |