C#打字游戏-课程设计报告.doc
文本预览下载声明
课 程 设 计
课程设计名称: 小小打字游戏
专 业 班 级 : 计算机科学与技术11级01班
指 导 教 师 :
姓 名 学 号 :
课程设计时间: 2013.1.5-2013.1.11
课题名:C#程序设计
题目:打字游戏
2013年 1月 10 日
一、需求分析
软件名称:小小打字游戏
(1)描述:
使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。
系统功能:
1、游戏显示:游戏窗口,随机下落颜色不定的65个字符,并根据游戏得分实时增加字母下落的速度。
2、游戏操作:按下键盘上对应字符键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1。
3、实时显示用户的正确个数、错误个数和正确率!
4、通过用户自己调整游戏的困难程度(包括高手,平民,菜鸟)。
5用户自己可以控制游戏的开始,暂停,结束。
系统设计(图表方式,要有说明部分)
新建程序项目:在VS2010上建立 game项目。
(2)设计界面:
①、如图1-1、 游戏窗口界面:有六个控件(4个Label控件,1个timer控件 ,1个menustrip控件),界面背景图片由系统函数生成黑色。
(3)功能模块设计
1、系统模块
2、操作流程图
三、系统实现
核心代码
创建线程:
private void timer1_Tick(object sender, EventArgs e)
{
Random random=new Random ();
Label label=new Label ();
label .Height =40;
label .Width =40;
label.Left =random .Next (this .Width );
this.Controls.Add(label);
letter letter=new letter (label ,random ,this );
thread = new Thread(new ThreadStart (letter.uptodown));
thread.Start();
}
窗体键盘事件以及统计正确与错误:
private void Form1_KeyPress(object sender, KeyPressEventArgs e)
{
bo = true; //建立一个布儿类型
foreach(object label in this.Controls)
{
if(label is Label)
{
Label b=(Label)label;
if (b.Text[0] == e.KeyChar)
{
Controls.Remove(b);
label1.Text = 正确: +Convert.ToString (++i) ;
label3.Text = 正确率: + Convert.ToString(i * 1.0 / (i + j));
bo = false;
}
}
}
if (bo)
{
label2.Text = 错误: + Convert.ToString(++j);
label3.Text = 正确率: + Convert.ToString(i * 1.0 / (i + j));
}
显示全部