c#最好的方式来匹配yahtzee

c#最好的方式来匹配yahtzee

问题描述:

在我正在工作的项目中,我必须匹配yahtzee的5个数字。所有这些数字都必须相同。现在我已经想过如何做到这一点,但我不确定最好和最简单的方法。当然,我可以全部写出来,但必须有一个更短的路。c#最好的方式来匹配yahtzee

我还没有编写检查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

你的问题不清楚。你有什么代码?你有什么具体问题? – Elliveny 2015-02-07 15:24:00

+0

我已经更新了这个问题 – user3398922 2015-02-07 16:11:51

+0

我真的不明白为什么这么多次downvoted。如果有人能解释这一点,那么我很乐意学习 – user3398922 2015-03-14 12:12:00

你需要一点点循环:

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; 
} 

它只是比较第二,第三,...对第一。

+0

我真的没有想过这是这么简单。这真的有助于清理我的代码。谢谢 – user3398922 2015-02-07 18:04:21