rock paper scissors
第3周结束挑战 - 剪刀石头布
使用的程序、语言和技术包括:Ruby、HTML、Sinatra、Capybara、Cucumber、Heroku。
简报的目的是编写一个基于旧经典的应用程序:“石头,纸,剪刀”。这个基于网络的应用程序将通过Heroku托管,利用Sinatra框架。与之前的挑战不同,后者只需要单元测试——这个软件应该“由外而内”编写。
从使用Cucumber测试的特性和场景的广泛定义开始,最终使用现在熟悉的rspec进行单元测试。
挑战条件如下:
-
玩家必须在游戏前输入他们的名字。
-
玩家将看到选择(石头、纸和剪刀)。
-
玩家可以选择一个选项。
-
游戏会随机选择一个选项。
-
将宣布获胜者。
奖励功能:游戏的两个玩家版本和游戏扩展。
执行
分析和初始构建阶段
如前所述,这是“由外到内”测试驱动开发的首次尝试。我没有急着去拿CRC卡,而是开始在任务中进行构建。如果你对Ruby实现的石头剪刀布游戏感兴趣,可以参考这个示例代码,或者查看网页游戏的源码来获得更多灵感。还有一系列其他的实现和源码可供参考,比如石头剪刀布游戏的简单实现,甚至还有基于JavaScript的实现,你可以通过这个链接查看。阅读和对比这些不同的实现方法,能帮助你更好地理解和完善自己的项目。
用户评论