2016-07-11 4 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

하지 않더라도 "다시 롤을"말을 계속 RollDice. RollDice 기능 후에 int sumDice = die1 + die2 이동 :

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); 
} 
관련 문제