summaryrefslogtreecommitdiffstats
path: root/mock/jrummikub/model
diff options
context:
space:
mode:
Diffstat (limited to 'mock/jrummikub/model')
-rw-r--r--mock/jrummikub/model/MockGameState.java54
-rw-r--r--mock/jrummikub/model/MockHand.java54
-rw-r--r--mock/jrummikub/model/MockPlayer.java26
-rw-r--r--mock/jrummikub/model/MockTable.java70
4 files changed, 204 insertions, 0 deletions
diff --git a/mock/jrummikub/model/MockGameState.java b/mock/jrummikub/model/MockGameState.java
new file mode 100644
index 0000000..102e9fb
--- /dev/null
+++ b/mock/jrummikub/model/MockGameState.java
@@ -0,0 +1,54 @@
+package jrummikub.model;
+
+import java.awt.Color;
+import java.util.ArrayList;
+import java.util.List;
+
+public class MockGameState implements IGameState {
+ public MockTable table;
+ public List<MockPlayer> players;
+ public int activePlayer;
+ public StoneHeap gameHeap;
+
+ public MockGameState() {
+ table = new MockTable();
+ players = new ArrayList<MockPlayer>();
+ players.add(new MockPlayer(Color.red));
+ players.add(new MockPlayer(Color.yellow));
+ players.add(new MockPlayer(Color.green));
+ players.add(new MockPlayer(Color.black));
+ activePlayer = 0;
+ gameHeap = new StoneHeap();
+ }
+
+ @Override
+ public ITable getTable() {
+ return table;
+ }
+
+ @Override
+ public int getPlayerCount() {
+ return players.size();
+ }
+
+ @Override
+ public IPlayer getPlayer(int i) {
+ return players.get(i);
+ }
+
+ /** Changes the activePlayer to the next {@link Player} in the list */
+ @Override
+ public void nextPlayer() {
+ activePlayer = (activePlayer + 1) % players.size();
+ }
+
+ @Override
+ public IPlayer getActivePlayer() {
+ return players.get(activePlayer);
+ }
+
+ @Override
+ public StoneHeap getGameHeap() {
+ return gameHeap;
+ }
+}
diff --git a/mock/jrummikub/model/MockHand.java b/mock/jrummikub/model/MockHand.java
new file mode 100644
index 0000000..2132ff4
--- /dev/null
+++ b/mock/jrummikub/model/MockHand.java
@@ -0,0 +1,54 @@
+package jrummikub.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import jrummikub.util.Pair;
+
+public class MockHand implements IHand {
+
+ public List<Stone> stones = new ArrayList<Stone>();
+
+ public Iterable<Pair<Stone, Position>> iterable;
+
+ @Override
+ public Stone pickUp(Position position) {
+ return null;
+ }
+
+ @Override
+ public void drop(Stone object, Position position) {
+ stones.add(object);
+ }
+
+ @Override
+ public Position getPosition(Stone object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void pickUp(Stone object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public int getSize() {
+ return stones.size();
+ }
+
+ @Override
+ public Iterator<Pair<Stone, Position>> iterator() {
+ return iterable.iterator();
+ }
+
+ public MockHand clone() {
+ try {
+ return (MockHand) super.clone();
+ } catch (CloneNotSupportedException e) {
+ return null;
+ }
+ }
+}
diff --git a/mock/jrummikub/model/MockPlayer.java b/mock/jrummikub/model/MockPlayer.java
new file mode 100644
index 0000000..adb9d85
--- /dev/null
+++ b/mock/jrummikub/model/MockPlayer.java
@@ -0,0 +1,26 @@
+package jrummikub.model;
+
+import java.awt.Color;
+
+public class MockPlayer implements IPlayer {
+
+ public MockHand hand;
+ public Color color;
+
+ // private String name;
+
+ public MockPlayer(Color color) {
+ hand = new MockHand();
+ this.color = color;
+ }
+
+ @Override
+ public IHand getHand() {
+ return hand;
+ }
+
+ @Override
+ public Color getColor() {
+ return color;
+ }
+}
diff --git a/mock/jrummikub/model/MockTable.java b/mock/jrummikub/model/MockTable.java
new file mode 100644
index 0000000..4d7ef1a
--- /dev/null
+++ b/mock/jrummikub/model/MockTable.java
@@ -0,0 +1,70 @@
+package jrummikub.model;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import jrummikub.util.Pair;
+
+public class MockTable implements ITable {
+ public Map<Stone, StoneSet> findStoneSet = new HashMap<Stone, StoneSet>();
+ public boolean valid = false;
+ public MockTable clonedTable;
+ public List<Pair<StoneSet, Position>> sets = new ArrayList<Pair<StoneSet, Position>>();
+
+ @Override
+ public void pickUpStone(Stone stone) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public boolean isValid() {
+ return valid;
+ }
+
+ @Override
+ public StoneSet pickUp(Position position) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void drop(StoneSet object, Position position) {
+ sets.add(new Pair<StoneSet, Position>(object, position));
+ }
+
+ @Override
+ public Position getPosition(StoneSet object) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ @Override
+ public void pickUp(StoneSet object) {
+ // TODO Auto-generated method stub
+
+ }
+
+ @Override
+ public Iterator<Pair<StoneSet, Position>> iterator() {
+ return sets.iterator();
+ }
+
+ @Override
+ public StoneSet findStoneSet(Stone stone) {
+ return findStoneSet.get(stone);
+ }
+
+ public MockTable clone() {
+ return clonedTable;
+ }
+
+ @Override
+ public int getSize() {
+ return sets.size();
+ }
+
+}