这个是C#打字游戏。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;namespace 打字游戏
{
    public partial class Form1 : Form
    {
        private int score; 
        public int speed = 10; 
        public Form1()
        {            InitializeComponent();
        }
        public void init()
{
            Random rnd = new Random();
            Lblzm.Text = Convert.ToChar(rnd.Next(26) + 97).ToString();
            Lblzm.Left = (int)(rnd.NextDouble() * (this.Width - Lblzm.Width));
            Lblzm.Top = 24; }
        private void MenuItem5_Click(object sender, EventArgs e)
        {
            if (lbltime.Text == "0")
            {
                MessageBox.Show("你还没设置打字时间!");
                return;
            }
            init();
            Timer1.Enabled = true;
            Timer2.Enabled = true;            lblscore.Text = score.ToString();
        }        private void menuItem20_Click(object sender, EventArgs e)
        {
            lbltime.Text = 60.ToString();
        }        private void Timer1_Tick(object sender, EventArgs e)
        {
            Lblzm.Top = Lblzm.Top + speed;
            if (Lblzm.Top > this.Height)
            {
                init();
            }
        }
        private void Form1_Activated(object sender, System.EventArgs e)
        {
            Label1.Top = this.Height - 100;
            Label2.Top = this.Height - 100;
            lblscore.Top = this.Height - 100;
            lbltime.Top = this.Height - 100;        }
        private void Timer2_Tick(object sender, EventArgs e)
        {
            lbltime.Text = Convert.ToString(int.Parse(lbltime.Text) - 1);          if(Convert.ToInt32(lbltime.Text)<=0)
          {
              Timer1.Enabled = false;
              Timer2.Enabled = false;
              Lblzm.Text = "";
              MessageBox.Show("时间到!!!");
            }
        }        private void Form1_Load(object sender, EventArgs e)
        {
            speed = 10;
            lblscore.Text = 0.ToString();
            lbltime.Text = 0.ToString();
            label3.Text = "简单";
        }        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar.ToString() == Lblzm.Text)
            {
               score++;
                lblscore.Text = score.ToString();
                init();
            }        }        private void MenuItem7_Click(object sender, EventArgs e)
        {
            Timer1.Enabled = false;
            Timer2.Enabled = false;
        }        private void MenuItem8_Click(object sender, EventArgs e)
        {
            Timer1.Enabled = true;
            Timer2.Enabled = true;
        }        private void MenuItem9_Click(object sender, EventArgs e)
        {
                this.Close();
        }        private void menuItem12_Click(object sender, EventArgs e)
        {
            speed = 30;
            label3.Text = "极难";
        }        private void menuItem3_Click(object sender, EventArgs e)
        {
            speed = 10;
            label3.Text = "简单";
        }        private void menuItem4_Click(object sender, EventArgs e)
        {
            speed = 15;
            label3.Text = "普通";
        }        private void menuItem11_Click(object sender, EventArgs e)
        {
            speed = 20;
            label3.Text = "稍难";
        } 
    }
}

解决方案 »

  1.   


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace 打字游戏
    {
      public partial class Form1 : Form
      {
      //定义分数
      private int score; 
      //定义速度
      public int speed = 10; 
      public Form1()
      {  InitializeComponent();
      }
      public void init()
    {
      //产生随机数
      Random rnd = new Random();
      //个别化有随机数产生一个随机的字母
      Lblzm.Text = Convert.ToChar(rnd.Next(26) + 97).ToString();
      //随机的位置
      Lblzm.Left = (int)(rnd.NextDouble() * (this.Width - Lblzm.Width));
      Lblzm.Top = 24;}
      private void MenuItem5_Click(object sender, EventArgs e)
      {
      //如果lblTime的内外为0,则提示要设置打字时间
      if (lbltime.Text == "0")
      {
      MessageBox.Show("你还没设置打字时间!");
      return;
      }
      //调用init方法,完成
      init();
      Timer1.Enabled = true;
      Timer2.Enabled = true;  //显示分数
      lblscore.Text = score.ToString();
      }  //显示时间
      private void menuItem20_Click(object sender, EventArgs e)
      {
      lbltime.Text = 60.ToString();
      }  //Timer事件,定时修改出现的文字的位置
      private void Timer1_Tick(object sender, EventArgs e)
      {
      Lblzm.Top = Lblzm.Top + speed;
      if (Lblzm.Top > this.Height)
      {
      init();
      }
      }
      //设置Label1和Label2的Top位置,以及lblscore和lbltimeTop位置
      private void Form1_Activated(object sender, System.EventArgs e)
      {
      Label1.Top = this.Height - 100;
      Label2.Top = this.Height - 100;
      lblscore.Top = this.Height - 100;
      lbltime.Top = this.Height - 100;  }
      //定时更新剩余时间
      private void Timer2_Tick(object sender, EventArgs e)
      {
      lbltime.Text = Convert.ToString(int.Parse(lbltime.Text) - 1);  //如果时间已经用完了,就停止计时器,显示时间到了。
      if(Convert.ToInt32(lbltime.Text)<=0)
      {
      Timer1.Enabled = false;
      Timer2.Enabled = false;
      Lblzm.Text = "";
      MessageBox.Show("时间到!!!");
      }
      }  //设定打字速度的初始值,设定lblscore和lbltime以及label3内容
      private void Form1_Load(object sender, EventArgs e)
      {
      speed = 10;
      lblscore.Text = 0.ToString();
      lbltime.Text = 0.ToString();
      label3.Text = "简单";
      }  //判断按下键是否正确,如果正确,则加分
      private void Form1_KeyPress(object sender, KeyPressEventArgs e)
      {
      if (e.KeyChar.ToString() == Lblzm.Text)
      {
      score++;
      lblscore.Text = score.ToString();
      init();
      }  }
      
     //停止打字
      private void MenuItem7_Click(object sender, EventArgs e)
      {
      Timer1.Enabled = false;
      Timer2.Enabled = false;
      }  //开始打字
      private void MenuItem8_Click(object sender, EventArgs e)
      {
      Timer1.Enabled = true;
      Timer2.Enabled = true;
      }  //退出程序
      private void MenuItem9_Click(object sender, EventArgs e)
      {
      this.Close();
      }  //设置极难的打字,就是增加speed
      private void menuItem12_Click(object sender, EventArgs e)
      {
      speed = 30;
      label3.Text = "极难";
      }  //设置简单的打字速度,speed设置为10
      private void menuItem3_Click(object sender, EventArgs e)
      {
      speed = 10;
      label3.Text = "简单";
      }  //设置普通的打字速度,speed=15
      private void menuItem4_Click(object sender, EventArgs e)
      {
      speed = 15;
      label3.Text = "普通";
      }  //设置稍难的打字速度,speed为20
      private void menuItem11_Click(object sender, EventArgs e)
      {
      speed = 20;
      label3.Text = "稍难";
      } 
      }
    }