C# 按下事件 急需 会尽快给分

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:01:28
做个打字游戏 如果连续输出正确则 连击++;但是就是不会判断 下面是按下事件
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
kysdown++;//记录按下
Keys s = e.KeyCode;
foreach (Control c in this.panel1.Controls)//便利出lable
{ if (c.Text == s.ToString())
{
zheng++;//如果相等则正确计数
this.lblzheng.Text = "正确:" + zheng.ToString();
timer2.Start();
tmrG.Start();
this.panel2.Controls.Clear();
}

如果给后面打上else{ 在这里判断} 根本不行···

如果正确 lianji++ 否则 lianji=0;

这个否则该往哪里写? 注意些在这段代码后面根本不行!

关键的问题是,你的游戏一次出几个字,出多个字么?

如果出多个字,是不是只要按中一个就正确,如果按了一个键都不在出现的字里面是不是就算按错?

试试这个:

foreach()
{
//....
lianji++;
return;//匹配了一个,退出方法
}
lianji=0;//都没有匹配,按错了,连击为0。

bool flag=true;//记录当前打的字是否正确
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
kysdown++;//记录按下
Keys s = e.KeyCode;
foreach (Control c in this.panel1.Controls)//便利出lable
{ if (c.Text == s.ToString())
{
if(flag)
{
zheng++;//如果相等则正确计数
lianji++;
this.lblzheng.Text = "正确:" + zheng.ToString();
timer2.Start();
tmrG.Start();
this.panel2.Controls.Clear();
}
}
else{lianji=0;}
}