source: de.wigbels.java/BowlingGame/src/main/java/dojo/java/BowlingGame.java @ a6051a60

Last change on this file since a6051a60 was a6051a60, checked in by njw <njw@…>, 10 years ago

BowlingGame? kata

  • Property mode set to 100644
File size: 1.0 KB
Line 
1package dojo.java;
2
3/**
4 * @author Norbert Wigbels (norbert@wigbels.de)
5 */
6public class BowlingGame {
7
8    private int[] rolls = new int[20 + 1];
9    private int currentRoll = 0;
10
11
12    public int calcScore() {
13        int score = 0;
14        int subFrame = 0;
15
16        for (int frame = 1; frame <= 10; frame++) {
17            if (rolls[subFrame] == 10) {                                // Frame with Strike
18                score += 10 + rolls[subFrame + 1] + rolls[subFrame + 2];
19                subFrame++;
20            } else if (rolls[subFrame] + rolls[subFrame + 1] == 10) {   // Frame with Spare
21                score += 10 + rolls[subFrame + 2];
22                subFrame += 2;
23            } else {                                                    // normal Frame
24                score += rolls[subFrame] + rolls[subFrame + 1];
25                subFrame += 2;
26            }
27        }
28
29        return score;
30    }
31
32    public void roll(int pinsDown) {
33        rolls[currentRoll] = pinsDown;
34        currentRoll++;
35    }
36
37}
Note: See TracBrowser for help on using the repository browser.