これは質問です:
クラップスのゲームでは、パス ライン ベットは次のように進行します。クラップス ラウンドでサイコロを最初に振ることを「カムアウト ロール」と呼びます。7 または 11 のカムアウト ロールは自動的に勝ち、2、3 または 12 のカムアウト ロールは自動的に負けます。カムアウトロールで4、5、6、8、9または10が出ると、その数字が「ポイント」になります。プレーヤーは、7 またはポイントがロールされるまでサイコロを転がし続けます。ポイントが最初にロールされた場合、プレーヤーは賭けに勝ちます。7が先に出た場合、プレーヤーは負けます
人間の入力なしでこれらのルールを使用してクラップスをシミュレートするプログラムを作成します。賭け金を要求する代わりに、プログラムはプレーヤーが勝つか負けるかを計算する必要があります。プログラムは、2 つのサイコロを振ることをシミュレートし、合計を計算する必要があります。プログラムが数回再生されるようにループを追加します。プレイヤーが勝った回数と負けた回数をカウントするカウンターを追加します。ゲームを数回プレイした後、勝つ確率(勝ち/罪+負け)を計算し、値を出力します
そして、これが私がこれまでに行ったことです
import java.util.Scanner;
public class partb1
{
public static void main(String[] args)
{
int side1=1, side2=1 , roll=1, lose=0, win=0, point=0, answer;
Double winprob, loseprob;
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
Scanner kb = new Scanner(System.in);
do
{
roll = side1+side2;
if ( roll == 7 || roll == 11)
{
System.out.println(" Come out wins");
winprob = win + 1;
}
else if ( roll ==2 || roll ==3 || roll ==12)
{
System.out.println(" Come out loses ");
loseprob = lose +1;
}
else
{
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
point = roll;
roll = side1+side2;
System.out.println("The point");
System.out.println("You won the bet");
winprob = win + 1;
while(roll != point || roll!= 7);
side1= 1+(int)(Math.random() *6);
side2= 1+(int)(Math.random() *6);
roll = side1+side2;
}
if( roll ==7)
{
System.out.println("You lost the bet");
answer = kb.nextInt();
}
else if (roll == point) {
System.out.println(win);
}
while(true)
{
System.out.println(" Do you want to play again? 0 for No, any number for Yes ");
if (answer ==0)
{
break;
}
winprob = (40/(40+60));
System.out.println(" The probability of wining is " + winprob);
loseprob = (40/(40-60));
System.out.println(" The probability of losing is " + loseprob);
}
}
}
}
このエラーが発生し続けます
1 error found:
File: H:\assignment 3\partb1.java [line: 84]
Error: Syntax error, insert "while ( Expression ) ;" to complete DoStatement
何かを見逃したのか、何か間違ったことをしたのかわかりませんか? どんな手掛かり?