From 157bd4f60635dc27d2c9baebea5589455b05f17b Mon Sep 17 00:00:00 2001 From: Jannis Harder Date: Wed, 25 May 2011 15:51:34 +0200 Subject: Tested and implemented scoring git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@272 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/model/IRoundState.java | 9 ++++++++ src/jrummikub/model/RoundState.java | 9 ++++++++ src/jrummikub/model/Score.java | 42 ++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 src/jrummikub/model/Score.java (limited to 'src/jrummikub/model') diff --git a/src/jrummikub/model/IRoundState.java b/src/jrummikub/model/IRoundState.java index 4dbcd9a..faed6cf 100644 --- a/src/jrummikub/model/IRoundState.java +++ b/src/jrummikub/model/IRoundState.java @@ -60,6 +60,15 @@ public interface IRoundState { */ public IPlayer getNthNextPlayer(int i); + /** + * Returns the nth player + * + * @param i + * player number + * @return nth player + */ + public IPlayer getNthPlayer(int i); + /** * Sets the player that will make the last turn before the round ends when * the heap is empty diff --git a/src/jrummikub/model/RoundState.java b/src/jrummikub/model/RoundState.java index c32c3c0..eb87247 100644 --- a/src/jrummikub/model/RoundState.java +++ b/src/jrummikub/model/RoundState.java @@ -70,6 +70,15 @@ public class RoundState implements IRoundState { } return players.get(j); } + + @Override + public IPlayer getNthPlayer(int i) { + int j = i % players.size(); + if (j < 0) { + j += players.size(); + } + return players.get(j); + } @Override public IPlayer getActivePlayer() { diff --git a/src/jrummikub/model/Score.java b/src/jrummikub/model/Score.java new file mode 100644 index 0000000..adc78a7 --- /dev/null +++ b/src/jrummikub/model/Score.java @@ -0,0 +1,42 @@ +package jrummikub.model; + +import java.util.List; + +/** + * Score of a single round + */ +public class Score { + List winners; + List points; + + /** + * Create a new round score + * + * @param winners + * set for each player among the winners + * @param points + * points of each player + */ + public Score(List winners, List points) { + this.winners = winners; + this.points = points; + } + + /** + * Get the winner list + * + * @return set for each player among the winners + */ + public List getWinners() { + return winners; + } + + /** + * Get the point list + * + * @return points of each player + */ + public List getPoints() { + return points; + } +} -- cgit v1.2.3