2017-10-27 5 views
3

私は学校でこの「ギャンブル」プログラムを作っています。私たちの使命は、3つのダイスロールを持ち、中間のダイスが最初のものよりも大きくて3番目のものよりも小さい場合です。前の数字を保存して追加する

private void BtnKasta_Click(object sender, EventArgs e) 
    { 
     Random slump = new Random(); 
     int T1 = slump.Next(1, 7); 
     int T2 = slump.Next(1, 7); 
     int T3 = slump.Next(1, 7); 
     lblDice1.Text = T1.ToString(); 
     lblDice2.Text = T2.ToString(); 
     lblDice3.Text = T3.ToString(); 
     double pengar = double.Parse(tbxPengar.Text); 

     if (T2>T1 && T3>T2) 
     { 
      double satsning = double.Parse(tbxSatsa.Text); 
      double vinst = satsning * 5; 
      double total = pengar - satsning + vinst; 
      lblPengar.Text = total.ToString(); 

私が問題にしているのは、最終的な「勝利」からトータルを節約する方法を知らないということです。例えば2000年に入れて100を賭けた場合、2000-100 +(100 * 5)だから2400を得るでしょうが、私がボタンをもう一度押してもう一度勝利すれば私はまだ2400を持っています。 2800

+0

は全くのC#を知らないコーディング、またあなたの変数名がでている言語は、あなたのコードの中でいくつかの点で 'tbxPengar.Text = lblPengar.Text'のようなものを必要としない、で言いますあなたが「ギャンブルをもう一度」ボタンを押すポイント、 –

答えて

1

私はこれがウィンフォームアプリケーションであり、ウェブフォームではないと信じています。

デバッグを実行すると、何がうまくいかなかったかが表示されますが、例を使って実行してください。

のはあなたの例を経由して見ていきましょう:

プット2000と100を賭け、あなたは2回

/*First Time*/ 
double pengar = double.Parse(tbxPengar.Text); 
//tbxPengar.Text = "2000" 
//pengar = 2000 
double satsning = double.Parse(tbxSatsa.Text); 
//tbxSatsa.Text = "100" 
//satsning = 100 
double vinst = satsning * 5; 
//vinst = 100 * 5 = 500 
double total = pengar - satsning + vinst; 
//total = 2000 - 100 + 500 = 2400 
lblPengar.Text = total.ToString(); 
//lblPengar.Text = "2400" 

第二の時間を見てみましょう勝つ:

/*Second Time*/ 
double pengar = double.Parse(tbxPengar.Text); 
//tbxPengar.Text = "2000" 
//pengar = 2000 
... 

を2回目に、lblPengar.Textをテキストボックスに戻しません。したがって、コードは既存の値(たとえば "2000")で実行されます。

最後の行にtbxPengar.Text = lblPengar.Textを追加するだけで問題ありません。

ハッピー

関連する問題