记忆测试系统的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1综合案例记忆测试软件系统设计图形界面编程I/O文件流编程多线程编程常用API编程面向对象基础2011-112目录题目一记忆测试系统.............................................................3题目简介.............................................................................31.1设计要求.......................................................................31.2总体设计.......................................................................41.2.1MemoryGame.java(主类)...........................................51.2.2MemoryTestArea.java................................................61.2.3Block.java..................................................................61.2.4Record.java...............................................................61.2.5ShowRecordDialog.java.............................................61.2.6People.java................................................................71.3详细设计及实现.............................................................71.3.1MemoryGame类........................................................71.3.2MemoryTestArea类.................................................111.3.3Block类...................................................................171.3.4ShowRecordDialog类..............................................181.3.5People类.................................................................201.3.6Record类.................................................................213记忆测试系统题目简介本游戏是通过由用户点击图片显示出图片后,如果是相同的,便保持图形,如果用户点开的是不同的图片则先前点击的图片被清空。当用户同时点击出规定数目的图片后,弹出保存成绩框。主要内容:设计要求总体设计详细设计代码调试软件开发课程设计题目软件效果图记忆测试系统软件的运行效果图如下所示:图1.0记忆系测试统软件的运行效果1.1设计要求记忆测试系统是通过回忆法测试记忆能力,测试手段分为初级、中级、高级三个级别。4(一)记忆测试系统设计内容、要求:(1)单击“选择级别”菜单可以选择初级、中级或高级。(2)单击“查看排行榜”菜单可以查看初级记忆榜、中级记忆榜或高级记忆榜,通过记忆榜存储每个级别的成绩。(3)选择级别后,将出现相应级别的测试区。测试区由m*n个方块组成,程序通过设置m和n的值来确定相应的测试级别,例如,对于初级级别,m=5,n=6。每个方块上都有一个图标,但该图标默认不可见。用鼠标单击测试区中的任何一个方块,则计时器开始启动动,同时该方块上的图标将显示出来。(4)m*n个方块组成的测试区中有m个图标,每个图标重复出现n次,并且随机分布在测试区中的m*n各方块上。用户必须用鼠标连续单击出n个图表相同的方块,也就是说,如果用户已经用鼠标连续单击出p(pn)个图标相同的方块,当再单击另一个方块时,如果该方块的图标和上一个的相同,那么该方块的图标和前p次单击出的方块的图标仍然可见;否则前p次单击出来的方块的图标全都变得不可见,只有当前单击的方块的图标可现。(5)测试区能显示用户的同时,并根据级别的不同,提示用户必须用鼠标连续单击出多个图标相同的方块。(6)测试区有提示图标所在位置的功能。用户单击测试区中的“提示”按钮后,测试区将持续1.2秒为用户显示全部方块上的图标。用户没单击一次“提示”按钮,用户的勇士将增加10秒。(7)连续单击出级别所要求的若干个相同的方块后,将弹出保存成绩对话框,用户可以通过该对话框选择是否将自己的成绩保存到成绩表中。(8)单击“选择图标”菜单可重新选择方块图标样式,既可以重新选择m个图标。(二)设计目标:(1)改进程序,使用户能为方块选择更多图标。(2)改进测试条件,例如单击鼠标的次数越多则成绩越差等。(3)改进程序,增加更加丰富的音乐效果。当用户成功翻开相同图标方块后,程序播放简短、动听的一声音乐,而用户翻开不相同图标方块,程序播放简短、警告的音乐。用Java可以编写播放.au、.aiff、.wav、.midi、.rfm格式的音频。假设音频文件hello.au位于应用程序当前目录中。1.2总体设计在测试系统中,可以编写6个Java源文件:MemoryGame.java、MemoryTestArea.java、Block.java、ShowRecordDialog.java、Record.java、People.java。记忆测试系统除了上述6个Java源文件产生的类外,还需要Java系统提供的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系如图1.1所示。5图1.1类之间的组合关系以下是6个Java原文件的总体设计。1.2.1MemoryGame.java(主类)MemoryGame.java类负责创建记忆测试系统的主窗口,该类含有main方法,记忆测试系统从该类开始执行。MemoryGame类有四种重要类型的对象,分别是String、File、MemoryTestArea和ShowRecordDialog对象。MemoryGame类创建的窗口对象以及其中的主要成员对象如图1.2所示。MemoryGame类主要成员的作用将在后面的详细设计中阐述。(a)对话框MemoryGameStringFileMemoryTestAreaShoeRecordDialogFileTreeSetPeopleArrayListBlockStringRecordTimerFileThread6(b)窗口及测试区图1.2MemoryGame窗口及主要的成员对象1.2.2MemoryTestArea.javaMemoryTestArea类是主类MemoryGame窗口中的一个JPanel容器,所创见的对象称为“测试区”,这个“测试区”别添加到MemoryGame窗口的中心。MemoryTestArea类主要有6种类型的成员:ArrayListBlock、String、Record、Timer、File和Thread对象。MemoryTestArea类的主要成员的作用将在后面的详细设计中阐述1.2.3Block.javaBlock类是Jbubtton的子类,负责为MemoryTestArea类中的ArrayListBlock数组表提供Block对象。1.2.4Record.javaRecord类是javax.swing包中Jdialog对话框的子类,当用户成功单击出相应级别所要求的图表相同的方块后,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。1.2.5ShowRecordDialog.javaShowRecordDialog类是java.swing包中JDialog对话框的子类,当用户单击“查看排行榜”时,ShowRecordDialog创建的对象显示用户的成绩。71.2.6People.javaPeople对象封装用户的名字和成绩,以便ShowRecordDialog对象可以按成绩的高低排序用户。1.3详细设计及实现操作界面设计:点击运行,选择级别,图标游戏开始,如果用户不清楚相同图标的位置时,点击提示。界面方案:窗口大小:setBounds(100,100,400,360);setVisible(true);字体的大小和颜色:hinMessage.setFont(newFont(“宋体”,Font.BOLD,18));布局控制:又上到下,先是菜单:选择级别,查看排行榜,选择图标;提示信息:hintMessage.setText(“您需要用鼠标单击出”+col+“个同样图标的方块”);图标随机排布,有M*N个方块随机分布,下面是一记录用户时间以及提示按钮,提示用户相同图标的位置。1.3.1MemoryGame类1.效果图(如图1.3MemoryGame创建窗口所示)图1.3MemoryGame创建窗口2.类成员变量及方法设计1)成员变量▪bar是JMenuBar类创建的菜单条,可以向bar中添加菜单。▪menuGrade、menuResult、menuIcon是JMenu创建的三个菜单,这三个菜单的8名称分别是“选择级别”、“查看排行榜”和“选择图标”。▪oneGradeItem、twoGradeItem、threeGradeIte是JMenuItem类创建的三个菜单项,被添加到menuGrade菜单中,这三个菜单项的名称分别是“初级”,“中级”和“高级”。▪oneGradeResult、twoGradeResult、threeGradeResult是JMenuItem类创建的三个菜单项,被添加到menuResult菜单中,这三个菜单项的名称分别是“初级排行榜”,“中级排行榜”和“高级排行榜”。▪carImageIcon、animalImageIcon是JMenuItem类创建的两个菜单项,被添加到menuIcon菜单中,这两个菜单项的名称分别是“汽车图标”和“动物图标”。▪fileOneGrade、fileTwoGrade、fileThreeGrade和gradeFile是File类创建的四个文件对象。fileOneGrade、fileTwoGrade、fileThreeGrade所引用的文件分别是“初级记忆排行榜.txt”、“中级记忆排行榜.txt”、“高级记忆排行榜.txt”,分别用来写入三个级别的成绩。gradeFile可以是fileOneGrade、fileTwoGrade、fileThreeGrade中的某一个。▪imageName是String类型的组件,每个单元是一个图像文件的名字。▪memoryArea是测试区对象,由MemoryArea类负责创建。▪showDiolag是负责显示成绩的对话框,由ShowRecordDialog类负责创建▪m和n的int型数据,其值可以确定相应级别中测试区中方块的数量,例如,对于中级水平,m=6,n=7,测试区一个有42个方块。2)方法▪actionPerformed(ActionEvent)方法是MemoryGame类实现ActionListener接口中的方法,负责执行菜单项发出的有关命令。用户选择菜单中的菜单项可触发ActionEvent事件,导致actionPerformed(ActionEvent)方法执行相应的操作

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功