记忆力测试 课程设计报告

上传人:第*** 文档编号:34241593 上传时间:2018-02-22 格式:DOC 页数:9 大小:210.50KB
返回 下载 相关 举报
记忆力测试 课程设计报告_第1页
第1页 / 共9页
记忆力测试 课程设计报告_第2页
第2页 / 共9页
记忆力测试 课程设计报告_第3页
第3页 / 共9页
记忆力测试 课程设计报告_第4页
第4页 / 共9页
记忆力测试 课程设计报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《记忆力测试 课程设计报告》由会员分享,可在线阅读,更多相关《记忆力测试 课程设计报告(9页珍藏版)》请在金锄头文库上搜索。

1、Visual Basic课 程 设 计 报 告所属课程名称:Visual Basic 程序设计课程设计题目:记忆力测试 课程设计难度:2 星课程设计时间:2012.2.27 3.23学 号:姓 名:0 南京理工大学机械工程学院二一二年三月1一、 程序功能(1)启动程序时显示图 1 所示的启动界面。单击 “开始 ”按钮,如图 2 所示,程序一次弹出 3个随机生成的大写字母。半秒钟后,字母消失,一个竖线光标提示用户重新输入刚才的字母(图 3)图 1 启动界面 图 2 显示字母 图 3 输入字母(2)用户输入 3 个字母后,程序判断输入的字母是否和随机产生的完全相同。如果相同,程序再随机生成 4 个

2、字母让用户记忆输入;如果不相同,以图 4 所示的方式将生成的字母与输入的字母进行对比,用户可以发现自己那个字母输入不正确。(3)在图 4 所示状态下,用户可以选择“重复本步”让程序再生成相同个数的字母重试;如果选择“从头开始”则从 3 个字母重新开始。图 4 输入错误时的显示内容(4)要求字母以突出的立体效果显示,像是写在有厚度的木板上。(5)用户输入字母时,无论其键盘是否处于大写锁定状态,都以大写形式显示。在用户没有输入完当前要求的字母个数前,可以通过“退格键”逐个删除以输入的字母。(6)窗口上命令按钮的标题文字和有效状态应根据程序的状态不断变化。在用户输入字母时,只有“退出键”可用;当输入

3、错误时, “开始按钮变为重复本步”按钮。在不同阶段,提示文字的内容页不同。知识点:控件数组;Timer 定时器控件;Line 直线、Shape 形状、Label 标签控件的使用;键盘事件处理;随机值生成。2二、 课程设计的详细设计显示字母时使用随机函数产生字母。定义一个静态变量来控制直线光标的显现与消失。键盘的KeyPress 事件是整个程序的主要时事件。使用静态变量来储存游戏进行的关数。用两个数组分别储存程序显示的字母和用户输入的字母,并进行比较。用一个数组来储存成绩,当查看排名时使用比较排序法选出前三名,显示并保存到文件中。三、 程序调试过程【问题 1】:可以输入字母的个数超过所要求的(如

4、第一关可以输入 8 个字母)【解决办法】:If k z Then Exit Do【问题 2】:字母无法显示 0.5 秒【解决办法】:使用一个静态变量 x,当 x=1 时显示字母,当 x=2 时字母消失。其中 x 变为 2 时,该过程是第二次执行,时间间隔为 0.5 秒(由计时器的 Interval 属性决定) 。四、 更上一层楼新功能:当输入字母错误时,程序会使用红色将其突出显示;增加了成绩的储存及显示成绩排行榜的功能。改进:每通一关就有提醒,完成整个游戏后也有提醒;退出游戏时后会提醒用户是否保存成绩。五、 课程设计总结要灵活使用静态变量和控件数组。适当地使用过程能使程序代码简洁。这次的课程设

5、计让我掌握了键盘的 KeyPress 事件,明白静态变量的使用一定要注意判断是否需要归零或继续使用,以及计时器控件的使用一定要注意判断和使用 Enable 属性。在判断两个或多个变量的关系时一定要注意边界值。3六、 源程序代码Dim zimushow(0 To 7) As String, zimukey(0 To 7) As StringDim k As Integer, z As IntegerDim order(1 To 4) As Stringzimushow() 用于储存显示了 0.5 秒的字母, zimukey() 用于储存键入的字母k 主要用在键盘事件中,相当于 Index,还在

6、cmdrestart 和 cmdstart 过程中调用z 用于记录游戏进行的关卡数 (=z+1)order() 用于成绩保存中=Private Sub cmdstart_Click()Dim index As IntegerIf cmdstart.Caption = 开始 Then 开始游戏For index = 0 To 2lbzimu(index).Visible = TrueShapeheng(index).Visible = TrueShapeshu(index).Visible = TrueNextTimershow.Enabled = Truecmdstart.Enabled =

7、Falsecmdrestart.Enabled = Falsecmdpaiming.Enabled = Falsez = 2 记录游戏进行到几关Label2.Caption = 记住下列每个字母ElseIf cmdstart.Caption = 重复本步 Then 重复本关游戏For index = 0 To zlbchacuo(index).Caption = ShPheng(index).Visible = FalseShpshu(index).Visible = FalseNextcmdstart.Enabled = Falsecmdrestart.Enabled = Falsecmdp

8、aiming.Enabled = FalseLabel3.Caption = k = 0Call changcolorTimershow.Enabled = TrueEnd IfEnd Sub=Private Sub cmdrestart_Click() 重新开始Dim index As Integer, i As IntegerIf cmdstart.Caption 重复本步 Then 说明游戏还没开始 ,点击无效Exit SubEnd IfCall savingcmdstart.Caption = 开始4Label3.Caption = k = 0For index = 0 To zlbz

9、imu(index).Caption = lbchacuo(index).Caption = ShPheng(index).Visible = FalseShpshu(index).Visible = FalseNextFor i = 3 To zShapeheng(i).Visible = FalseShapeshu(i).Visible = FalseNextz = 2cmdstart.Enabled = Falsecmdrestart.Enabled = Falsecmdpaiming.Enabled = False Call changcolorTimershow.Enabled =

10、TrueEnd Sub=Private Sub cmdpaiming_Click()Dim i As IntegerForm1.Hide: Form2.Showorder(4) = z + 1Call MingCiForm2.Label1.Caption = 1 & Space(8) & order(1) & Chr(13) & Chr(10) & _2 & Space(8) & order(2) & Chr(13) & Chr(10) & _3 & Space(8) & order(3) & Chr(13) & Chr(10)Open App.Path & save.txt For Outp

11、ut As #2 将保存成绩For i = 1 To 3Print #2, order(i)NextCloseEnd Sub=Private Sub cmdexit_Click() 退出程序Call savingEndEnd Sub=Private Sub Form_KeyPress(KeyAscii As Integer)Dim i As Integer, p As IntegerIf (KeyAscii = 65 And KeyAscii = 97 And KeyAscii z Then 不能超出本关的输入个数(如第一关只能输 3 个字母)Exit DoEnd Iflbzimu(k).Ca

12、ption = UCase(Chr(KeyAscii)zimukey(k) = UCase(Chr(KeyAscii)If k 8 Then Exit SubIf k = z + 1 Then 式子成立代表字母输入完成,开始对比答案Timerline.Enabled = FalseLine2.Visible = FalseFor i = 0 To zIf Chr(zimushow(i) = zimukey(i) Thenp = p + 1Elselbchacuo(i).ForeColor = vbRed 错误字母变成红色End IfNextIf i = p Then 输入的字母完全正确k =

13、0 k 为静态变量 ,完成一关之后应归 0If z = 7 ThenMsgBox 恭喜,您已通过全部关卡!, 64, 完成Exit SubElseMsgBox 恭喜您通过本关,现在进入下一关, 64, 恭喜z = z + 16End IfShapeheng(z).Visible = TrueShapeshu(z).Visible = TrueCall changcolor 把颜色变回原来的颜色Timershow.Enabled = TrueElse 输入错误时显示正确字母For k = 0 To zlbchacuo(k).Caption = Chr(zimushow(k)ShPheng(k).

14、Visible = TrueShpshu(k).Visible = TrueNextLabel2.Caption = 输入错误,多数人能记忆七个字母,回车进行当前步测试Label3.Caption = 正确的字母序列应为:cmdstart.Caption = 重复本步cmdstart.Enabled = Truecmdrestart.Enabled = Truecmdpaiming.Enabled = Truecmdstart.SetFocusCall lines(0)End IfEnd IfExit SubLoopEnd Sub=Private Sub Form_Load()Dim index As IntegerTimershow.Enabled = FalseTime

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号