1、 课题名:C#课程设计 题目:题目:小小打字游戏小小打字游戏 学生姓名:学生姓名: XXXXXXXXXXXX 学学 号:号: 班班 级:级: 院院 系:系: 计算机科学与信息学院计算机科学与信息学院 专业年级:专业年级: 计算机科学与技术计算机科学与技术 20122012年年 1212月月 2 2 日日 一、需求分析一、需求分析 软件名称:小小打字游戏 (1)描述: 使用 VS2010 开发环境,用 C#语言编写一个打字游戏,游戏界面随机出现 下落的 A 到 Z 的 26 个字母,当用户按下相应的键,游戏屏幕上正在下落的字母 就会被消除,游戏分数将相应增加。 (2)系统功能: 、登录功能:启动
2、软件,出现登录界面,用户输入账号密码,正确后方 可进入游戏。 、注册功能:不存在的用户,可以注册。 、软件互斥:通过创建互斥变量,使打字游戏软件只能单独开启一个。 、游戏控制:按 F1 开启游戏,F2 暂停游戏,F3 继续游戏,F4 使用游戏 积分兑换生命值。 、游戏显示:游戏窗口,随机下落颜色不定的 A 到 Z 26 个字母,并根据 游戏得分实时增加字母下落的速度。 、游戏操作:按下键盘上的 AZ 26 个字母键,游戏窗口上正在下落的对 应字母被消除,并使游戏分数增加 1。 、数据保存和清除:使用数据库保存用户的游戏数据,并可调用数据库 数据显示在游戏界面上显示,管理员账号可以清除游戏记录数
3、据。 、游戏界面信息显示:显示相应的游戏状态信息,暂停游戏提示,结束 游戏提示即游戏排名。 需要存储的数据信息: 1、游戏分数 2、游戏等级 3、用户 4、密码 5、游戏开始时间 6、游戏结束时间 二、二、系统设计(图表方式,要有说明部分)系统设计(图表方式,要有说明部分) (1)新建程序项目:在 VS2010 上建立 小小打字游戏 项目。 (2)设计界面: 、如图 1-1、即为用户登录界面:有三个控件(2 个 Label 控件,1 个 Button 控件) , 界面背景图片由 Photoshop 图片处理软件设计。 图 1-1、用户登录界面 、图 1-2、为注册用户界面,两个 Label 控
4、件、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 可可 用户名用户名 P
5、assword nchar 10 可可 密码密码 GameInfo 表:表: 属性名属性名 类型类型 长度长度 可空可空 备注备注 IDD int 否否 主键,自增主键,自增 ID UserID int 可可 用户用户 ID,即,即 GameUser 表的表的 ID 值值 BeginTime datetime 可可 存储游戏开始时间存储游戏开始时间 OverTime datetime 可可 存储游戏结束时间存储游戏结束时间 GameLevel int 可可 游戏结束时达到的等级游戏结束时达到的等级 GameScores int 可可 游戏结束时的分数游戏结束时的分数 四、系统实现四、系统实现
6、(1)类图)类图 (2)核心代码:核心代码: 程序配置文件:用于设置数据库连接字串 Login窗体:存储字段窗体:存储字段 Login窗体:注册按钮事件窗体:注册按钮事件 如果查寻用户名不存在,提示用户注册新账号: Register窗体类:窗体类: MySqlConn类: (需要通过配置文件,获得数据库连接字串,故需要引用命名空类: (需要通过配置文件,获得数据库连接字串,故需要引用命名空 间:间:using System.Configuration;) 封装的数据库连接示例: MainFrm 主游戏窗体类:主游戏窗体类: 存储字段:存储字段: 菜单事件:菜单事件: 其他事件(时钟事件,和键盘事件) 窗体键盘事件详细代码: 其他功能函数: 具体核心功能代码: 字母飘动下落函数: 创建字母函数: myRandommyRandom 类获取字母函数:类获取字母函数: Program类: 在stat