View Javadoc

1   package de.jos.game.objects;
2   
3   public class ScoreCalculator {
4   
5     private static final int DEFAULT_SCORE_MULTIPLICATION_FACTOR = 1;
6   
7     public final int INIT_SCORE_BLUE = 50;
8     public final int INIT_SCORE_RED = 75;
9     public final int INIT_SCORE_YELLOW = 100;
10    public final int INIT_SCORE_PINK = 125;
11  
12    public final int[] INIT_SCORE_ARRAY = { INIT_SCORE_BLUE, INIT_SCORE_RED, INIT_SCORE_YELLOW, INIT_SCORE_PINK };
13  
14    public int nextScoreMultiplicationFactor = DEFAULT_SCORE_MULTIPLICATION_FACTOR;
15  
16    public int getScore(Integer color, int numberBullets) {
17      int score = INIT_SCORE_ARRAY[color.intValue()];
18  
19      switch(numberBullets) {
20        case 3:
21          break;
22        case 4:
23          score *= 2;
24          break;
25        case 5:
26          score *= 4;
27          break;
28        case 6:
29          score = getScore(color, 5) + getScore(color, 4) + getScore(color, 3);
30          break;
31        case 7:
32          score = getScore(color, 6) + getScore(color, 5);
33          break;
34        case 8:
35          score = getScore(color, 7) + getScore(color, 5) + getScore(color, 3);
36          break;
37        case 9:
38          score = getScore(color, 8) + getScore(color, 5) + getScore(color, 4);
39          break;
40      }
41  
42      score *= nextScoreMultiplicationFactor;
43      setNextScoreMultiplicationFactor(DEFAULT_SCORE_MULTIPLICATION_FACTOR);
44      return score;
45    }
46  
47    public int getNextScoreMultiplicationFactor() {
48      return nextScoreMultiplicationFactor;
49    }
50  
51    public void setNextScoreMultiplicationFactor(int nextScoreMultiplicationFactor) {
52      this.nextScoreMultiplicationFactor = nextScoreMultiplicationFactor;
53    }
54  
55  }