【问题标题】:Java Bowling Program - Adding 10th FrameJava 保龄球程序 - 添加第 10 帧
【发布时间】:2016-08-05 06:35:37
【问题描述】:

我目前正在开发一个保龄球项目,并且大部分项目都在工作。我有一个名为 BowlingGameTest 的 junit 测试文件,一个名为 Game 的类处理大部分得分,一个名为 Play 的类处理大部分游戏本身。据我所知,唯一需要添加的是第 10 帧细节。现在,如果我“击球”,那么第 10 帧就像第 1-9 帧一样结束。然而,它需要再给我一个碗,并根据我下一次投掷的“碗”,可能还有另一个碗。为第 10 帧实现此功能的最佳方法是什么?

这是我目前在 Play 课上的内容:

import java.util.Random;

public class Play {


    public static void main(String[] args) {
        Game g = new Game();
        int i;
        int PinsDown1;
        int PinsDown2;
        int PinsDown3;

        for (i=1; i<11; i++)
        {
            PinsDown1 = ThrowBall(0); //1st try
            System.out.println("Frame " + i + " Throw 1" + " knocked down is " + PinsDown1);
            if(PinsDown1 == 10)
            {
                g.roll(10);
                System.out.println("Congratulations, you bowled a strike!");
                System.out.println();
            }
            else
            {
                PinsDown2 = ThrowBall(PinsDown1); //2nd try
                System.out.println("Frame " + i + " Throw 2" + " knocked down is " + PinsDown2);
                g.roll(PinsDown1);
                g.roll(PinsDown2);
                if (PinsDown1+PinsDown2 == 10)
                    System.out.println("Congratulations, you bowled a spare!");
                    System.out.println();
            }
        }

        System.out.println("Final score is " + g.score() );

    }  //*** end main ***

    public static int ThrowBall(int PinsDown)
    {
        int standing = 10-PinsDown;
        Random rand = new Random();
        int  down = rand.nextInt(standing+1); 
        return down;
    }

}  //*** End class ***

【问题讨论】:

  • 也许可以自己实现Iterator。如果十分之一是合适的,提供它,否则只提供第九个。请参阅 this Answer by Dave Swartz 了解自定义迭代器。

标签: java class loops methods junit


【解决方案1】:

考虑将 for 循环更改为 while 循环。使用您的变量 i 作为帧计数器并添加一个条件以在 >=10 而不是罢工时跳出循环。

【讨论】:

  • 这是一个低质量的答案。请提供如何解决问题的相关示例。正如您目前所说的那样,它应该只是一个评论。
  • 我认为这是一个相当不错的答案。
  • @Zizouz212 我觉得应该是评论
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 2021-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多