到目前为止,我正在创建一个与内存匹配的游戏,我设法使卡翻转了,但是我想做的是,当用户单击image1时,它显示图像,然后用户单击image2,此时发生的情况是它们都在显示image2之前变得不可见。重点是先显示image1,然后再显示image2比较它们的标签(如果它们匹配)则它们变得不可见。 有关如何执行此操作的示例将不胜感激。 这是每个图片框的代码,我有12个图片框。
private void picApple_Click(object sender, EventArgs e)
{
picApple.Image = Properties.Resources.apple;
if (uncoveredCard1 == null)
{
uncoveredCard1 = picApple;
}
else if (uncoveredCard1 != null && uncoveredCard2 == null)
{
uncoveredCard2 = picApple;
}
if (uncoveredCard1 != null && uncoveredCard2 != null)
{
if (uncoveredCard1.Tag == uncoveredCard2.Tag)
{
uncoveredCard1 = null;
uncoveredCard2 = null;
picApple.Visible = false;
wrdApple.Visible = false;
}
else
{
showCard.Start();
}
}
答案 0 :(得分:0)
您的条件不正确,是if
而不是else if
,因此您的第二张卡片得到了图片,然后立即被隐藏了。
尝试一下:
private void picApple_Click(object sender, EventArgs e)
{
picApple.Image = Properties.Resources.apple;
if (uncoveredCard1 == null)
{
uncoveredCard1 = picApple;
}
else if (uncoveredCard1 != null && uncoveredCard2 == null)
{
uncoveredCard2 = picApple;
}
else if (uncoveredCard1 != null && uncoveredCard2 != null)
{
if (uncoveredCard1.Tag == uncoveredCard2.Tag)
{
uncoveredCard1 = null;
uncoveredCard2 = null;
picApple.Visible = false;
wrdApple.Visible = false;
}
else
{
showCard.Start();
}
}