我需要两种方法。第一种方法抛出四个骰子并返回骰子总和。第二种方法估计总和并且如果总和大于20则打印“优秀”,如果总和大于12则“好”或者总和小于或等于20,如果总和小于或等于,则“差” 12。
通过写行
来抛出骰子Random ran = new Random ();
int throwingdice = ran.nextInt(1,7);
我尝试了很多次,但它不会工作,任何想法? 提前谢谢。
答案 0 :(得分:2)
这应该可以帮助你开始......
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Random r = new Random();
int sum=0;
for (int i = 0; i < 4; i++)
{
var roll = r.Next(1, 7);
sum += roll;
}
// sum should be the sum of the four dices
Console.WriteLine("the sum of the first 4 throws is {0}", sum);
if (sum > 20)
{
Console.WriteLine("place your message in here stating that sum gas greater than 20");
}
else if (sum < 10)
{
Console.WriteLine("sum is less than 10");
}
else
{
Console.WriteLine("some other message");
}
}
}
}
答案 1 :(得分:0)
你应该重命名变量“throw”,因为throw在C#中有特殊含义,比如for,each,int等。
这是使用random()的一个例子:
using System;
using System.Threading;
public class RandomNumbers
{
public static void Main()
{
Random rand1 = new Random();
Random rand2 = new Random();
Thread.Sleep(2000);
Random rand3 = new Random();
ShowRandomNumbers(rand1);
ShowRandomNumbers(rand2);
ShowRandomNumbers(rand3);
}
private static void ShowRandomNumbers(Random rand)
{
Console.WriteLine();
byte[] values = new byte[5];
rand.NextBytes(values);
foreach (byte value in values)
Console.Write("{0, 5}", value);
Console.WriteLine();
}
}
// The example displays the following output to the console:
// 28 35 133 224 58
//
// 28 35 133 224 58
//
// 32 222 43 251 49
答案 2 :(得分:0)
好的,第二种方法的目的是什么,当你想要的一切都可以通过Tono Nam所示的一种方法来实现。您只需添加switch语句或if else块即可输出字符串值。
public void yourMethod()
{
Random r = new Random();
int sum=0;
for (int i = 0; i < 4; i++)
{
var roll = r.Next(1, 7);
sum += roll;
} // sum should be the sum of the four dices
//a switch is faster for a larger amount of options
switch(sum)
{
case 20:
{
Console.WriteLine("excellent");
}
}
//Or use If else
if(sum>=20)
{
Console.WriteLine("excellent");
}
}
只是一个例子,必须建立起来。