C课程设计报告打字游戏.doc
文本预览下载声明
课题名:C#课程设计
题目:小小打字游戏
学生姓名: XXXXXX
学 号: 1008060255 班 级: 计科101班
院 系: 计算机科学与信息学院
专业年级: 计算机科学与技术
2012年 12月 2 日
一、需求分析
软件名称:小小打字游戏
(1)描述:
使用VS2010开发环境,用C#语言编写一个打字游戏,游戏界面随机出现下落的A到Z的26个字母,当用户按下相应的键,游戏屏幕上正在下落的字母就会被消除,游戏分数将相应增加。
系统功能:
①、登录功能:启动软件,出现登录界面,用户输入账号密码,正确后方可进入游戏。
②、注册功能:不存在的用户,可以注册。
③、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个。
④、游戏控制:按F1开启游戏,F2暂停游戏,F3继续游戏,F4使用游戏积分兑换生命值。
⑤、游戏显示:游戏窗口,随机下落颜色不定的A到Z 26个字母,并根据游戏得分实时增加字母下落的速度。
⑥、游戏操作:按下键盘上的A~Z 26个字母键,游戏窗口上正在下落的对应字母被消除,并使游戏分数增加1。
⑦、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库数据显示在游戏界面上显示,管理员账号可以清除游戏记录数据。
⑧、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束游戏提示即游戏排名。
需要存储的数据信息:
1、游戏分数
2、游戏等级
3、用户
4、密码
5、游戏开始时间
6、游戏结束时间
系统设计(图表方式,要有说明部分)
新建程序项目:在VS2010上建立 小小打字游戏 项目。
(2)设计界面:
①、如图1-1、即为用户登录界面:有三个控件(2个Label控件,1个Button控件),界面背景图片由Photoshop图片处理软件设计。
图1-1、用户登录界面
②、图1-2、为注册用户界面,两个Label控件、1个Button控件。
图1-2、用户注册界面
③、图1-3、为游戏主界面
图1-3-1、游戏主界面
游戏有菜单栏控件,有操作提示信息:F1、F2、F3、F4相应功能
图3-1-2、游戏主界面,暂停游戏情况
图3-1-3、游戏主界面,结束游戏显示情况
图4-1、版本信息
(3)功能模块设计
1、系统模块
2、操作流程图
三、数据库设计(数据库类软件)
GameUser 表:
属性名
类型
长度
可空
备注
ID
int
否
主键,自增ID
UserName
nvarchar
50
可
用户名
Password
nchar
10
可
密码
GameInfo 表:
属性名
类型
长度
可空
备注
IDD
int
否
主键,自增ID
UserID
int
可
用户ID,即GameUser表的ID值
BeginTime
datetime
可
存储游戏开始时间
OverTime
datetime
可
存储游戏结束时间
GameLevel
int
可
游戏结束时达到的等级
GameScores
int
可
游戏结束时的分数
四、系统实现
(1)类图
核心代码:
程序配置文件:用于设置数据库连接字串
Login窗体:存储字段
Login窗体:注册按钮事件
如果查寻用户名不存在,提示用户注册新账号:
Register窗体类:
MySqlConn类:(需要通过配置文件,获得数据库连接字串,故需要引用命名空间:using System.Configuration;)
封装的数据库连接示例:
MainFrm 主游戏窗体类:
存储字段:
菜单事件:
其他事件(时钟事件,和键盘事件)
窗体键盘事件详细代码:
其他功能函数:
具体核心功能代码:
字母飘动下落函数:
创建字母函数:
myRandom类获取字母函数:
Program类:
在static void Main()函数中创建互斥体变量,避免游戏多开
五、总结
经过一学期的C#学习,我对C#有了进一步的认识和掌握。
在微软的重量级开发工具.Net平台上,C#更是发挥了他强大的作用,使得软件开发变为一件非常容易且高效的事情。C#在将来必定会占据软件行业高端市场,因此使用C#做高层软件开发是个不错的选择,将来我会考虑使用C#做高层软件开发。
所有的计算机程序都是运行在计算机上的,因此所有的编程语言和开发工具在一定程度上都具有很大的共同点,熟练掌握好一门编程语言和一套开发工具,在今后学习其他的编程语言和工具时,会变得很容易很轻松。因此,我们学习阶段,不需要贪多,不需要追随最新,而是要求精。
而C#便是我将来的选择。
显示全部