C#投掷骰子方法

时间:2011-12-08 15:57:59

标签: c#

我需要两种方法。第一种方法抛出四个骰子并返回骰子总和。第二种方法估计总和并且如果总和大于20则打印“优秀”,如果总和大于12则“好”或者总和小于或等于20,如果总和小于或等于,则“差” 12。

通过写行

来抛出骰子
Random ran = new Random ();
int throwingdice = ran.nextInt(1,7);

我尝试了很多次,但它不会工作,任何想法? 提前谢谢。

3 个答案:

答案 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)

  1. 你应该重命名变量“throw”,因为throw在C#中有特殊含义,比如for,each,int等。

  2. 这是使用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
    

    来源: http://msdn.microsoft.com/de-de/library/h343ddh9.aspx

答案 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");
    }
}

只是一个例子,必须建立起来。