Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#骰子游戏,总和只返回最后2个骰子的总和,而不是整个游戏_C#_Visual Studio 2010_Visual Studio_Sum_Average - Fatal编程技术网

C#骰子游戏,总和只返回最后2个骰子的总和,而不是整个游戏

C#骰子游戏,总和只返回最后2个骰子的总和,而不是整个游戏,c#,visual-studio-2010,visual-studio,sum,average,C#,Visual Studio 2010,Visual Studio,Sum,Average,我正在创建一个有2个骰子的骰子游戏,我已经让它工作了,但唯一的问题是我无法从所有的骰子(整个游戏)中得到总和,我只得到最后2个骰子的总和如果我使用总和方法,我如何找到所有骰子的总和?这是我的密码: Console.BufferHeight = 500; Random x = new Random(); int throw_times = 1; int[] dice = new int[2]; dice[0] = x

我正在创建一个有2个骰子的骰子游戏,我已经让它工作了,但唯一的问题是我无法从所有的骰子(整个游戏)中得到总和,我只得到最后2个骰子的总和如果我使用总和方法,我如何找到所有骰子的总和?这是我的密码:

        Console.BufferHeight = 500;
        Random x = new Random();
        int throw_times = 1;

        int[] dice = new int[2];
        dice[0] = x.Next(1, 7);
        dice[1] = x.Next(1, 7);

        for (int i = 1; i <= 100; i++)
        {
            dice[0] = x.Next(1, 7);
            dice[1] = x.Next(1, 7);

            int total_var = dice[0] + dice[1];
            int[] total_array = {dice[0] + dice[1]};//total in array

            Console.Write("Throw " + throw_times + ": " + dice[0] + " and " + dice[1] + " = ");
            Console.WriteLine(total_var);
            throw_times++;

            Array.Sort(dice);

            for (int a = dice.Length - 1; a >= 0; a--)
            {
                int s = dice[a];
                Console.WriteLine("#" + s);
            }
        }

        Console.WriteLine("Total sum: " + dice.Sum());//only returns sum of last 2 rolls
        Console.WriteLine("Average: " + dice.Average());//only return average of last 2 rolls
Console.BufferHeight=500;
随机x=新随机();
int-throw_次=1;
int[]骰子=新的int[2];
骰子[0]=x.Next(1,7);
骰子[1]=x.Next(1,7);
对于(int i=1;i=0;a--)
{
int s=骰子[a];
Console.WriteLine(“#”+s);
}
}
Console.WriteLine(“总和:+dice.sum())//仅返回最后2个卷的总和
Console.WriteLine(“Average:+dice.Average())//仅返回最后2卷的平均值

如果有人知道如何获得总滚动总和,请回答,非常感谢。扩展方法将计算数组中当前内容的总和和平均值,因为您在每次尝试时都会设置数组,因此它将只包含最后两项

要获得所有掷骰的总和或平均值,您必须扩展数组,以便它记录整个程序中的所有掷骰,或者只保留一个运行总数(这似乎简单得多):


如果p.s.w.g的答案是正确的,并且有助于你,请将其标记为真实答案1.谢谢你的回答,我应该看到这个答案。再次感谢!
int[] dice = new int[2];
int sum = 0;

for (int i = 1; i <= 100; i++)
{
    dice[0] = x.Next(1, 7);
    dice[1] = x.Next(1, 7);
    sum += dice[0] + dice[1];

    ...
}

Console.WriteLine("Total sum: " + sum);
Console.WriteLine("Total sum: " + (sum / 200)); // 200 because you roll 2 dice in 100 trials