2016-10-08 11 views
1

私は、ユーザーがクラップス(プレイス)を撮影できるようにする、Scannerを使用してJavaで簡単なプログラムを作成しようとしています。"Elseステートメントの場合"をループするjava

1.このコードでは、ユーザーにどれくらいの金額を入力するかを尋ねます。

  1. コードは、ユーザーに賭け金の入力を求めます。

  2. 乱数ジェネレータを使用すると、ユーザーにロールした情報を通知し、ユーザーに勝ち/紛失した金額を通知します。

    彼らは2,3,7,11、または12

    を転がしたときに、私はどのようにわからない、成功した彼らは勝ったか失ったときにユーザーに通知するためにコンピュータを伝えることができました

4,5,6,8,9、および10などの他のランダムな値が丸められたときに、サイコロを回転させ続けるようにコンピュータに指示するには、助けてください。ここに私のコードは次のとおりです。ループは、ユーザーがお金がなくなるまでゲームを続けるためにしながら、

System.out.println("How much is in your purse?: "); 
purse = input.nextInt(); 

System.out.println("make a bet: "); 
bet = input.nextInt(); 

int pNumber = rand.nextInt(12) + 1; 

if (pNumber == 2 || pNumber == 3 || pNumber == 12) 
{ 
    purse = purse - bet; 
    System.out.println("you rolled a " + pNumber); 
    System.out.println("you lost $" + bet); 
} 
else if (pNumber == 7 || pNumber == 11) 
{ 
    purse = purse + bet; 
    System.out.println("you rolled a " + pNumber); 
    System.out.println("you won $" + bet); 
} 
else 
{ 
    System.out.println("you rolled a " + pNumber + ",keep rolling"); 
} 
+0

ユーザーが勝ったり敗れたりするとゲームが終了しますか? – paisanco

+0

いいえ、ユーザーはお金がなくなるまでゲームを続けます(財布== 0) –

答えて

1

は、外側を使用してください。

このようなものです。財布の最初の金額で開始し、ゲームを開始します。

ユーザーが勝ったり敗れた場合、新しい賭けをして再びロールします。

ユーザーが勝利も敗北もしなかった場合、現在の賭けで再びロールします。

System.out.println("How much is in your purse?: "); 


    purse = input.nextInt(); 
    boolean newBet = true; 

    while(purse > 0) 
    { 
    if(newBet) 
    { 
     System.out.println("make a bet: "); 
     bet = input.nextInt(); 
    } 

    //roll the dice, new bet or not 
    int pNumber = rand.nextInt(12) + 1; 

    if (pNumber == 2 || pNumber == 3 || pNumber == 12) 
    { 
      purse = purse - bet; 
      System.out.println("you rolled a " + pNumber); 
      System.out.println("you lost $" + bet); 
      newBet =true; //make a new bet if you won 
    } 
    else if (pNumber == 7 || pNumber == 11) 
    { 
      purse = purse + bet; 
      System.out.println("you rolled a " + pNumber); 
      System.out.println("you won $" + bet); 
      newBet=true; //make a new bet if you lost 
    } 
    else 
    { 
     System.out.println("you rolled a " + pNumber + ",keep rolling"); 
     newBet=false; // make no new bet, neither won nor lost 

    } 
    } //end while 


    System.out.println("Game over !") 
ユーザーは、彼らはお金を使い果たす前に終了させたい場合は、whileループから抜け出すための条件を追加することができ

など

+0

これはOPが求めていたものではありません。 OPは、4,5,6,8,9、または10を転記すると、ユーザーが自分のダイスをリロールする方法を知りたいと考えている – AleksandrH

+0

OPは、ユーザーがお金を得たとしてもゲームを続行したいとコメントした11)、または紛失した金額(2,3または12のロール)またはロールが金額に影響を与えなかった(4,5,6,8,9,10)。 – paisanco

+0

OK編集を指摘しています。 – paisanco

-2
boolean keep_rolling = true; 

While(keep_rolling== true) 
{ 
System.out.println("How much is in your  purse?: "); 
     purse = input.nextInt(); 
     if(purse==0){ 
System.out.println("you need more money to continue "); 

}else{ 

     System.out.println("make a bet: "); 
     bet = input.nextInt(); 



    int pNumber = rand.nextInt(12) + 1; 






     if (pNumber == 2 || pNumber == 3 || pNumber == 12) 
     { 
      purse = purse - bet; 
      System.out.println("you rolled a " + pNumber); 
      System.out.println("you lost $" + bet); 
keep_rolling= false; 
     } 
        else if (pNumber == 7 || pNumber == 11) 
        { 
         purse = purse + bet; 
         System.out.println("you rolled a " + pNumber); 
         System.out.println("you won $" + bet); 

     keep_rolling= false;    } 
         else 
         { 

System.out.println("you rolled a " +  pNumber + ",keep rolling"); 

             } 
}//end else of purse==o 
}//end while 
+0

ありがとう皆さん、特に私がやりたかったことを正確に行ったPainsanco! –

+0

@KelOkekpeあなたのために働く答えを受け入れるべきです、それは感謝の良い方法です! – Addis

0

キー、あなたが特定の番号がつけのために転がり続けたい場合はwhileループまたはdo-whileループ内のすべてのコード。 、この方法で


転がし、それを呼び出す、場合、ユーザーのロール

をシミュレートするために、乱数ジェネレータを使用します。ここでは

0

は、実際のコードを想像するのを助けることができる無地の言葉で単純なアルゴリズムですユーザーのロールが4,5,6,8,9、または10に等しくない場合は、問題の数値に応じて の計算を続行してください。

それ以外の場合は、 、再帰的なcaを作るロール方法 までです。これは、別のランダムなロールを生成し、あなたはまだ再帰について知っているが、基本的に、それは自分自身を呼び出す方法だ場合、「許容される」ロールが


わからないが発生するまで再びチェックを通過します。

関連する問題