2017-04-14 4 views
0

私は基本的に、ループするたびにPlayer.SetPoints();を1ずつ増やす方法を知りたいと思います。私はクラスpublic void SetPoints(int p) { points = p; }でこれを得て、ちょうどそれが言及する価値があると思った。今まで私がこれを働かせる唯一の方法は、Player.SetPoints(+1);を使用することですが、それはスコアボードに1を置き、決して再び増加しません。申し訳ありませんが私は十分に明確でない場合、私は非常にプログラミングすることです。これは私のコードのサンプルですので、もう少し理解できるかもしれません。私は学校の課題としてティック・タック・トー・ゲームを作っています。公開されたvoid intは1回ごとにループします(初心者)

if (Btn1.Text != "" && Btn2.Text != "" && Btn3.Text != "") 
      { 
       if (Btn1.Text == Btn2.Text && Btn1.Text == Btn3.Text) 
       { 
        Btn1.BackColor = Color.Green; 
        Btn1.ForeColor = Color.White; 
        Btn2.BackColor = Color.Green; 
        Btn2.ForeColor = Color.White; 
        Btn3.BackColor = Color.Green; 
        Btn3.ForeColor = Color.White; 
        if (Btn1.Text == "X") 
        { 
         MessageBox.Show(lblpl1.Text + " Has Won!"); 
         Player1.SetPoints(+0); 
         playerscore1.Text = Player1.GetPoints().ToString(); 
        } 
        else 
        { 
         MessageBox.Show(lblpl2.Text + " Has Won!"); 
         Player2.SetPoints(+0); 
         playerscore2.Text = Player2.GetPoints().ToString(); 
        } 

        click1++; 
        click2++; 
        click3++; 
        click4++; 
        click5++; 
        click6++; 
        click7++; 
        click8++; 
        click9++; 

        restartbtn.Visible = true; 
       } 

      } 
+0

この変更を加えます。 public void SetPoints(int p){points + = p; } SetPoint()を渡します。 – Reddy

答えて

1

各ボタンで何かを増やすには、以前の値を変数に保存する必要があります。あなたはclicksと同様のシンクタンクを行っている。

click1++; 

あなたの方法は、指定された値にpointsを設定します。それを1に与えると、1に設定されます。それはあなたが個々の値にpointsを設定しないように見える、あなたはそれを毎回増加し、その代わりに宣言したいあなたにそれを変更できることなどの方法:

public void IncreasePoints() 
{ 
    points++; 
} 

単になしでそれを呼び出します任意の値を渡します。

Player1.IncreasePoints(); 
+0

ありがとうございました!これは素晴らしいことですが、それは私が決して決めることのできない小さな単純なものです:P –

関連する問題