2012-12-10 27 views
-1

我將如何顯示每個玩家在每輪結束時拋出的分數? (我以1次投球對待1輪)骰子循環,將不同的滾輪加在一起

順便說一句,如果一名球員投出6分,他們將再次擲出。

Console.WriteLine("Player 1, enter your name"); 
PlayerOne = Console.ReadLine(); 
Console.WriteLine("Player 2, enter your name"); 
PlayerTwo = Console.ReadLine(); 
Console.WriteLine("Player 3, enter your name"); 
PlayerThree = Console.ReadLine(); 
Console.WriteLine("Player 4, enter your name"); 
PlayerFour = Console.ReadLine(); 

Random DiceRandom = new Random(); 
int DiceThrow = DiceRandom.Next(1, 7); 
Console.WriteLine(DiceThrow); 
Console.ReadLine(); 


for (int i = 1; i <= 4; i++) 
{ 
    DiceThrow = DiceRandom.Next(1, 7); 
    Console.WriteLine("Player " + i + " rolled a " + DiceThrow); 
    Console.ReadLine(); 
    if (DiceThrow == 6) i--; 
} 

Console.WriteLine("Player 1 rolled a " + DiceThrow); 
Console.ReadLine(); 

Console.WriteLine("Player 2 rolled a " + DiceThrow); 
Console.ReadLine(); 

Console.WriteLine("Player 3 rolled a " + DiceThrow); 
Console.ReadLine(); 

Console.WriteLine("Player 4 rolled a " + DiceThrow); 
Console.ReadLine(); 
+0

您似乎沒有理解您關於此主題的上一個問題的答案。順便說一句,不知道我是否同意這種漸進方式來完成作業。 –

+0

爲什麼我沒有這樣的家庭作業:(只能唱歌,鼓掌和跳舞你的名字......無論如何,你的遊戲中的分數是什麼?每個玩家的所有投擲的總數?那麼就做吧。有什麼變數,至少我希望老師告訴過你,把每個投擲的價值添加到得分變量上應該不會很困難。 – dowhilefor

+0

事實上,這其實並不是家庭作業,我只是新手編碼和搞亂周圍自從上次的回答很有幫助我想我再次提問 @doforwhile同時,每個玩家在每一輪投擲的比分加在一起 說玩家1投2, 玩家2投3 , 玩家3拋出4, 播放器4投5, 他們的分數是2,3,4和5.但是我希望分數在每一輪結束時加在一起並顯示出來。 – user1890490

回答

0

你有什麼可以保持玩家的價值嗎?簡單的東西,如player1Scoreplayer2Score

而且在if語句中的for循環,詢問 (if i==1){player1Score = player1Score + DiceThrow})等會創造奇蹟。

0

那麼這裏是如何做到這一點,更好一點的一個小例子。很多東西都在你不知道的地方。我給你答案的原因是爲你提供足夠的新東西來自己檢查。

Random diceRandom = new Random(); 
var scores = new int[4]; 
for (int i = 0; i < 4; i++) 
{ 
    do 
    { 
     var roll = diceRandom.Next(1, 7); 
     Console.WriteLine("Player " + (i + 1) + " rolled a " + roll); 
     Console.ReadLine(); 
     if(roll != 6) 
      score[i] += roll; 
    }while(roll == 6); 
} 

// results 
for(int i = 0; i < 4; i++) 
{ 
    Console.WriteLine(String.Format("Player {0} scored {1}", i, scores[i])); 
    Console.ReadLine(); 
} 

只是一個快速綜述:

  • 修改循環計數器通常是不好的做法,應該儘量避免,所以不是我使用嵌套的do/while循環。
  • 我使用數組來存儲每個玩家的得分,在陣列本身擁有4個整數,每個玩家的得分爲每一個。這使得迭代它變得非常簡單和容易。
  • 前一點是循環通常從0開始而不是1開始的主要原因之一,因爲數組中的第一個索引是[0],因此具有4個元素的數組具有索引0,1,2 3.這點很重要。
  • 在結果部分中,我使用了一個名爲Format的String類中的方法,您可以在其中使用完整文本並添加佔位符,以便填充變量的值。 {0}是第一個參數,第一個參數是{1},依此類推。