001 package jagafa.scores;
002
003 import jagafa.rule.ObenRules;
004 import jagafa.rule.RuleSet;
005 import jagafa.rule.TrumpfRules;
006 import jagafa.rule.UntenRules;
007
008 import java.util.Iterator;
009 import java.util.Map;
010 import java.util.TreeMap;
011 /**
012 * @deprecated
013 */
014 public class CoiffeurScoreTable extends AbstractScoreTable implements ScoreTable {
015
016 private int winningScore_;
017
018 private Map<RuleSet, Integer> ruleList_;
019
020
021 public CoiffeurScoreTable(int winningScore) {
022 super();
023 this.winningScore_ = winningScore;
024 ruleList_ = new TreeMap<RuleSet, Integer>();
025
026 ruleList_.put(new TrumpfRules(0), 1);
027 ruleList_.put(new TrumpfRules(1), 2);
028 ruleList_.put(new TrumpfRules(2), 3);
029 ruleList_.put(new TrumpfRules(3), 4);
030 ruleList_.put(new ObenRules(), 5);
031 ruleList_.put(new UntenRules(), 6);
032
033 Iterator<RuleSet> ruleIter = ruleList_.keySet().iterator();
034
035 while (ruleIter.hasNext()) {
036 this.activateRule(ruleIter.next());
037 }
038 }
039
040
041
042 @Override
043 public void addScores(int[] scores, RuleSet rules) {
044 int mult = this.getMultiplier(rules);
045
046 for (int i = 0;i<scores.length;i++) {
047 scores[i] *= mult;
048 }
049 super.addScores(scores, rules);
050
051 }
052
053
054
055 public boolean isGameOver() {
056 int scores[] = this.getScores();
057
058 int scoreTeam1 = scores[0] + scores[2];
059 int scoreTeam2 = scores[1] + scores[3];
060
061 if (scoreTeam1 >= this.winningScore_) {
062 return true;
063 }
064 if (scoreTeam2 >= this.winningScore_) {
065 return true;
066 }
067 return false;
068 }
069
070 public int getMultiplier(RuleSet rule) {
071 return (Integer)this.ruleList_.get(rule);
072 }
073
074
075
076 public boolean changeChoosingPlayer() {
077 return false;
078
079 }
080
081
082
083 public int getChoosingPlayer() {
084 // TODO Auto-generated method stub
085 return -1;
086 }
087
088
089
090
091
092
093 public int getWinningScore() {
094 return 0;
095 }
096
097
098
099
100
101 }