我正在用C#winforms做一个简单的游戏。但我遇到了麻烦。在我的游戏中,用户需要按下瓷砖,有3个灰色和1个黑色瓷砖。如果用户按下黑色瓷砖,他们可以继续按下灰色瓷砖,他们“死”并且必须重新开始。
我在检查用户是否按下了瓷砖时遇到了问题。目前我使用一个布尔值,如果用户按下了磁贴,则设置为true。在我的计时器中,我检查该布尔值是真还是假,如果真的是生成4个随机区块的方法被调用。如果它是假的(默认情况下是这样),则用户获得的信息与他们点击灰色图块时获得的信息相同。这是我的代码:
private void timer1_Tick(object sender, EventArgs e)
{
int temp = 0;
if (temp != 3)
{
temp++;
label8.Text = temp.ToString();
RandomPanel();
}
else
{
if (Clicked == false)
{
timer1.Stop();
MessageBox.Show("You lost! Care to try again?");
button1.Show();
}
else if (Clicked == true)
{
RandomPanel();
Clicked = false;
}
}
这是我按下磁贴时的代码:
private void PbRow1_1_Click(object sender, EventArgs e)
{
if (PbRow1_1.Tag == "Black")
{
Clicked = true;
int temp1 = Convert.ToInt32(label1.Text);
int temp2 = Convert.ToInt32(label3.Text);
if (temp1 <= temp2)
{
int temp = temp1 += 1;
label3.Text = temp.ToString();
}
else
{
label3.Text = label1.Text;
}
Score += 1;
label1.Text = Score.ToString();
}
else if (PbRow1_1.Tag == "Gray")
{
Clicked = false;
timer1.Stop();
MessageBox.Show("You lost! Care to try again?");
button1.Show();
}
}
如果你想知道为什么我使用:
int temp
在我的 Timer_tick事件,因为我的表单需要在用户可以播放之前生成3个不同的面板组合。如下图所示:
非常感谢任何帮助
答案 0 :(得分:0)
在约翰尼拖把的帮助下解决了这个问题。 我遇到这个问题因为我的
int temp = 0;
在我的计时器嘀嗒事件中。