2016-10-10 14 views
0

別のメソッドの変数を配列に呼び出そうとしています。 var Com =ゲームの難易度。しかし、以下のメソッドはvar Comを呼び出そうとしています。var c = Com.GetChoice();別のメソッドから変数を呼び出す方法がわかりません

なぜ私はそれを呼び出す方法を見つけることができないのか分かりません。

public object SetDiff() 
     { 
      Console.WriteLine("Enter difficulty #: (1 = Easy, 2 = Normal, 3 = Impossible)"); 
      var diff = Console.ReadLine(); 
      int mode; 
      int.TryParse(diff, out mode); 

      if (mode == 1) 
      { 
       Console.Clear(); 
       var Com = new Easy(); 
       return Com; 
      } 
      if (mode == 2) 
      { 
       Console.Clear(); 
       var Com = new Medium(); 
       return Com; 
      } 
      if (mode == 3) 
      { 
       Console.Clear(); 
       var Com = new Hard(); 
       return Com; 
      } 
      else 
      { 
       Console.WriteLine("That is not a valid input."); 
       return SetDiff(); 
      } 
     } // Apparently you can't set variables in a switch. 

     public int[] FaceOff(int num) 
     { 
      int PlayerWin = 0; 
      int ComWin = 0; 
      int Tie = num + 1; 
      // TODO : Get rid of TIES! 
      for (int i = 0; i < num; i++) 
      { 
       var p = p1.GetChoice(); 
       var c = Com.GetChoice(); 
+0

変数Comは現在のコンテキストに存在しませんが、それは私に与えられたエラーです。 – BRAHN

+0

ようこそStackOverflowへ!可変スコープに精通してください。https://msdn.microsoft.com/en-us/library/ms973875.aspx – Mat

答えて

0

あなたは多くの異なるオプションがあります:パラメータ

public int[] FaceOff(int num, int Com){...} 

として

パスを私があなたにも推薦する "グローバル" 変数

private int Com; 

を作りますOOPを学ぶ(Obオリエンテーションプログラミング)の基礎。

関連する問題