1 using System;
2 using System.Drawing;
3 using System.Windows.Forms;
4 using System.Media;
5
6 namespace dazimuyouxi_2
7 {
8 public partial class Form1 : Form
9 {
10 public Form1()
11 {
12 InitializeComponent();
13 }
14 int i = 0, j = 0;
15
16 private void Form1_Load(object sender, EventArgs e)
17 {
18 label1.BackColor = Color.Green;
19 label2.BackColor = Color.Red;
20 label1.Text = "分数:" + i;
21 label2.Text = "错误:" + j;
22 this.KeyPress += Form1_KeyPress;
23 this.comboBox1.SelectedIndex = 0;
24 }
25 bool istrue = true;
26 SoundPlayer s = new SoundPlayer("GRAY2WEA.WAV");
27 private void Form1_KeyPress(object sender, KeyPressEventArgs e)
28 {
29
30 foreach (Control item in Panel1.Controls)
31 {
32 if (item.Text == e.KeyChar.ToString().ToUpper())
33 {
34 if (istrue == true)
35 {
36 item.Tag = "bj";
37 feiji.Location = new Point(new Size(item.Left + item.Width / 2 - feiji.Width / 2, feiji.Top));
38 Label zd = new Label();
39 zd.Size = new Size(40, 40);
40 zd.Location = new Point(new Size(feiji.Left + feiji.Width / 2 - zd.Width / 2 + 20, feiji.Top));
41 zd.Text = item.Text;
42 zd.Tag = "zidan";
43 zd.Image = imageList2.Images[0];
44 zd.AutoSize = true;
45 Panel1.Controls.Add(zd);
46 istrue = false;
47 }
48 }
49 }
50 }
51 Random a = new Random();
52 private void timer1_Tick(object sender, EventArgs e)
53 {
54 Label lab = new Label();
55 lab.BackColor = Color.Transparent;
56 lab.Size = new Size(20, 20);
57 lab.Text = Convert.ToChar(a.Next(65, 91)).ToString();
58 lab.ForeColor = Color.FromArgb(a.Next(256), a.Next(256), a.Next(256));
59 lab.Font = new Font("微软雅黑", 20);
60 lab.Location = new Point(new Size(a.Next(0, Panel1.Width - lab.Width - 10), 0));
61 lab.AutoSize = true;
62 lab.Tag = "zimu";
63 this.Panel1.Controls.Add(lab);
64 }
65 private void timer2_Tick(object sender, EventArgs e)
66 {
67 foreach (Control item in Panel1.Controls)
68 {
69 if (item.GetType().Name == "Label")
70 {
71 if (item.Tag.ToString() == "zimu" || item.Tag.ToString() == "bj")
72 {
73 item.Top += 5;
74 if (item.Bottom >= feiji.Top)
75 {
76 item.Dispose();
77 j += 1;
78 label2.Text = "错误:" + j;
79 }
80 }
81 if (item.Tag.ToString() == "zidan")
82 {
83 item.Top -= 20;
84 foreach (Control xz in Panel1.Controls)
85 {
86 if (xz.GetType().Name == "Label")
87 {
88 if (xz.Tag.ToString() == "bj")
89 {
90 if (xz.Bottom >= item.Top)
91 {
92 PictureBox pb = new PictureBox();
93 pb.Image = imageList1.Images[0];
94 pb.BackColor = Color.Transparent;
95 pb.Location = item.Location;
96 pb.Tag = 0;
97 pb.Size = new Size(30, 30);
98 pb.SizeMode = PictureBoxSizeMode.StretchImage;
99 //pb.BackColor = Color.Red;
100 Panel1.Controls.Add(pb);
101 timer3.Start();
102 s.Play();
103 item.Tag = 0;
104 xz.Dispose();
105 item.Dispose();
106 i += 1;
107 label1.Text = "分数:" + i;
108 istrue = true;
109 }
110 }
111 }
112 }
113 }
114 }
115 }
116 }
117
118 private void timer3_Tick(object sender, EventArgs e)
119 {
120 foreach (Control item in Panel1.Controls)
121 {
122 if (item.GetType().Name == "PictureBox" && item.Tag != null)
123 {
124 int n = int.Parse(item.Tag.ToString());
125 n++;
126 if (n > 26)
127 {
128 item.Dispose();
129 return;
130 }
131 ((PictureBox)item).Image = imageList1.Images[n];
132 ((PictureBox)item).Tag = n;
133 }
134 }
135 }
136
137 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
138 {
139 comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
140 if (comboBox1.Text == "长平之战")
141 {
142 this.BackgroundImage = new Bitmap("2.jpg");
143 }
144 if (comboBox1.Text == "赤壁之战")
145 {
146 this.BackgroundImage = new Bitmap("3.jpg");
147 }
148 if (comboBox1.Text == "蓝色星球")
149 {
150 this.BackgroundImage = Image.FromFile("1.jpg");
151 }
152 }
153
154 private void button1_Click(object sender, EventArgs e)
155 {
156 if (button1.Text == "开始")
157 {
158 timer1.Start();
159 timer2.Start();
160 button1.Text = "暂停";
161 }
162 else
163 {
164 button1.Text = "开始";
165 timer1.Stop();
166 timer2.Stop();
167 }
168 }
169
170 private void timer4_Tick(object sender, EventArgs e)
171 {
172
173 foreach (Control item in Panel1.Controls)
174 {
175 if (item.GetType().Name == "Label" && item.Tag.ToString() == "zidan")
176 {
177 item.BackColor = Color.Transparent;
178 int m = int.Parse(((Label)item).Image.Tag.ToString());
179 m++;
180 if (m > 3)
181 {
182 item.Dispose();
183 return;
184 }
185 ((Label)item).Image = imageList2.Images[m];
186 ((Label)item).Image.Tag = m;
187 }
188 }
189 }
190 }
191 }