JAVA记忆测试系统功能完善

上传人:hs****ma 文档编号:488592767 上传时间:2023-12-07 格式:DOCX 页数:12 大小:134.43KB
返回 下载 相关 举报
JAVA记忆测试系统功能完善_第1页
第1页 / 共12页
JAVA记忆测试系统功能完善_第2页
第2页 / 共12页
JAVA记忆测试系统功能完善_第3页
第3页 / 共12页
JAVA记忆测试系统功能完善_第4页
第4页 / 共12页
JAVA记忆测试系统功能完善_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《JAVA记忆测试系统功能完善》由会员分享,可在线阅读,更多相关《JAVA记忆测试系统功能完善(12页珍藏版)》请在金锄头文库上搜索。

1、XX大学课程设计Java一记忆测试系统专业班级:信息与计算科学081班姓名学号:XXX140姓名学号:XXX131姓名学号:XXX111指导教师:XXX2011年6月20日记忆测试系统1题目简介本游戏是通过由用户点击图片显示出图片后,如果是相同的,便保持图形,如果用户点开的是不同的图片则先前点击的图片被清空。当用户同时点击出规定数目的图片后,弹出保存成绩框。主要内容:设计要求总体设计详细设计代码调试软件开发课程设计题目记忆测试系统是通过回忆法测试记忆能力,测试手段分为初级、中级、高级三个级别。2设计的内容、要求和目标我们设计的记忆测试系统,除了要编写的6个java文件所给的类外,还需在添加一些

2、功能,如添加图标,改进测试条件,添加音乐功能,使程序有翻开相同的图标是播放一段音乐,不同时播放另一段音乐等。列出菜单,有选择级别,选择图标,成绩记忆榜;在菜单下有M*N个图标随机分布,当点击一个图标,被保存下来,点击下一个图标时与上一个图标比较,图标相同而方块不同则success加1,反之则不变,当点击六个相同的图标时记录所需的时间,保存在成绩记忆排行榜中;点击成绩排行榜,可登陆成绩,且会给成绩排行,由高到低。设计要求:(1) 单击“选择级别”菜单可以选择初级,中级,高级。(2) 单击“查看排行榜”菜单可以查看记忆榜,通过记忆榜存储每个级别的成绩(3) 选择级别后,将出项相应级另的测试区。测试

3、区由M*N个方块组成程序通过设置M和N的值来确定相应的测试级别,例如,对于初级级别,M=5,N=6.每个方块上都有一个图标,但该图标默认不可见。用鼠标当即测试区中的任何一个方块,则计时器开始启动,同时该方块上的图标将显示出来。(4) M*N个方块组成的测试区中有M个图标,每个图标重复出现N次,并且随机分布在测试区中的M*N个方块上。用户必须用鼠标连续单击出N个图标相同的方块,也就是说,如果用户已经用鼠标连续单击出P个图标相同的方块,当再单击另一个方块时,如果该方块的图标和上一个的相同,那么该方块的图标和前P次单击出的方块的图标仍然可见;否则前P次单击出的方块的图标全都变得不可见,只有当前单击的

4、方块的图标可见。(5) 测试区能显示用户的用时,并根据级别的不同,提示用户必须用鼠标连续单击出多少个图标相同的方块。(6) 测试区有提示图标所在位置的功能。用户单击测试区中的“提示”按钮后,测试区将持续秒为用户显示全部方块上的图标。用户每单击一次“提示”按钮,用户的用时将增加10秒。(7) 连续单击出级别所要求的若干个图标相同的方块后,将弹出保存成绩的对话框,用户可以通过该对话框选择是否将自己的成绩保存到成绩表中。(8) 单击“选择图标”菜单可重新选择方块的图标样式,即可以重新选择M个图标。设计目标:(1)改进程序,使用户能为方块选择更多图标。(2)改进测试条件,例如单击鼠标的次数越多则成绩越

5、差等。(3)改进程序,增加更加丰富的音乐效果。当用户成功翻开相同图标方块后,程序播放简短、动听的一声音乐,而用户翻开不相同图标方块,程序播放简短、警告的音乐。用Java可以编写播放.au、.aiff、.wav、.midi、.rfm格式的音频。假设音频文件位于应用程序当前目录中。3总体设计在测试系统中,可以编写6个java源文件:,和。记忆测试系统除了上述6个Java源文件产生的类外,还需要Java系统提供的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系如图所示。图类之间的组合关系以下是6个Java原文件的总体设计。1:主类MenoryGam联负责创建记忆测试系统白主窗口,该类

6、含有main方法,记忆测试系统从该类开始执行。MenoryGame类有四种重要类型的对象,分别是String,Flie,MenoryTestArea和ShowRecordDialog对象。MenoryGame类创建的窗口对象以及其中的主要成员对象。MenoryGam联的主要成员的作用将在后面的详细设计中阐述。2:MenoryTestArea类是主类MenoryGame口中白一个Jpanel容器,所创建的对象称为测试区,这个测试区被添加到MenoryGame口的中心。MenoryTestArea类主要有六个种类型的成员:ArrayList,String,Record,Timer,File和Thr

7、ead对象。MenoryTestArea类的主要成员的作用将在后面的详细的设计中阐述。3:Block类是Jbutton的子类,负责为MenoryTestArea类中的ArrayList数组表提供Block对象。4:Record类是包中Jdialog对话框的子类,当用户成功单击出相应的级别所要求的图标相同的方块后,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。5:ShowRecordDialog类包中Jdialog对话框的子类,当用户单击“查看排行榜”时,ShowRecordDialog创建负责显示用户的成绩。6:People对象封装用户的名字和成绩,以便ShowRecord

8、Dialog对象可以按成绩的高低排序用4详细设计及实现操作界面设计点击运行,选择级别,图标游戏开始,如果用户不清楚相同图标的位置时,点击提示。界面方案:窗口大小:setBounds(100,100,400,360);setVisible(true);字体的大小和颜色(newFont(“宋体”,,18);布局控制:又上到下,先是菜单:选择级别,查看排行榜,选择图标;提示信息:(“您需要用鼠标单击出+col+“个同样图标的方块);图标随机排布,有M*N个方块随机分布,在下面是一记录用户时间的还有提示按钮,提示用户相同图标的位置。类成员变量及方法设计(一)MemoryGame效果图1:成员变量?ba

9、r是JMenuBar类创建的菜单条,可以向bar中添加菜单。?menuGrademenuResult、menuIcon是JMenu创建的三个菜单,这三个菜单的名称分别是“选择级别”、“查看排行榜”和“选择图标”。?oneGradeItem、twoGradeltem、threeGradelte是JMenuItem类创建的三个菜单项,被添加到menuGrade菜单中,这三个菜单项的名称分别是“初级”,“中级”和“高级”。?oneGradeResult、twoGradeResult、threeGradeResult是JMenuItem类创建的三个菜单项,被添加到menuResult菜单中,这三个菜单

10、项的名称分别是“初级排行榜”,“中级排行榜”和“高级排行榜”。?carImageIcon、animallmagelcon是JMenuItem类创建的两个菜单项,被添加到menuicon菜单中,这两个菜单项的名称分别是“汽车图标”和“动物图标”。?fileOneGrade、fileTwoGrade、fileThreeGrade和gradeFile是File类创建的四个文件对象。fileOneGrade、fileTwoGrade、fileThreeGrade所引用的文件分别是“初级记忆排行榜.txt”、“中级记忆排行榜.txt”、“高级记忆排行榜.txt”,分别用来写入三个级别的成绩。gradeF

11、ile可以是fileOneGrade、fileTwoGrade、fileThreeGrade中的某一个。?imageName是String类型的组件,每个单元是一个图像文件的名字。?memoryArea是测试区对象,由MemoryArea类负责创建。?showDiolag是负责显示成绩的对话框,由ShowRecordDialog类负责创建?m和n的int型数据,其值可以确定相应级别中测试区中方块的数量,例如,对于中级水平,m=qn=7,测试区一个有42个方块。2:方法?actionPerformed(ActionEvent)方法是MemoryGam类实现ActionListener接口中的方法

12、,负责执行菜单项发出的有关命令。用户选择菜单中的菜单项可触发ActionEvent事件,导致actionPerformed(ActionEvent)方法执行相应的操作。?MemoryGame()ll构造方法,负责完成窗口的初始化。?main(String)方法是软件运行的入口方法。(二)MemoryTestArea类效果图1成员变量?row和col的值确定测试区中方块的数量。MemoryTestArea类创建的对象memoryArea是MemoryGam期的成员,memoryArea对象通过调用initBlock(int,int,String口,file)方法将MemoryGamet中m和n的

13、值传递给row和col。?usedTime是用户的用时,单位是秒。?success的值是用户找到的具有同样的图标的方块的个数。?gradeFile是级别文件,memoryArea对象通过调用initBlock(int,int,String,file)方法将MemoryGamet中的gradeFile的引用传递给memoryArea对象中的gradeFile。?数组表allBlockList单元的个数是row和col的乘积,它的每个单元存放着一个Block对象。memoryArea对象在调用initBlock(int,int,String,file)方法时完成对allBlockList单元的初始

14、化,即创建单元中的Block对象。?字符串数组imageFileName中的每个单元是一幅图像文件的文字。memoryArea对象通过调用setImageName(String)方法将MemoryGam前存放图像文件名字的imageNam咪组的弓I用传递给imageFileName。?链表openIconList用来存放用户找到的图标相同的方块上的图标。?链表openBlockList用来存放用户找到的图标相同的方块。?hintThread是用Thread类创建的线程对象,用来提示测试区中的Block上的图标,提示方式是将测试区中的各个Block上图标持续显示1200毫秒。?hintButto

15、n是注册了ActionEvent事件的监听器,当单击它时,启动hintThread线程。?showUsedTime显示用户的用时,即显示usedTime的值。?hintMessage根据不同的级别显示相应的提示信息,如该级别需要用户寻找的相同图标方块的数目。?timer是计时器,负责改变usedTime的值。?record负责提供保存成绩的界面,是一个对话框,默认不可见。当用户寻找出级别所要求的相同图标方块的数目后,该对话框可见,用户可以在该对话框中输入姓名,并保存所输入的姓名和usedTime的值到gradeFile指定的级别文件中。2方法?MemoryTestArea()是构造方法,创建memoryArea对象时需使用该构造方法。?initBlock(int,int,String,file)方法。memoryArea对象调用该方法将参数的值传递给row、col、imageFileName和gradeFile,并依据这些值设置allBlockList数组表的大小,然后创建allBlockList的单元中Block对象,并设置Block对象上的图标。?setImageN

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

当前位置:首页 > 商业/管理/HR > 营销创新

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