-8

我正在做一个刽子手游戏,刚刚开始创建随机词,该词会生成用户必须猜测的新词,但有时随机代码会生成与之前使用过的词相同的词。我的问题是......是否有一个符号或代码会说如果随机数不等于......做这个代码块。

这是我的代码...

private void button1_Click(object sender, EventArgs e)
    {
        Random rW = new Random();

        foreach (TextBox textBox in addTextBox())
        {
            textBox.Visible = false;
        }

        RW = rW.Next(1, 4);

        if (RW == 1) //Cat
        {
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;

        }
        else if (RW == 2) //Elephant
        {
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;
            textBox4.Visible = true;
            textBox5.Visible = true;
            textBox6.Visible = true;
            textBox7.Visible = true;
            textBox8.Visible = true;
        }
        else if (RW == 3) //Giraffe
        {
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;
            textBox4.Visible = true;
            textBox5.Visible = true;
            textBox6.Visible = true;
            textBox7.Visible = true;
        }
        else if (RW == 4) //Monkey
        {
            textBox1.Visible = true;
            textBox2.Visible = true;
            textBox3.Visible = true;
            textBox4.Visible = true;
            textBox5.Visible = true;
            textBox6.Visible = true;
        }
        else
        {
        }
    }
4

2 回答 2

5

您应该使用!=which 是一个相等运算符

于 2013-01-28T02:56:13.963 回答
1

使用通用列表,一旦生成了一个单词,就将其添加到列表中。然后只生成一个新词,直到生成的词不包含在已用词列表中。此外,对于 if/elseif 语句,我会说改用 switch 语句,它使其更具可读性。

还要确保 usedWords 集合在您的按钮事件处理程序之外,并且没有在内部声明,否则每次单击按钮时它都会被重置。

List usedWords = new List();

private void button1_Click(object sender, EventArgs e) { Random rW = new Random();

    foreach (TextBox textBox in addTextBox())
    {
        textBox.Visible = false;
    }

    RW = rW.Next(1, 4);

    while(usedWords.Contains(RW))
{
    RW = rW.Next(1,4);
}

usedWords.Add(RW);


    if (RW == 1) //Cat
    {
        textBox1.Visible = true;
        textBox2.Visible = true;
        textBox3.Visible = true;

    }
    else if (RW == 2) //Elephant
    {
        textBox1.Visible = true;
        textBox2.Visible = true;
        textBox3.Visible = true;
        textBox4.Visible = true;
        textBox5.Visible = true;
        textBox6.Visible = true;
        textBox7.Visible = true;
        textBox8.Visible = true;
    }
    else if (RW == 3) //Giraffe
    {
        textBox1.Visible = true;
        textBox2.Visible = true;
        textBox3.Visible = true;
        textBox4.Visible = true;
        textBox5.Visible = true;
        textBox6.Visible = true;
        textBox7.Visible = true;
    }
    else if (RW == 4) //Monkey
    {
        textBox1.Visible = true;
        textBox2.Visible = true;
        textBox3.Visible = true;
        textBox4.Visible = true;
        textBox5.Visible = true;
        textBox6.Visible = true;
    }
    else
    {
    }
}
于 2013-01-28T03:00:45.590 回答