我怎样才能显示每位玩家在每轮结束时投出的分数? (我将每轮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)
你有什么可以保持球员得到的价值吗?简单的事情,例如player1Score
,player2Score
等。
还要求for循环中的if语句
(if i==1){player1Score = player1Score + DiceThrow})
等会创造奇迹。
答案 1 :(得分: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();
}
快速回顾一下:
Format
的String类中的方法,您可以在其中使用完整的文本并添加占位符,以便填充变量的值。 {0}是第一个参数,{1}是第二个参数。依此类推。