`
阳韵圣
  • 浏览: 60533 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
文章分类
社区版块
存档分类
最新评论

保龄球记分算法

阅读更多
打保龄球是用一个滚球去打出十个站立的柱,将柱击倒。一局分十轮,每轮可滚球一次或多次,以击倒的柱数为依据计分。一局得分为十轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的;滚球情况有关。即,某轮某次滚球击倒的柱数不仅要计入本轮得分,还可能会计入前一两轮得分。具体的滚球击柱规则和计分方法如下:
(1) 若某一轮的第一次滚球就击倒全部十个柱,则本轮不再滚球。(若是第十轮则还需另加两次滚球)。该轮得分为本次倒柱数 10 与以后两次滚球所击倒柱数之和。
(2) 若某一轮的第一次滚球未击倒十个柱,则可对剩下未倒的柱再滚球一次。如果这两次滚球击倒全部十个柱,则本轮不再滚球(若是第十轮则还需另加一次滚球),该轮得分为本次倒柱数10与以后一次滚球所击倒柱数之和。
(3) 若某一轮的两次滚球未击倒全部十个柱,则本轮不再继续滚球,该轮得分为这两次滚球击倒的柱数这和。
总之,若一轮中一次滚球或两次滚球击倒十个柱,则本轮得分是本轮首次滚球开始的连续三次滚球击倒柱数之和(其中有一次或两次不是本轮滚球)。若一轮内二次滚球击倒柱数不足十个,则本轮得分即为这两次击倒柱数之和。
以实例说明如下:
轮 1 2 3 4 5 6 7 8 9 10
每轮得分:
9|/,6|3,8|/,7|2,X| ,X| ,X| ,4|5,8|/,X|7|/

要求:
录入每轮的得分情况,得出总分与每轮分数。
public class Ball {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
String score = is.readLine();
String[] cores = score.split(",");
String[][] scores = new String[cores.length][3];
for(int i=0;i score(String[][] scores){
ArrayList list = new ArrayList();
for(int j=0;j list){
int sum = 0, csum = 0, count = 0;
for(int i=0;i= 10){
if(csum == 10){
csum += list.get(i+2);
i += 2;
}else{
csum += list.get(i+2);
i += 1;
}
}else{
i += 2;
}
sum += csum;
System.out.println("第"+(count+1)+"轮得分为:"+csum);
}
return sum;
}
}
//测试数据:
//9|/,6|3,8|/,7|2,X| ,X| ,X| ,4|5,8|/,X|7|/
//9|/,6|/,8|/,7|/,X| ,X| ,9|0,4|/,8|/,7|2

//
将每轮每次击球所得分放入list中(每一轮最少击球一次,第十轮最多击球三次),不击球则不算分,击空算零分,仍要放入list中。
加入计数器计数每轮所得分数后合计。
0
6
分享到:
评论

相关推荐

    保龄球记分系统 数据结构课程设计

    在数据结构课程设计中,构建一个保龄球记分系统是一项常见的实践项目,它涉及到对数据的组织和处理,特别是利用二维数组来实现。在这个项目中,我们将深入探讨如何运用数据结构来解决实际问题,以及二维数组在其中...

    保龄球记分系统

    保龄球记分系统是一种基于图形用户界面(GUI)的应用程序,它专为记录和展示保龄球游戏分数而设计。这个系统不仅提供基本的计分功能,还通过动画效果增强了用户体验,使得游戏过程更加生动有趣。动画效果包括球的...

    C#版保龄球记分代码

    在本文中,我们将深入探讨如何使用C#编程语言构建一个保龄球记分系统。保龄球记分系统是一个常见的编程练习,可以帮助开发者熟悉条件语句、循环、数组以及面向对象编程的概念。以下是对C#版保龄球记分代码的详细解析...

    bowling-scorecard:保龄球记分卡,使用javascript

    保龄球记分卡 概要 这是用javascript编写的保龄球记分卡的模型。 我以此项目为契机,尝试用JavaScript编写私有函数。 使用的技术 Javascript。 茉莉花 代码段 TODO: paste code here 仍需完成/重构 [前端] [] ...

    保龄球记分

    【保龄球记分系统】是一个利用图形用户界面(GUI)和递归算法实现的应用程序,主要用于模拟保龄球游戏的计分过程。这个程序包含了丰富的动态效果,如球的飘动和保龄球的随机滚动,使得用户体验更加生动有趣。 在GUI...

    保龄球记分程序_bowling-score.zip

    保龄球记分程序_bowling-score

    保龄球计分程序模拟(C#)

    在本文中,我们将深入探讨如何使用C#编程语言模拟一个保龄球计分程序。保龄球计分系统是一个有趣且具有挑战性的项目,它涉及到循环、条件判断、数组等核心编程概念。让我们一起深入了解这个项目的实现细节。 首先,...

    c++ 编写的 保龄球计分算法

    c++ 编写的 保龄球计分,错误处理很简单,并没有考虑到所有的输入异常情况

    unity天降保龄球

    《Unity天降保龄球项目解析与学习指南》 Unity是一款强大的跨平台游戏开发引擎,被广泛应用于游戏、模拟、教育等领域的项目制作。在这个名为“天降保龄球”的项目中,我们可以深入理解Unity的基本操作,以及如何...

    保龄球馆UNITY3d源码

    "保龄球馆UNITY3d源码"是一个使用Unity3D开发的完整项目,它提供了完整的保龄球馆游戏体验,包括击球控制和游戏逻辑。 【项目结构与工作流程】 在"保龄球馆"项目中,我们可以预期以下几个主要部分: 1. 场景构建...

    保龄球积分

    使用了GUI实现了动画效果的保龄球记分效果,球的飘动和保龄球的随机滚动,详细内容请参考readme.txt,另外递归写了一个Main实现了保龄球记分(满足3个记分要求)的控制台输出。1.3版本加入了图片我重新更新了下资源...

    c语言算法_保龄球算法的实现

    本文将深入探讨如何使用C语言来实现保龄球算法,这是一个基于游戏规则计算保龄球得分的算法。 保龄球游戏通常包含10个回合,每个回合玩家有两次投球机会。每击倒一个瓶可以获得1分,如果在第一次投球时全部击倒...

    保龄球问题资料 及概要设计

    保龄球问题,通常在计算机科学和编程领域中被用作一个练习,旨在考察程序员对动态规划、递归以及算法设计的理解。这个问题源自保龄球游戏的规则,它要求我们计算出在一局保龄球比赛中可能得到的最高分数。在这个问题...

    保龄球规则计算分数

    保龄球规则介绍: 一局(GAME)保龄球分为10格,每格里有两次投球机会,如在第一次投球时全中,就没有需要投第二球。每一格可能出现三种情况: 1.失球(MISS) 无论何种情况,在一格的两次投球时,未能击倒10个瓶,此格的...

    bowling_score_保龄球计分C语言_

    保龄球计分,C语言实现1、bai 全中:当每一个格的第一次投球击倒全du部竖立的十个瓶zhi子时,称为全中。用(X)符号记录在记分表上dao该格上方右边的小方格中。全中的记分是10分加该运动员下两次投球击倒的瓶数。一局...

    基于java的保龄球比赛记分板实现的存储库.zip

    保龄球比赛记分牌 确定保龄球比赛记分牌要求。 完成需求的实现后,通过Pull Request(PR)向您的github账户对应的分支请求代码审查。 根据代码审查反馈进行改进并再次推送。 所有反馈完成后,进行下一步并重复前面的...

    jmosullivan-bowling:保龄球记分卡

    保龄球记分卡起源在接受BBC技术毕业生计划的面试过程中,我被要求开发一款软件,该软件可以计算10针保龄球比赛的得分。 确切的说法是建立“ 10针保龄球记分卡”。 误认为这意味着该软件应该对正在进行的游戏进行评分...

    保龄球计分程序 完整源代码

    保龄球计分程序是一种基于规则的计算游戏分数的软件应用。在本案例中,我们讨论的是一个使用C++编程语言编写的保龄球计分程序的完整源...对于想要学习或改进自己保龄球计分算法的人来说,这是一个非常有价值的资源。

    c++保龄球程序功能不错

    从标题“c++保龄球程序功能不错”和描述“这是一个c++作的一个保龄球程序,不错哦”我们可以推断,这个程序已经实现了基本的保龄球游戏规则,并且功能稳定。 保龄球游戏通常涉及以下几个核心功能: 1. **得分计算**...

Global site tag (gtag.js) - Google Analytics