C#打字游戏课程设计报告.docx
- 文档编号:10931831
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:9
- 大小:90.30KB
C#打字游戏课程设计报告.docx
《C#打字游戏课程设计报告.docx》由会员分享,可在线阅读,更多相关《C#打字游戏课程设计报告.docx(9页珍藏版)》请在冰豆网上搜索。
C#打字游戏课程设计报告
课 程 设 计
课程设计名称:
小小打字游戏
专业班级:
计算机科学与技术11级01班
指导教师:
姓名学号:
课程设计时间:
2013.1.5-2013.1.11
课题名:
C#程序设计
题目:
打字游戏
2013年 1月 10日
一、需求分析
软件名称:
小小打字游戏
(1)描述:
使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。
(2)系统功能:
1、游戏显示:
游戏窗口,随机下落颜色不定的65个字符,并根据游戏得分实时增加字母下落的速度。
2、游戏操作:
按下键盘上对应字符键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1。
3、实时显示用户的正确个数、错误个数和正确率!
4、通过用户自己调整游戏的困难程度(包括高手,平民,菜鸟)。
5用户自己可以控制游戏的开始,暂停,结束。
2、系统设计(图表方式,要有说明部分)
(1)新建程序项目:
在VS2010上建立game项目。
(2)设计界面:
①、如图1-1、游戏窗口界面:
有六个控件(4个Label控件,1个timer控件,1个menustrip控件),界面背景图片由系统函数生成黑色。
(3)功能模块设计
1、系统模块
2、操作流程图
三、系统实现
核心代码
创建线程:
privatevoidtimer1_Tick(objectsender,EventArgse)
{
Randomrandom=newRandom();
Labellabel=newLabel();
label.Height=40;
label.Width=40;
label.Left=random.Next(this.Width);
this.Controls.Add(label);
letterletter=newletter(label,random,this);
thread=newThread(newThreadStart(letter.uptodown));
thread.Start();
}
窗体键盘事件以及统计正确与错误:
privatevoidForm1_KeyPress(objectsender,KeyPressEventArgse)
{
bo=true;//建立一个布儿类型
foreach(objectlabelinthis.Controls)
{
if(labelisLabel)
{
Labelb=(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));
}
}
其他功能函数(开始,暂停,结束):
privatevoid开始ToolStripMenuItem_Click(objectsender,EventArgse)
{
Controls.Remove(label4);
timer1.Start();
}
privatevoid暂停ToolStripMenuItem_Click(objectsender,EventArgse)
{
timer1.Stop();
}
privatevoid退出ToolStripMenuItem_Click(objectsender,EventArgse)
{
this.Close();
}
难度调节代码:
privatevoid普通ToolStripMenuItem_Click(objectsender,EventArgse)
{
timer1.Interval=1000;
}
privatevoid困难ToolStripMenuItem_Click(objectsender,EventArgse)
{
timer1.Interval=100;
}
privatevoid菜鸟ToolStripMenuItem_Click(objectsender,EventArgse)
{
timer1.Interval=2000;
}
}
字母飘动下落函数部分代码:
try
{
while(label.Top { if(label==null) { Thread.CurrentThread.Abort(); } label.Top+=1; Thread.Sleep(10); } if(Thread.CurrentThread.IsAlive) { Thread.CurrentThread.Abort(); } } 创建字母函数部分代码: speed=radom.Next(5)+1; switch(speed) { case1: label.ForeColor=System.Drawing.Color.Pink; break; case2: label.ForeColor=System.Drawing.Color.Aqua; break; case3: label.ForeColor=System.Drawing.Color.Orange; break; case4: label.ForeColor=System.Drawing.Color.White; break; case5: label.ForeColor=System.Drawing.Color.Yellow; break; } 四、游戏窗体截图 运行图: 五、所用的知识点 Winform基础(包括简单控件的使用)、多线程的操作等等知识点。 首先安排学生学习winform基础包括本项目涉及到的控件的使用方法;之后学习多线程的操作,安排一些简单的多线程例子来说明问题; 六、总结 通过一周的企业实习,在老师的带领下,我们了解了企业内部运行的基本流程,同时分析了本专业的运用领域和发展前景,经过老师的介绍,我们深刻认识到现阶段自己所学的专业知识是远远不够的,所学的c是最基本的编程语言.运用的领域比较窄,而相比较而言C#具有更好的发展前景.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 打字 游戏 课程设计 报告