2012-11-29 22 views
1

很基本,但我正在创建一款游戏,我将在游戏中拥有2到4名玩家,我需要知道如何向用户询问将有多少玩家将这些数量存储在我的阵列中供以后使用?如何将玩家存储在数组中?

这是我写到目前为止

{ 
     int NumberofPlayers; 
     { 
      do 
      { 
       Console.WriteLine("Please enter number of players (2-4): "); 
       String StringNumberOfPlayers = Console.ReadLine(); 
       NumberofPlayers = int.Parse(StringNumberOfPlayers); 

      } 
      while (NumberofPlayers > 4 || NumberofPlayers < 2); 
     } 


     // need get the number of players and set the required elements in 
     // playerPositions to 0 on the board 
    } 
      static int [] PlayerPositions = new int [4]; 

    static void Main() 
    { 
     ResetGame(); 
    } 
} 

}

+1

我看到你得到了玩家的数量,那么是什么阻止你重置PlayerPositions数组中的值?请发布您面临的具体问题,而不是要求海报为您编写代码。 – ryadavilli

回答

3

你是在正确的轨道上,只是用NumberofPlayers

static int [] PlayerPositions; 

public void ResetGame() 
{ 
    int NumberofPlayers; 
    do 
    { 
     Console.WriteLine("Please enter number of players (2-4): "); 
     String StringNumberOfPlayers = Console.ReadLine(); 
     NumberofPlayers = int.Parse(StringNumberOfPlayers); 
    } 
    while (NumberofPlayers > 4 || NumberofPlayers < 2); 

    // need get the number of players and set the required elements in 
    // playerPositions to 0 on the board 
    PlayerPositions = new int [NumberofPlayers]; 
} 
0

对于这种大小分配阵列,何不你刚刚创建了一个PlayerPositions列表。

List<PlayerPositions> players = new List<PlayerPositions>(); 

根据来自用户的输入,一颗颗对象添加到上面的列表中。

while (NumberOfPlayers > 0) 
{ 
players.Add(new PlayerPositions()); 
NumberOfPlayers--; 
} 
+0

最多只能使用4个使用静态数组的玩家可能是最好的解决方案(取决于对象的复杂性)。至于你的循环,我会使用第二个变量,否则你会失去玩家的数量(除非你使用列表长度)。 – Mario

+0

这只是一个例子。当然,你想存储来自用户的输入。 – Tushar

1

将数组大小设置为NumberofPlayers。

PlayerPositions = new int [NumberofPlayers];