Commit 3296e09
Changed files (3)
src/Q8/BadmintonScoring.java
@@ -3,7 +3,7 @@ package Q8;
import java.util.*;
public class BadmintonScoring {
- private int[][] scores;
+ protected int[][] scores;
private static final int PLAYER1 = 0;
private static final int PLAYER2 = 1;
src/Q8/BadmintonScoringWithStroke.java
@@ -3,15 +3,14 @@ package Q8;
import java.util.*;
public class BadmintonScoringWithStroke extends BadmintonScoring {
- private ArrayList<Point> scores;
- private int score1;
- private int score2;
+ private ArrayList<Point> points;
private static final int PLAYER1 = 0;
private static final int PLAYER2 = 1;
- public BadmintonScoringWithStroke(ArrayList<Point> scores) {
+ public BadmintonScoringWithStroke(ArrayList<Point> points) {
super(new int[0][0]);
- this.scores = scores;
+ this.points = points;
+ this.scores = to2DArray(points);
}
public String getMostUsedStrokePlayer1() {
@@ -24,7 +23,8 @@ public class BadmintonScoringWithStroke extends BadmintonScoring {
private String maxStrokeFor(int player) {
int[] strokes = new int[] {0, 0, 0, 0, 0};
- for (Point point : this.scores) {
+
+ for (Point point : this.points) {
if (point.getPlayer() != player) continue;
switch (point.getStroke()) {
@@ -70,4 +70,18 @@ public class BadmintonScoringWithStroke extends BadmintonScoring {
return "unknown";
}
}
+
+ private int[][] to2DArray(ArrayList<Point> points) {
+ int[][] scores = new int[points.size()][2];
+
+ for (int i = 0; i < points.size(); i++) {
+ Point point = points.get(i);
+
+ scores[i][Point.PLAYER1] = i == 0 ? 0 : scores[i - 1][Point.PLAYER1];
+ scores[i][Point.PLAYER2] = i == 0 ? 0 : scores[i - 1][Point.PLAYER2];
+ scores[i][point.getPlayer()] = point.getScore();
+ }
+
+ return scores;
+ }
}
src/Q8/BadmintonScoringWithStrokeTest.java
@@ -58,4 +58,20 @@ public class BadmintonScoringWithStrokeTest extends TestCase {
public void test_getMostUsedStrokePlayer2() {
assertEquals("net-shot", subject.getMostUsedStrokePlayer2());
}
+
+ public void test_getPlayer1Points() {
+ assertEquals(5, this.subject.getPlayer1Points());
+ }
+
+ // public void test_getPlayer2Points() {
+ // assertEquals(21, this.subject.getPlayer2Points());
+ // }
+
+ // public void test_getContinuousPointsPlayer1() {
+ // assertEquals(2, this.subject.getContinuousPointsPlayer1());
+ // }
+
+ // public void test_getContinuousPointsPlayer2() {
+ // assertEquals(9, this.subject.getContinuousPointsPlayer2());
+ // }
}