2017-02-21 1 views
0

Я пытаюсь получить эту петлю while, чтобы продолжать играть в рулетку, пока мой бюджет не будет пустым. Когда я запускаю код, он просто зависает. Вот код while, включая винт, который висит.Игра в рулетку висит на петле

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();  
      }  
     }   
    } 

Благодарим за помощь.

+0

Где ** цикл **? –

+1

У вас нет ни малейшего представления о том, что вы делаете, и вы ожидаете, что кто-то другой решит его для вас? – bc004346

+0

Да, я очень новичок в этом, и я борюсь. Как еще можно научиться? Я подумал, что именно этот сайт помогает людям учиться. Я ни разу не просил код. Я спросил, чтобы люди могли сказать мне, что я делаю неправильно, и направить меня на то, что я должен делать по-другому. Мне жаль, что мы не все экспертные кодеры, такие как вы bc004346. – MikeWallce

ответ

0

Вы меняете myBudget не Budget, который используется в цикле. Или измените условие (используйте myBudget, например while (myBudget >= Bet)) или увеличьте Budget.

BTW, если вы пришли из фона с двусторонним связыванием, здесь это не так, т.е. изменение значения TextBox не меняет значение Budget, и вы должны обновить его значение, для пример в геттере.

Смежные вопросы