说明: 在本课程中,您将制作一个改进的骰子游戏。在开始编写代码之前,请阅读所有说明。
给出以下规则,使用控制台输出每个掷骰结果和WIN / LOSE消息,模拟游戏的进行。显示了几次运行的示例输出。
示例运行: 你翻了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 );
}
}
}
}
我不确定如何修复我的代码或从哪里开始。我的老师说这是完全错误的。另外,代码或方法的第二部分令人困惑,我不确定从哪里开始。 你能帮忙吗?