bowling-kata:我第一次尝试著名的保龄球
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
保龄球得分计算是编程领域中的一个经典问题,通常被用作编程练习或代码测试,称为"保龄球 kata"。在这个练习中,你需要编写一个程序来计算一局保龄球游戏的分数。保龄球游戏规则相对复杂,涉及到多种得分情况,这对编程逻辑和条件判断提出了挑战。 在JavaScript中实现保龄球得分计算,你需要了解以下几个关键知识点: 1. **游戏规则**: - 一局保龄球由10个回合组成,每个回合球员有两次投球机会。 - 如果在第一次投球时击倒所有10个瓶子(全中),则在该回合结束前不需要再投第二次球。 - 如果在第二次投球时击倒剩余的瓶子(补中),则该回合得分为10分加上下一个回合的一次投球得分。 - 如果在两次投球中都未击倒所有瓶子,但两次加起来全部击倒(斯普林特),则该回合得分为10分。 - 滚动完10个回合后,如果有至少一次全中或补中,第11和第12次投球称为“额外投球”,用于计算额外的分数。 2. **数据结构**: - 你可以创建一个数组来存储每个回合的投球结果,如`[5, 3, 4, 7, ...]`,其中每个数字代表一次投球击倒的瓶子数。 - 对于额外投球,可能需要额外的标记或数组来记录这些特殊情况。 3. **逻辑处理**: - 编写函数来处理每个回合的得分,需要检查是否有全中、补中或斯普林特的情况,并根据这些条件计算得分。 - 需要考虑如何在额外投球中正确地累加分数,因为这涉及到未来的回合。 4. **错误检查**: - 确保输入的有效性,例如检查每次投球的得分是否在0到10之间,以及总投球次数不超过20次。 - 在计算过程中,防止出现不合理的分数,比如负分或者超过单局最大得分(300分)。 5. **编程技巧**: - 可以使用递归或循环来处理回合,每次迭代计算当前回合的得分并更新总分。 - 使用条件语句(如if...else)来处理各种得分情况。 - 考虑使用函数式编程技巧,如map、reduce等,来简化代码和提高可读性。 6. **测试**: - 创建各种测试用例,包括正常情况、边缘情况和异常情况,以确保代码的正确性。 - 使用单元测试框架,如Jest或Mocha,来自动化测试过程。 在"bowling-kata-master"这个压缩包中,很可能包含了一个或多个示例解决方案,你可以通过阅读和分析代码来学习其他开发者是如何解决这个问题的。此外,也可以借鉴这些代码进行自己的实践,提高对JavaScript和编程逻辑的理解。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![js](https://img-home.csdnimg.cn/images/20210720083646.png)
![js](https://img-home.csdnimg.cn/images/20210720083646.png)
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
- 1
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/bf005860030d4df1a23300800bfb572b_weixin_42131276.jpg!1)
- 粉丝: 27
- 资源: 4691
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- Guava集合类型详解
- 斯沃数7.2版手册西门子高级编程手册-840D-810Di-810D-FM-NC
- 世界旅游组织-新冠疫情对全球旅游业的影响(2020-2022年)
- 世界旅游组织-2023年通过旅游业实现可持续发展目标-项目指标工具包-英
- 菜鸟教程002 目标对象的中心点与源对象的中心点对齐,获取对象中心坐标
- 如何做从出甲方想要五彩斑斓的黑 还能做到动静结合
- 斯沃数控仿真软件7.2版手册Sinumerik+802D+操作编程手册(车床)
- 斯沃数控仿真软件7.2版系统手册FANUC-OI-TC编程和操作说明
- 斯沃数控仿真软件7.2版系统手册FAGOR+8070编程手册
- 斯沃数控仿真软件7.2版系统手册DASEN-R2F8000操作说明书
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)