Slide 25
Slide 25 text
(BNFͷ࣮Λগͣͭ͠ਐΊΔ
class GameSpec extends Specification
{
when
:
g.add(5
)
g.add(4
)
g.add(7
)
g.add(2
)
then
:
g.score() == 1
8
g.scoreForFrame(1) ==
9
g.scoreForFrame(2) == 1
8
}
public class Game
{
private int itsScore = 0
;
private int[] itsThrows = new int[21]
;
private int itsCurrentThrow = 0
;
public int score()
{
return itsScore
;
}
public void add(int pins)
{
itsThrows[itsCurrentThrow++] = pins
;
itsScore += pins
;
}
public int scoreForFrame(int frame)
{
int score = 0
;
for (int ball = 0; frame > 0 && (ball < itsCurrentThrow)
;
ball += 2, frame--)
{
score += itsThrows[ball] + itsThrows[ball + 1]
;
}
return score
;
}
}