diff options
| author | mo khan <mo@mokhan.ca> | 2019-08-04 16:07:14 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2019-08-04 16:07:14 -0600 |
| commit | 3296e09bf9f8a55941ded75776b266ead716c793 (patch) | |
| tree | 7fbe73dec5b4727a39a41371e0a5f374f0964383 /src/Q8/BadmintonScoringWithStroke.java | |
| parent | 7f13704a29228435ef6250b36f7fc277b8354c62 (diff) | |
work towards bridging ArrayList with 2d array
Diffstat (limited to 'src/Q8/BadmintonScoringWithStroke.java')
| -rw-r--r-- | src/Q8/BadmintonScoringWithStroke.java | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/src/Q8/BadmintonScoringWithStroke.java b/src/Q8/BadmintonScoringWithStroke.java index 4ef5700..f9baa8c 100644 --- a/src/Q8/BadmintonScoringWithStroke.java +++ b/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; + } } |
