c#匹配yahtzee的最佳方式

时间:2015-02-07 15:19:52

标签: c#

在我正在进行的项目中,我必须为yahtzee匹配5个数字。所以这些数字都必须相同。现在我已经考虑过如何做到这一点,但我不确定最好和最简单的方法是什么。当然,我可以写出来,但必须有一个更短的方式。

我没有编写检查yahtzee是否被抛出的部分的代码。这是因为我只能提出一种方法,那就是全力以赴。

到目前为止,这是我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Opdr3
{
    class Program
    {
        struct YahtzeeGame
        {
            public int[] dobbelstenen;
            public Random rnd;

            public void Gooi()
            {
                for (int i = 0; i < 5; i++)
                {
                    dobbelstenen[i] = Int32.Parse(rnd + "");
                }
            }

            public bool Yahtzee()
            {
                Here it has to check if all dobbelstenen[int]
                are the same
            }
        }
        static void Main(string[] args)
        {
            // maak YahtzeeGame (struct) aan
            YahtzeeGame yahtzeeGame;

            // initialiseer struct-members
            yahtzeeGame.rnd = new Random();
            yahtzeeGame.dobbelstenen = new int[5];

            // probeer yahtzee te gooien
            int aantalPogingen = 0;
            do
            {
                // gooi alle dobbelstenen
                yahtzeeGame.Gooi();
                aantalPogingen++;
            } while (!yahtzeeGame.Yahtzee());

            // vermeld aantal pogingen voor yahtzee
            Console.WriteLine("Aantal pogingen nodig: {0}", aantalPogingen);

            // wacht op gebruiker
            Console.ReadKey();

        }
    }
}

1 个答案:

答案 0 :(得分:1)

你需要一个小循环:

public bool Yahtzee()
{
     // check if all dobbelstenen[int] are the same
     for(int i = 1; i < 5; i++) // start with second dobbelstenen
     {
          if(dobbelstenen[i] != dobbelstenen[0]) return false;
     }
     return true;
}

它简单地将第二,第三,......与第一个进行比较。