有条件地掷骰子

时间:2018-11-08 05:17:00

标签: java

说明: 在本课程中,您将制作一个改进的骰子游戏。在开始编写代码之前,请阅读所有说明。

给出以下规则,使用控制台输出每个掷骰结果和WIN / LOSE消息,模拟游戏的进行。显示了几次运行的示例输出。

  1. 玩家掷出两个6面骰子(提示:Math.random())
  2. 首次尝试掷出7或11即可获胜
  3. 第一次尝试时将2、3或12的卷输掉
  4. 第一次尝试的其他任何掷骰都成为玩家的POINT
  5. 如果玩家掷出POINT,则玩家会继续掷骰直到发生以下两种情况之一:
  6. 如果POINT中的玩家再次掷出POINT,则为获胜
  7. 如果POINT中的玩家掷出7,则为输

示例运行: 你翻了7。 你赢了!

您滚动了12。 你输了!

您滚动了4. POINT是4。 您滚动了3. POINT是4。 您滚动了11。POINT是4。 你滚4。 你赢了!

要制作游戏,您应该使用下面介绍的方法创建RollTheDice类。

rollDice此方法没有任何参数。它通过在骰子顶部显示数字来模拟两个掷骰子。除了输出掷骰数外,该方法还返回骰子的总和。 (注意:此方法将打印信息并返回信息。)

main在main方法中,以20筹码启动播放器。 (游戏结束时,玩家没有筹码或说他想下0筹码。)询问玩家他们希望下多少赌注。如果下注金额大于筹码数量,请打印一条消息,并要求玩家提供另一笔金额。玩家下注后,模拟掷骰子,然后算出玩家赢了或输了多少。显示他赢/输了多少以及当前筹码数量。如果他还剩0个筹码,请问他要重复下多少赌注,直到他想下0筹码或被破发为止。

在游戏结束时,显示一条消息,告诉玩家游戏结束时他有多少筹码。

该程序的大部分代码将在主要代码中。

入门代码:

import java.util.Scanner;

public class RollTheDice
{
    public static void main( String[] args )
    {
        System.out.println( "1. The player rolls two 6-sided dice\r\n" +
                            "2. A roll of 7 or 11 on the first try is a WIN \r\n" +
                            "3. A roll of 2, 3 or 12 on the first try is a LOSE \r\n" +
                            "4. Any other roll on the first try becomes the player's POINT \r\n" +
                            "5. If a player rolled POINT, the player continues to roll until one of two things happens: \r\n" +
                            "6. If a player in POINT rolls the POINT again, it is a WIN\r\n" +
                            "7. If a player in POINT rolls 7, it is a LOSE \r\n" +
                            "" );
        int chips = 20;

        Scanner kb = new Scanner( System.in );
        System.out.println( "How much do you want to bet - you start with 20 chips? Enter 0 to stop the game." );
        int bet = kb.nextInt();

    }
}

我的代码:

package RollTheDice;

public class lessonRollTheDice
{
    public static void main( String[] args )
    {
        int t1, t2, total;

        dice1 d1 = new dice1();
        t1 = d1.tossdice();
        dice2 d2 = new dice2();
        t2 = d2.tossdice();
        d1.drawdice( t1 );
        d2.drawdice( t2 );
        total = t1 + t2;
        if ( total == 7 || total == 11 )
        {
            System.out.println( "Game won with " + total );
        }
        else if ( total == 2 || total == 3 || total == 12 )
        {
            System.out.println( "Game lost with " + total );
        }
        else
        {
            int winTarget = total;
            System.out.println( "Rolling until dice roll=" + winTarget + " or 7" );
            do
            {
                t1 = d1.tossdice();
                t2 = d2.tossdice();
                d1.drawdice( t1 );
                d2.drawdice( t2 );
                total = t1 + t2;
                System.out.println( "Total is " + total + " Throw again" );
            }
            while ( total != winTarget && total != 7 );
            if ( total == winTarget )
            {
                System.out.println( "Won game with " + total );
            }
            else
            {
                System.out.println( "Lost game with " + total );
            }
        }
    }
}

我不确定如何修复我的代码或从哪里开始。我的老师说这是完全错误的。另外,代码或方法的第二部分令人困惑,我不确定从哪里开始。 你能帮忙吗?

0 个答案:

没有答案