用C#做打地鼠小游戏时出现问题求解答
namespace打地鼠{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();bts=new...
namespace 打地鼠
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
bts = new Button[] { button1, button2, button3, button4, button5, button6, button7, button8, button9 };//将所有Button合为一个数组,在窗体出来前做好一系列准备
}
Button[] bts;//全局变量
int i = 0;//与Tag值相对应
int interval = 0;
int MainTime = 30;
private void timer1_Tick(object sender, EventArgs e)
{
intBg();
Random r = new Random();
i = r.Next(0, 9);
setBg(i);
}
public void setBg(int s)//创建一个方法
{
bts[i].BackgroundImage = 打地鼠.Properties.Resources.老鼠出洞;//图片已经导入项目,拿其中的代码
}
public void intBg()
{
foreach (Button bt in bts)//循环
{
bt.BackgroundImage = 打地鼠.Properties.Resources.image_20_1__2345看图王;
}
}
private void button10_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer2.Enabled = true;
}
private void button11_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
timer2.Enabled = false;
}
private void timer2_Tick(object sender, EventArgs e)
{
interval++;
if (interval == MainTime)
{
interval = 0;
timer1.Enabled = false;
timer2.Enabled = false;
MessageBox.Show("时间到了");
}
}
private int j = 0;
private void button1_Click(object sender, EventArgs e)
{
if (bts[i].BackgroundImage == 打地鼠.Properties.Resources.老鼠出洞)
{
j++;
label1.Text = j.ToString();
button1.BackgroundImage = 打地鼠.Properties.Resources.image_20_1__2345看图王;
}
else
{
label1.Text = j.ToString();
}这是部分代码,可是例如拿button1来说,每次出现地鼠图片时,点击他不会加分数也不会跳到下一张图片是为什么啊? 我是初学者,老师让我们做的,求详细解答啊 展开
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
bts = new Button[] { button1, button2, button3, button4, button5, button6, button7, button8, button9 };//将所有Button合为一个数组,在窗体出来前做好一系列准备
}
Button[] bts;//全局变量
int i = 0;//与Tag值相对应
int interval = 0;
int MainTime = 30;
private void timer1_Tick(object sender, EventArgs e)
{
intBg();
Random r = new Random();
i = r.Next(0, 9);
setBg(i);
}
public void setBg(int s)//创建一个方法
{
bts[i].BackgroundImage = 打地鼠.Properties.Resources.老鼠出洞;//图片已经导入项目,拿其中的代码
}
public void intBg()
{
foreach (Button bt in bts)//循环
{
bt.BackgroundImage = 打地鼠.Properties.Resources.image_20_1__2345看图王;
}
}
private void button10_Click(object sender, EventArgs e)
{
timer1.Enabled = true;
timer2.Enabled = true;
}
private void button11_Click(object sender, EventArgs e)
{
timer1.Enabled = false;
timer2.Enabled = false;
}
private void timer2_Tick(object sender, EventArgs e)
{
interval++;
if (interval == MainTime)
{
interval = 0;
timer1.Enabled = false;
timer2.Enabled = false;
MessageBox.Show("时间到了");
}
}
private int j = 0;
private void button1_Click(object sender, EventArgs e)
{
if (bts[i].BackgroundImage == 打地鼠.Properties.Resources.老鼠出洞)
{
j++;
label1.Text = j.ToString();
button1.BackgroundImage = 打地鼠.Properties.Resources.image_20_1__2345看图王;
}
else
{
label1.Text = j.ToString();
}这是部分代码,可是例如拿button1来说,每次出现地鼠图片时,点击他不会加分数也不会跳到下一张图片是为什么啊? 我是初学者,老师让我们做的,求详细解答啊 展开
展开全部
你button1响应事件里
if (bts[i].BackgroundImage == 打地鼠.Properties.Resources.老鼠出洞)
bts[i]有什么意义?bts[i]和 button1都没有固定联系,你点击 button1怎么可能达到预期效果。
先绑定bts和Form里的button.
if (bts[i].BackgroundImage == 打地鼠.Properties.Resources.老鼠出洞)
bts[i]有什么意义?bts[i]和 button1都没有固定联系,你点击 button1怎么可能达到预期效果。
先绑定bts和Form里的button.
更多追问追答
追问
那要怎么改呢?你可以写一下给我吗?拜托了
追答
要学会自己调试。
你在if (bts[i].BackgroundImage == 打地鼠.Properties.Resources.老鼠出洞)这里添加断点
然后点击右键给bts[i].BackgroundImage添加监视后运行,你就知道为什么能出现想要的效果了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询