




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈 阳 航 空 航 天 大 学 课程设计学 号 班 级 姓 名 指导教师 年 月 日沈阳航空航天大学设计用纸沈阳航空航天大学课程设计任务书学院: 机电工程 专业: 车辆工程 班级:0406030x 学号:20100406030xx 题目:快速配对游戏一、课程设计时间201112第2学期 第17周,共计1周,20学时。 二、课程设计内容用VB语言编写一个快速配对的小游戏,程序界面可参考右图。界面上排列16张图片,两两相同,位置随机。程序运行开始,需要输入用户名字,以便记录游戏信息,进入游戏之后所有图片显示3秒,然后隐藏。用户可用鼠标点选各个图片,当连续点击的两张图片相同时,则这两张图片永久显示,若不相同则重新隐藏。当所有图片均显示出来后系统提示整个过程的全部时间。并与游戏记录中的信息比较,提示名次(只需保存前三名的信息,若未进入前三名,只需显示“继续努力!”)。相关图片信息可由教师提供,界面也可自行设计。三、课程设计要求程序质量: 贯彻事件驱动的程序设计思想。 用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书: 课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录一、需求分析5二、设计分析5三、关键技术8四、总结11五、完整的源程序11六、参考文献16一、 需求分析 快速配对游戏是一款适合大众娱乐的益智小游戏,本游戏对于开发青少年智力,提高快速反应时间有很大的帮助。而且本游戏设置有排行榜,可以记录玩家的成绩,有利于提高玩家的积极性,让玩家在突破自我中寻找快乐!如今的社会,生活压力与日俱增,大家都迫切需要减压。而这款游戏就能达到减压的效果,且不会让人轻易上瘾,可以说这款游戏具有广阔的市场前景!二、设计分析(1) 基本原理:设计窗体,通过image2和imageback的互换来实现图片的正反面,通过三个时钟控件来分别计时。(2) 总体设计:设计窗体开 始排行榜 退 出显示前三名成绩排行榜键和开始键隐藏,图片显示3秒钟后隐藏,之后开始总计时。游戏结束后记录成绩。退出游戏图1 总体设计(3) 详细设计:1游戏主界面:(1)窗体的顶部要放置“开始”、“排行榜”和“退出”按钮。在放置一个两个重合的图像控件用来显示游戏中的“笑脸”和“严肃的脸”。再放置一个标签控件来显示用户所用的时间。加入三个定时器控“Timer1”、“Timer2”和“Timer3”分别来控制展示图片的时间、点击不同图片后图片的展示时间和记录玩家的所用时间。(2)窗体的中部放置16个图像框控件数组“”来放置游戏中的图片。和一个放置“背面”图片的图像框控件“Imageback”在案安排游戏使用图片时使用的是随机函数Rnd随机的将“Imagepicture()”的Index值赋给数组,然后将这些选中的图片的“Picture”属性赋给“Imageshow()”图像框达到随机安排图片的目的。(3)窗体的下部放置8个图像框控件“Imagepicture()”来放置8种不同的候选图片。2排行榜窗体:(1)加入7个标签控件用来显示“排行榜”。(2) 添加“返回”按钮,单击按钮时返回游戏主界面。游戏加载时将“成绩”文件中的已存入的成绩和玩家姓名加载到“排行榜”窗体的相应位置上。在游戏完成时用消息框提示你的成绩,如果你的成绩进入前三名则可以再“Inputbox”里面输入自己的姓名。在游戏程序结束时将“排行榜”窗体上的内容存入成绩文件中。全程序中使用控件数组和数组使程序的编写简单、明了。三、关键技术(1)建立主窗体和排行榜窗体 图2 窗体(2)用Randomize函数使选出的八张图片随机的成对安排到游戏使用的图片中。程序段如下:FinishedNum = 0 p1 = -1 p2 = -1 Randomize For i = 0 To 15 Arrange(i) = -1 Next For i = 0 To 7 For j = 0 To 1 Do m = Int(Rnd * 16) If Arrange(m) = -1 Then Arrange(m) = i Exit Do End If Loop Next Next For i = 0 To 15 Image1(i).Picture = Image2(Arrange(i).Picture Finished(i) = FalseNext图3 在游戏中随机显示的八对图片(3)排行榜文件的读取和显示。程序段如下:Private Sub Form_Load() Dim l As Integer Dim tt(0 To 2) As Integer Open App.Path & Record.txt For Input As #1 l = -1 Do While Not EOF(1) l = l + 1 Input #1, tt(l) Loop Close #1 Label3(0).Caption = tt(0) Label3(1).Caption = tt(1) Label3(2).Caption = tt(2)End Sub(4)游戏结束后界面. 图4游戏结束后图片四、总结通过本次课设,我虽然完成了老师布置的题目,但是从中我也发现了许多自己的不足。很多vb语句的不熟悉造成了我在程序设计过程中走了很多弯路。不过经过本次课设的自主学习和请教同学,令我对vb知识的掌握有了提高! 这次课设让我有很深的体会,首先自己动手设计程序可以提高我们的计算机技术,当自己设计的程序可以运行时可以使自己有成就感,增加对编程的兴趣。其次在编程的过程中可以提高我们发现问题和解决问题的能力,能培养自己的创新能力。五、完整的源程序 Option ExplicitPrivate Arrange(0 To 15) As Integer 保存每个位置的图片Private p1 As Integer, p2 As Integer 两次翻起的图象下标Private FinishedNum As Integer 完成对数Private Finished(0 To 15) As Boolean 已翻开的图像下标Dim t As IntegerPrivate Sub Command1_Click() 游戏开始 Dim i As Integer Dim j As Integer Dim m As Integer Command3.Enabled = False FinishedNum = 0 p1 = -1 p2 = -1 开始给每种图片随机摆放在2个位置,共16个位置8种图片 Randomize For i = 0 To 15 Arrange(i) = -1 Next For i = 0 To 7 For j = 0 To 1 Do m = Int(Rnd * 16) If Arrange(m) = -1 Then Arrange(m) = i Exit Do End If Loop Next Next For i = 0 To 15 Image1(i).Picture = Image2(Arrange(i).Picture Finished(i) = False Next Command1.Enabled = False Timer1.Enabled = True End SubPrivate Sub Command2_Click() 退出游戏 Unload MeEnd SubPrivate Sub Command3_Click() 看排行 frmScore.Show 1End Sub Private Sub Form_Load() Dim i As Integer For i = 0 To 15 Image1(i).Picture = ImageBack.Picture Image1(i).Enabled = False NextEnd SubPrivate Sub Image1_Click(Index As Integer) 开始寻找配对 Dim i As Integer Dim m As Integer Dim n As Integer Dim tt(0 To 2) As Integer Dim l As Integer Image1(Index).Picture = Image2(Arrange(Index).Picture Image1(Index).Enabled = False If Not Timer2.Enabled Then Timer2.Enabled = True t = 0 End If If p1 = -1 Then 翻开第一张 p1 = Index Else 翻开第二张 p2 = Index If Arrange(p1) Arrange(p2) Then 两张不一样 For i = 0 To 15 Image1(i).Enabled = False Next Timer3.Enabled = True ImageFace = ImageNoSmile Else 两张相同 FinishedNum = FinishedNum + 1 Finished(p1) = True Finished(p2) = True p1 = -1 p2 = -1 ImageFace = ImageSmile If FinishedNum = 8 Then 如果全部完成 Timer2.Enabled = False Command1.Enabled = True Command1.Caption = 再来 Command3.Enabled = True Open App.Path & Record.txt For Input As #1 打开排行榜文件读以往成绩 l = -1 Do While Not EOF(1) l = l + 1 Input #1, tt(l) Loop Close #1 If t = tt(1) Then tt(2) = t: MsgBox 完成,恭喜你成为第三名!, vbInformation If t = tt(0) Then tt(2) = tt(1): tt(1) = t: MsgBox 完成,恭喜你成为第二名!, vbInformation If t tt(0) Then tt(2) = tt(1): tt(1) = tt(0): tt(0) = t: MsgBox 完成,恭喜你成为第一名!, vbInformation Open App.Path & Record.txt For Output As #1 For l = 0 To 2 Write #1, tt(l), Next Close #1 Else MsgBox 完成,你未进入前三名!再接再厉哦。, vbInformation End If End If End If End If End SubPrivate Sub Timer1_Timer() 开始时随机放好的图片翻开给看3秒钟 Dim m As Integer For m = 0 To 15 Image1(m).Picture = ImageBack.Picture Image1(m).Enabled = True Next m Timer1.Enabled = False End SubPrivate Sub Timer2_Timer() 游戏记时 t = t + 1 Label1.Caption = t End SubPrivate Sub Timer3_Timer() 寻找不正确时图片会恢复底样 Dim i As Integer For i = 0 To 15 If Not F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省深圳南山区五校联考2026届数学八年级第一学期期末综合测试试题含解析
- 安徽省合肥市中学科大附中2026届数学九年级第一学期期末质量跟踪监视模拟试题含解析
- 新型储能技术压缩空气储能的研究与发展
- 2025股份转让合同范本
- 安徽省阜阳颍东区四校联考2026届数学八年级第一学期期末联考试题含解析
- 中国银行金华市东阳市2025秋招英文面试20问及高分答案
- 工商银行赤峰市红山区2025秋招笔试英语阅读理解题专练30题及答案
- 邮储银行绥化市海伦市2025秋招笔试金融学专练及答案
- 中国银行惠州市博罗县2025秋招半英文面试题库及高分答案
- 邮储银行崇左市江州区2025秋招笔试金融学专练及答案
- 工会经审业务网络知识竞赛题库
- 宁夏易制毒管理办法
- 学堂在线 新闻摄影 期末考试答案
- 脑瘫个案护理
- 2025年全国新高考英语II卷试题解析及复习备考策略(课件)
- 课本剧《霸王别姬》剧本【3篇】
- 2025至2030年中国乙肝疫苗行业市场发展模式及未来前景分析报告
- 作文写作(解析版)-2025年中考语文一模试题分类汇编(贵州专用)
- 人工智能技术研发股东出资合作框架协议
- 《资源环境信息技术》课件 - 探索数字化时代的环境保护与可持续资源管理
- 异麦芽糖酐铁注射液-药品临床应用解读
评论
0/150
提交评论