Advertisement

Bob叔叔利用Karma,Mocha和Chai开发的保龄球游戏Kata。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
保龄球比赛模拟,由Bob叔叔创作的经典作品,采用JavaScript实现计分系统。 游戏流程包含十个回合,如同上图所示。 在每个回合中,玩家均有两次机会击倒全部十个大头针。 回合的总得分是击倒大头针数量的总和,并根据罢工和备用情况额外获得奖金。 备用指的是玩家在两次尝试中都成功击倒所有十个大头针的情况;此时,该回合的好处是下一轮击倒大头针的数量的增加。 例如,在第三回合中,得分将为10(击倒总数)加上5的奖金(基于下一轮滚动的球数)。 罢工则指玩家在第一次尝试中就成功击倒所有十个大头针的情况;该回合获得的奖励是下一次滚动两个球的总值。 在第十个回合中,允许掷出备用球或罢工球的球员可以额外滚动多余的球以完成该回合,但最多只能滚动三个球。 要求开发一个名为“BowlingGame”的类卷(即大头针),该类具备两种计分方法。 每次掷球时,玩家会发出叫号指示要击倒的引脚编号。 `score()` 方法仅在游戏结束时被调用,返回整个游戏的总得分。 一局游戏包含十个回合,每个回合代表一个游戏阶段。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Bowling Game Kata: Bob KarmaMocha Chai 以 JavaScript 实现练习项目
    优质
    这是一个使用JavaScript编写的 bowling game kata 练习项目,由Bob叔叔完成。该项目采用了Karma, Mocha和Chai等测试工具进行开发与验证。 保龄球比赛中的经典作品以JavaScript实现计分游戏。该游戏包含10帧,在每一帧里玩家有两次机会击倒总共10个瓶子的机会。每一轮的得分是根据被击倒瓶子的数量计算,同时还会加上因备用或全中而获得的额外分数。 备用是指在一帧内所有瓶都被一次性击倒的情况,该轮的奖励分则为下一次投球所击倒瓶子的数量之和。例如,在第三轮中的得分为10(总共击倒的瓶子数)加5作为奖金(即在随后一轮中被击倒的瓶子数量)。全中是指在一帧内第一次投球时就将所有瓶都打倒的情况,该轮得分则为接下来两轮投球所击倒瓶子的数量之和。 特别地,在第十帧里,如果玩家获得备用或全中的机会,则可以额外多掷一次或两次球来完成这一轮。但在第十帧中最多只能进行三次投球操作。 要求编写一个名为“BowlingGame”的类,其中包含两个方法:roll()用于每次球员击倒瓶子时调用;参数是被击倒的瓶数。另一个方法为score(),仅在游戏结束后调用,返回整个比赛的游戏总分。
  • 移动Recovery
    优质
    《移动叔叔的Recovery》是一部温馨感人的治愈系漫画作品,讲述了一位充满爱心的修理师傅帮助社区居民解决生活难题的故事。 安卓手机刷入recovery后可以实现内存卡刷机。
  • 移动MTK6589一键ROOT软件
    优质
    移动叔叔MTK6589一键ROOT软件是一款专为搭载MTK6589处理器的安卓设备设计的应用程序。它能够帮助用户轻松快捷地获取手机root权限,从而解锁更多系统设置和功能优化选项。 移动叔叔MTK6589一键ROOT工具.rar
  • JavaScript单元测试示例(使Mocha、JasmineChai
    优质
    本教程提供使用流行库Mocha、Jasmine及断言库Chai进行JavaScript代码单元测试的实际案例与详细指南。 JavaScript单元测试框架Demo主要用于演示JS的单元测试框架及配套工具的使用方法。Mocha目录展示了如何使用Mocha、Mocha与Chai结合以及Mocha+Chai+Karma的配置方式;Jasmine目录则介绍了Jasmine及其与Chai和Karma集成的方法,并附带了两者的一些比较信息。 运行带有Karma功能演示时,需要先通过npm全局安装karma-cli: ``` > npm install -g karma-cli ``` Mocha部分的操作步骤如下: - 安装Mocha:`> npm install -g mocha`(所用版本为mocha@2.2.1) - 安装依赖模块:对于使用Mocha的项目,执行命令 `npm install` - 运行测试代码(例如在Mocha+Chai组合中): `> mocha` 以上步骤提供了基础配置和运行环境设置。
  • Processing
    优质
    这是一款使用Processing编程语言开发的趣味横生的击球游戏。玩家需要控制屏幕上的拍子,精准地击中快速飞来的球,挑战自己的反应速度和手眼协调能力。 基于Processing的小游戏可以在网站http://audiomiao.site/processing/上找到介绍。
  • curses库
    优质
    本项目利用Python的Curses库开发了一款控制简单的弹球游戏,通过键盘操作玩家可以控制挡板反弹屏幕中的球,旨在提升编程技巧和图形界面处理能力。 本段落主要介绍了利用curses库实现弹球游戏的相关知识点,包括curses库的基本概念、弹球游戏的原理、设计及其实现细节以及如何应用curses库来开发这样的游戏。 Curses 库简介: Curses 是一个广泛使用的 Unix 终端控制库。它提供了一种方法来管理和操作终端界面,并且为开发者提供了独立于硬件和操作系统特性的API,使得跨平台的程序编写成为可能。 弹球游戏实现原理: 利用curses库开发的弹球游戏中,主要逻辑包括对球体运动及挡板移动的设计与控制。通过调整水平和垂直方向的速度来操控球的轨迹;而左右坐标的变化则用于操作挡板的位置。 设计思路与实施细节: 在规划游戏时需要考虑以下几点:* 球的路径计算 * 挡板的操作机制 * 游戏流程(开始、进行中及结束) Curses 库的应用场景: - 屏幕初始化和关闭 - 字符输出到屏幕 - 键盘输入处理 - 屏幕刷新 游戏实现过程: 从初始状态的设定,通过控制函数来驱动整个游戏的运行直至终止。 代码解析部分展示了如何定义变量以追踪球及挡板的状态,并且在`main()`中设置了程序流程:初始化界面、等待用户指令以及执行具体的逻辑操作。此外,在 `init()` 函数内设定了起始状态和视觉效果;而在`control()`函数里,实现了游戏核心的控制功能。 本段落详细阐述了基于curses库制作弹球游戏的相关知识和技术细节。
  • 状态机建模分析
    优质
    本论文探讨了如何运用状态机模型对保龄球游戏规则和流程进行精确建模与深入分析,旨在优化游戏体验。 保龄球游戏的设计采用了状态机模式。我重构了《XP Bowling》一集中 Bob 大叔的代码,并发现他的一个问题是:同一个对象既要负责聚合帧分数,又要为每一帧评分。经过多次尝试后,我发现使用状态模式是唯一令人满意的方法。通过这种设计,Bowling 类只负责聚合帧得分,而对帧进行评分的逻辑则分布在 Frame 和其状态(即 Ball 对象)之间。 这个设计也基于我从以下几个方面学到的知识:Kent Beck 的实现模式、测试驱动开发;杰夫·贝在《思想作品选集》中的对象健美操;得墨忒耳定律;依赖注入;以及戴夫·托马斯和安迪·亨特的“告诉,不要问”原则。 要从终端运行测试,请先 cd 到保龄球目录——即包含此自述文件的应用程序顶级目录。然后输入相应的命令即可。
  • Unity VR源码下载.zip
    优质
    这是一个包含Unity引擎开发的虚拟现实保龄球游戏源代码的压缩包。开发者可以从中学习到VR游戏开发的相关技巧,并直接使用或修改其中的资源进行创作。 VR保龄球游戏.zip项目unity源码下载: 1. 适合学生学习研究参考。 2. 适合个人学习研究参考。 3. 适合公司开发项目技术参考。
  • 移动MTK刷机工具 3.1304.0 正式版
    优质
    移动叔叔MTK刷机工具是一款专为使用MediaTek(联发科)处理器的安卓设备设计的系统恢复和升级软件,帮助用户安全地进行手机刷机、备份与还原等操作。版本3.1304.0带来了多项改进和新功能,确保更好的兼容性和稳定性。 移动叔叔专用MTK刷机工具是由移动叔叔ROM组发布的最新软件,使用该工具可以轻松一键完成刷机操作。它支持线刷MTK6589四核手机,并且能够修复变砖的红米手机。此外,这款工具还基本兼容MTK6592、MTK6589和MTK6595等平台。