私はシミュレーターを使ってクラップスをプレイしていて、同じメソッドから2つの値を返そうとしています(というよりもやりたいです)。
returnステートメントを書いたとき、コンパイルして正しく実行される「&」を入れてみました。しかし、2番目の戻り値にアクセスする方法がありません。
public static int crapsGame(){
int myPoint;
int gameStatus = rollagain;
int d1,d2;
int rolls=1;
d1 = rollDice();
d2 = rollDice();
switch ( d1+d2 ) {
case 7:
case 11:
gameStatus = win;
break;
case 2:
case 3:
case 12:
gameStatus = loss;
break;
default:
myPoint = d1+d2;
do {
d1=rollDice();
d2=rollDice();
rolls++;
if ( d1+d2 == myPoint )
gameStatus = win;
else if ( d1+d2 == 7 )
gameStatus = loss;
} while (gameStatus == rollagain);
} // end of switch
return gameStatus & rolls;
}
値を次のように返すと:
gameStatus=crapsGame();
それは勝つか負けるかを変数に適切に設定しますが、私がそのステートメントを次のように実行するような単純なことを試みた場合:
rolls=crapsGame();
gamestatusと同じ値が割り当てられます...0または1(勝ち負け)。2番目の戻り値にアクセスする方法はありますか?それとも、それについて完全に異なる方法がありますか?