Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 刽子手游戏试图倒数用户尝试_C# - Fatal编程技术网

C# 刽子手游戏试图倒数用户尝试

C# 刽子手游戏试图倒数用户尝试,c#,C#,下面是我的代码,每次用户输入错误的字母时,我都试图将其从6倒计时到0,但对我来说,它只会显示为1 private void UserAttempt(string letter) { if(Active_Word.Wrong_Guess < 6 && lbGuessWord.Text.Contains("*")) { int Mask = 1 << (letter[0] - 'A' + 1);

下面是我的代码,每次用户输入错误的字母时,我都试图将其从6倒计时到0,但对我来说,它只会显示为1

 private void UserAttempt(string letter)
    {
        if(Active_Word.Wrong_Guess < 6 && lbGuessWord.Text.Contains("*"))
        {
            int Mask = 1 << (letter[0] - 'A' + 1);

            if((Active_Word.Number_of_Letters & Mask)==0)
            {
                Active_Word.Number_of_Letters |= Mask;

                if (!Active_Word.Guess_Word.Contains(letter))
                {
                    listBIncorrectTrys.Items.Add(letter);

                    Active_Word.Wrong_Guess++;

                    int[] counter = new int[6];
                    counter[0] = 1;
                    counter[1] = 2;
                    counter[2] = 3;
                    counter[3] = 4;
                    counter[4] = 5;
                    counter[5] = 6;
                    for(int i = counter.Length - 1; i >= 0; i --)
                    {
                        string count = counter[i].ToString();
                        lbGuessesLeft.Text = (count);
                    }
                }
                lbGuessWord.Text = GetMaskedWord();

                Attempts_Made++;
private void用户尝试(字符串字母)
{
if(Active\u Word.error\u Guess<6&&lbGuessWord.Text.Contains(“*”)
{
int Mask=1=0;i--)
{
字符串计数=计数器[i]。ToString();
lbguessleft.Text=(计数);
}
}
lbGuessWord.Text=GetMaskedWord();
尝试(u Made++);

您的
计数器。长度
永远不会改变,因此每次运行此循环时,它将始终在
i=0
计数器[0]=1
处终止。因此,
lbguessleft.Text
将始终为1

for(int i = counter.Length - 1; i >= 0; i --)
{
   string count = counter[i].ToString();
   lbGuessesLeft.Text = (count);
}
相反,可以这样做:猜左=6-尝试

我对C#的口才不是很好,但我会这样做:

...
if (!Active_Word.Guess_Word.Contains(letter))
            {
                listBIncorrectTrys.Items.Add(letter);

                Active_Word.Wrong_Guess++;

                // Something similar to this
                // But try not to hard code constants like '6'
                lbGuessesLeft.Text = 6 - Active_Word.Wrong_Guess;
            }
            lbGuessWord.Text = GetMaskedWord();

            Attempts_Made++;
...

我是将循环和阵列取出,还是将其与之一起放入?根本不需要循环:)我尽了最大努力清理它