
C#打字游戏
我才刚学C#,求一份用C#编写的打字游戏(字母一个一个掉下来的,可以改变难度,要求不用多线程)源代码,有哪位高手可以帮小弟一下的。主要是想知道,不用多线程,用timer,...
我才刚学C#,求一份用C#编写的打字游戏(字母一个一个掉下来的,可以改变难度,要求不用多线程)源代码,有哪位高手可以帮小弟一下的。
主要是想知道,不用多线程,用timer,如何用简洁代码实现屏幕上同时显示多个label 展开
主要是想知道,不用多线程,用timer,如何用简洁代码实现屏幕上同时显示多个label 展开
5个回答
展开全部
使用一个数组,每次随机数组的内容和位置(字母,所在屏幕的位置)!
根据数组中的“所在屏幕位置”进行设置LABEL,然后把label添加到父控件中!
长数组则难,短数组则在屏幕上的内容少表示简单难度!
要是用FLASH做会更简单,效果也好!哈哈,希望能给你写灵感!
根据数组中的“所在屏幕位置”进行设置LABEL,然后把label添加到父控件中!
长数组则难,短数组则在屏幕上的内容少表示简单难度!
要是用FLASH做会更简单,效果也好!哈哈,希望能给你写灵感!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好着呢,我什么也没有改,运行出来一切正常!
挺有意思的,为了和大家一起分享一下,我就把代码放在这里了!
代码相当完整,运行了也没有任何问题!
//打字游戏
private
void
Form1_Load(object
sender,
EventArgs
e)
{
this.timer1.Interval
=
1000;
//定时0.5秒
this.timer1.Start();
//定时启动
}
Random
r
=
new
Random();
private
void
timer1_Tick(object
sender,
EventArgs
e)
{
Label
l
=
new
Label();
char
cc
=
(char)((int)'A'
+
r.Next(26));
//随机产生26
个字母
l.Text
=
cc.ToString();
//l.BackColor
=
Color.Red;
l.ForeColor
=
Color.Red;
l.Left
=
r.Next(this.Width);
//随机水平位置
foreach
(Control
c
in
this.panel1.Controls)
{
c.Top
+=
15;
//向下移动
if
(c.Top
==
this.Height)
c.Dispose();
//到底消除
}
}
private
void
Form1_KeyDown(object
sender,
KeyEventArgs
e)
foreach
(Control
c
in
this.panel1.Controls)
{
if
(c.GetType()
==
typeof(Label))
{
Label
t
=
(Label)c;
if
(t.Text
==
e.KeyCode.ToString())
//按下的键有,
消除
this.panel1.Controls.Remove(c);
}
}
}
挺有意思的,为了和大家一起分享一下,我就把代码放在这里了!
代码相当完整,运行了也没有任何问题!
//打字游戏
private
void
Form1_Load(object
sender,
EventArgs
e)
{
this.timer1.Interval
=
1000;
//定时0.5秒
this.timer1.Start();
//定时启动
}
Random
r
=
new
Random();
private
void
timer1_Tick(object
sender,
EventArgs
e)
{
Label
l
=
new
Label();
char
cc
=
(char)((int)'A'
+
r.Next(26));
//随机产生26
个字母
l.Text
=
cc.ToString();
//l.BackColor
=
Color.Red;
l.ForeColor
=
Color.Red;
l.Left
=
r.Next(this.Width);
//随机水平位置
foreach
(Control
c
in
this.panel1.Controls)
{
c.Top
+=
15;
//向下移动
if
(c.Top
==
this.Height)
c.Dispose();
//到底消除
}
}
private
void
Form1_KeyDown(object
sender,
KeyEventArgs
e)
foreach
(Control
c
in
this.panel1.Controls)
{
if
(c.GetType()
==
typeof(Label))
{
Label
t
=
(Label)c;
if
(t.Text
==
e.KeyCode.ToString())
//按下的键有,
消除
this.panel1.Controls.Remove(c);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
任务中,用WPF吧,适合做图形界面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询