2016-07-11 8 views
-3

こんにちは私はダイスのゲームを作った。ゲームの勝敗方法以外はすべてうまくいっています。私は私が間違ってやっているかわからないんだけど、私はサイコロを転がしたときに、それはちょうどサイコロの合計が、あなたが呼び出す前には、0sumDice値を代入0ダイスゲームの問題

 private void RollDice(out int die1, out int die2) 
    { 
     die1 = 0; 
     die2 = 0; 


     Random rand = new Random(); 

     die1 = 1 + rand.Next(6); 
     die2 = 1 + rand.Next(6); 
     return; 
    } 



    private int UpdateGameStatus(int sumDice) 
    { 
     int die1 = 0, die2 = 0; 
     int sum = die1 + die2; 
     if (sumDice == 8) 
      lblSum.Text = ("You lose!"); 
     if (sumDice == 4) 
      lblSum.Text = ("You lose!"); 
     if (sumDice == 11) 
      lblSum.Text = ("You lose!"); 
     if (sumDice == 9) 
      lblSum.Text = ("You win!"); 
     if (sumDice == 13) 
      lblSum.Text = ("You win!"); 
     if (sumDice == 0) 
      lblSum.Text = ("Roll again!"); 
     return sum; 

    } 
    private void btnRoll_Click(object sender, EventArgs e) 
    { 

     int die1 = 0, int die2 = 0 
     RollDice(out die1, out die2); 
     UpdateGameStatus(sumDice); 
+0

質問を編集して削除しないでください。私たちはあなたを楽しませていません、単に事実を指摘しています。間違いを犯したり問題を抱えたりすることは、恥ずかしいことではありません。私たちは皆、ある時点で学ばなければなりませんでした。下の答えを見てみると、コードを修正して続けることができます。 – TimothyP

答えて

1

ない場合でも、「もう一度ロール」を言い続けRollDiceint sumDice = die1 + die2RollDice後に機能を移動:

private void btnRoll_Click(object sender, EventArgs e) 
{ 
    int die1 = 0; 
    int die2 = 0; 
    RollDice(out die1, out die2); 
    int sumDice = die1 + die2; 
    UpdateLabel(die1, die2); 
    UpdatePictureBoxes(die1, die2); 
    UpdateGameStatus(sumDice); 
} 
0
int die1 = 0; 
    int die2 = 0; 
    RollDice(out die1, out die2); 
    int sumDice = die1 + die2; //needs to be moved one down 
    UpdateLabel(die1, die2); 
    UpdatePictureBoxes(die1, die2); 
    UpdateGameStatus(sumDice); 
+1

彼は 'sum = die1 + die2'と言っているが、返すまで値を無視する。コードはかなり悪いですが、彼の問題の原因ではありません。 – TimothyP

+0

なぜdownvote?これは正当な答えです... –

+1

私はそれが0になるように私はそれを投票するでしょう – TimothyP

0

はこれを行います。それは動作するはずです。コードを読んで、そこに投稿する前に論理的な問題がないことを確認してください。これは単なる論理的な間違いだった。

private void btnRoll_Click(object sender, EventArgs e) 
{ 
    int die1 = 0; 
    int die2 = 0; 
    RollDice(out die1, out die2); 
    UpdateLabel(die1, die2); 
    UpdatePictureBoxes(die1, die2); 
    int sumDice = die1 + die2; 
    UpdateGameStatus(sumDice); 
} 
関連する問題