这是一个使用JavaScript编写的 bowling game kata 练习项目,由Bob叔叔完成。该项目采用了Karma, Mocha和Chai等测试工具进行开发与验证。
保龄球比赛中的经典作品以JavaScript实现计分游戏。该游戏包含10帧,在每一帧里玩家有两次机会击倒总共10个瓶子的机会。每一轮的得分是根据被击倒瓶子的数量计算,同时还会加上因备用或全中而获得的额外分数。
备用是指在一帧内所有瓶都被一次性击倒的情况,该轮的奖励分则为下一次投球所击倒瓶子的数量之和。例如,在第三轮中的得分为10(总共击倒的瓶子数)加5作为奖金(即在随后一轮中被击倒的瓶子数量)。全中是指在一帧内第一次投球时就将所有瓶都打倒的情况,该轮得分则为接下来两轮投球所击倒瓶子的数量之和。
特别地,在第十帧里,如果玩家获得备用或全中的机会,则可以额外多掷一次或两次球来完成这一轮。但在第十帧中最多只能进行三次投球操作。
要求编写一个名为“BowlingGame”的类,其中包含两个方法:roll()用于每次球员击倒瓶子时调用;参数是被击倒的瓶数。另一个方法为score(),仅在游戏结束后调用,返回整个比赛的游戏总分。