From ce7d43e3654f7f33357c51e578378a7b996bd587 Mon Sep 17 00:00:00 2001 From: Ida Massow Date: Mon, 13 Jun 2011 16:29:09 +0200 Subject: Viele viele Kommentare, einige zu lange oder zu komplexe Methoden gefixt git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@417 72836036-5685-4462-b002-a69064685172 --- src/jrummikub/model/GameSettings.java | 26 ++++++++++++++++----- src/jrummikub/model/StoneSet.java | 43 +++++++++++++++++++---------------- 2 files changed, 44 insertions(+), 25 deletions(-) (limited to 'src/jrummikub/model') diff --git a/src/jrummikub/model/GameSettings.java b/src/jrummikub/model/GameSettings.java index f52f8cf..2a2b45d 100644 --- a/src/jrummikub/model/GameSettings.java +++ b/src/jrummikub/model/GameSettings.java @@ -23,7 +23,7 @@ public class GameSettings implements Serializable { private int highestValue; private int stoneSetNumber; private int numberOfStonesDealt; - private int time; + private int totalTime; private boolean noLimits; private HashSet stoneColors; @@ -34,6 +34,9 @@ public class GameSettings implements Serializable { reset(); } + /** + * Reset the game settings to the default values + */ public void reset() { initialMeldThreshold = 30; jokerPoints = 50; @@ -41,7 +44,7 @@ public class GameSettings implements Serializable { highestValue = 13; stoneSetNumber = 2; numberOfStonesDealt = 14; - time = 60; + totalTime = 60; noLimits = false; stoneColors = new HashSet(Arrays.asList(BLACK, BLUE, ORANGE, RED)); @@ -151,12 +154,23 @@ public class GameSettings implements Serializable { this.stoneSetNumber = stoneSets; } - public int getTime() { - return time; + /** + * Getter for the time for a turn + * + * @return time for a turn + */ + public int getTotalTime() { + return totalTime; } - public void setTime(int time) { - this.time = time; + /** + * Setter for the time for a turn + * + * @param totalTime + * for a turn + */ + public void setTotalTime(int totalTime) { + this.totalTime = totalTime; } /** diff --git a/src/jrummikub/model/StoneSet.java b/src/jrummikub/model/StoneSet.java index c1d7a5d..02fd797 100644 --- a/src/jrummikub/model/StoneSet.java +++ b/src/jrummikub/model/StoneSet.java @@ -84,25 +84,7 @@ public class StoneSet implements Iterable, Sizeable, Serializable { } if (nonJoker == -1) { - if (stones.size() > settings.getHighestValue() - && stones.size() > settings.getStoneColors().size() - && !settings.isNoLimits()) { - return new Pair(INVALID, 0); - } else if (stones.size() > settings.getStoneColors().size()) { - int value = 0; - int stoneValue = settings.getHighestValue(); - for (int i = 0; i < stones.size(); i++) { - value += stoneValue; - stoneValue--; - if (stoneValue == 0) { - stoneValue = settings.getHighestValue(); - } - } - return new Pair(RUN, value); - } else { - return new Pair(GROUP, stones.size() - * settings.getHighestValue()); - } + return classifyJokersOnly(settings, nonJoker); } int runScore = isValidRun(nonJoker, settings); @@ -117,6 +99,29 @@ public class StoneSet implements Iterable, Sizeable, Serializable { } } + private Pair classifyJokersOnly(GameSettings settings, + int nonJoker) { + if (stones.size() > settings.getHighestValue() + && stones.size() > settings.getStoneColors().size() + && !settings.isNoLimits()) { + return new Pair(INVALID, 0); + } else if (stones.size() > settings.getStoneColors().size()) { + int value = 0; + int stoneValue = settings.getHighestValue(); + for (int i = 0; i < stones.size(); i++) { + value += stoneValue; + stoneValue--; + if (stoneValue == 0) { + stoneValue = settings.getHighestValue(); + } + } + return new Pair(RUN, value); + } else { + return new Pair(GROUP, stones.size() + * settings.getHighestValue()); + } + } + /** * Test for rule conflict within the StoneSet, assuming we have a run * -- cgit v1.2.3