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();
}
}
}
答
你需要一点点循环:
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
你的问题不清楚。你有什么代码?你有什么具体问题? – Elliveny 2015-02-07 15:24:00
我已经更新了这个问题 – user3398922 2015-02-07 16:11:51
我真的不明白为什么这么多次downvoted。如果有人能解释这一点,那么我很乐意学习 – user3398922 2015-03-14 12:12:00