2017-02-21 3 views
0

Ich versuche, diese while Schleife zu erhalten, ein Roulette-Spiel zu spielen, bis mein Budget leer ist. Wenn ich den Code ausführe, hängt es einfach. Hier ist der while Code einschließlich der Schleife, die hängt.Roulette-Spiel hängt an während Schleife

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    {  
    } 

    protected void btnPlay_Click(object sender, EventArgs e) 
    {   
     int Budget = Convert.ToInt32(txtMyBudget.Text); 
     int Bet = Convert.ToInt32(txtMyBet.Text); 
     int Outcome = Convert.ToInt32(txtMyNum.Text); 

     //generates a random number between 0 and 38 
     Random num = new Random(); 

     int numSpun = num.Next(0, 38); 
     lblBudgetError.Text = numSpun.ToString(); 

     //checks to make sure the budget is set 
     if (txtMyBudget.Text == "") 
     { 
      lblBudgetError.Text = "Please set your budget"; 
     } 

     int myBudget = Budget;   
     while (Budget >= Bet) 
     { 
      myBudget++;  
      lblValidate.Text += myBudget.ToString() + "<br />";     

      if (numSpun == Outcome) 
      { 
       int newBudget = Bet * 35 + Budget; 
       txtMyBudget.Text = newBudget.ToString();  
      } 
      else 
      { 
       int newBudget = Budget - Bet; 
       txtMyBudget.Text = newBudget.ToString();  
      }  
     }   
    } 

Vielen Dank für Ihre Hilfe.

+0

Wo ist die ** Schleife **? –

+1

Sie haben keine Ahnung, was Sie tun, und Sie erwarten, dass jemand anderes es für Sie löst? – bc004346

+0

Ja, ich bin sehr neu darin und ich kämpfe. Wie sonst soll man lernen? Ich dachte, dass diese Seite dazu da ist, Leuten beim Lernen zu helfen. Ich habe nicht einmal nach dem Code gefragt. Ich habe darum gebeten, dass die Leute mir sagen können, was ich falsch mache, und mir zeigen, was ich anders machen soll. Es tut mir leid, dass wir nicht alle Experten-Programmierer sind wie Sie bc004346. – MikeWallce

Antwort

0

Sie ändern die myBudget nicht Budget, die in der Schleife verwendet wird. Ändern Sie entweder die Bedingung (verwenden Sie myBudget, wie while (myBudget >= Bet)) oder erhöhen Sie die Budget.

BTW, wenn Sie aus einem Hintergrund mit Zwei-Wege-Bindung kommen, ist es hier nicht der Fall, dh die Änderung des Werts der TextBox ändert nicht den Wert der Budget und Sie sollten ihren Wert aktualisieren, z Beispiel in einem Getter.