ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:273.38KB ,
资源ID:22233205      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22233205.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java记忆测试系统课程设计Word格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java记忆测试系统课程设计Word格式.docx

1、点击成绩排行榜,可登陆成绩,且会给成绩排行,由高到低。设计要求:(1) 单击“选择级别”菜单可以选择初级,中级,高级。(2) 单击“查看排行榜”菜单可以查看记忆榜,通过记忆榜存储每个级别 的成绩(3) 选择级别后,将出项相应级别的测试区。测试区由 M*N个方块组成程 序通过设置M和N的值来确定相应的测试级别,例如,对于初级级别, M=5 N=6.每个方块上都有一个图标,但该图标默认不可见。用鼠标当即测试区中的任何一个方块,则计时器开始启动,同时该方块上的 图标将显示出来。(4) M*N个方块组成的测试区中有 M个图标,每个图标重复出现 N次,并 且随机分布在测试区中的M*N个方块上。用户必须用

2、鼠标连续单击出N个图标相同的方块,也就是说,如果用户已经用鼠标连续单击出 P个图标相同的方块,当再单击另一个方块时,如果该方块的图标和上 一个的相同,那么该方块的图标和前P次单击出的方块的图标仍然可 见;否则前P次单击出的方块的图标全都变得不可见,只有当前单击 的方块的图标可见。(5) 测试区能显示用户的用时,并根据级别的不同,提示用户必须用鼠标 连续单击出多少个图标相同的方块。(6) 测试区有提示图标所在位置的功能。用户单击测试区中的“提示”按 钮后,测试区将持续1.2秒为用户显示全部方块上的图标。用户每单 击一次“提示”按钮,用户的用时将增加 10秒。(7) 连续单击出级别所要求的若干个图

3、标相同的方块后,将弹出保存成绩 的对话框,用户可以通过该对话框选择是否将自己的成绩保存到成绩 表中。(8) 单击“选择图标”菜单可重新选择方块的图标样式,即可以重新选择 M个图标。设计目标:可以选择级别,图标,当用户游戏结束后可以选择是否保存成绩,连 续点击六个相同的图标可见,连续相同的图标播放一段音乐,不同播放另一段音 乐。当用户不清楚相同图标的位置时可以按“提示”按钮,将会对用户进行提示 信息。3总体设计在测试系统中,可以编写 6 个java 源文件:MenoryGame.java ,MenoryTestArea.java,Block.java,People.java,Recor d.ja

4、va 和 ShowRecordDialog.java。记忆测试系统除了上述7个Java源文件产生的类外,还需要Java系统提供 的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系 如图1.1所示。图1.1 类之间的组合关系1: MenoryGame.java 主类MenoryGam类负责创建记忆测试系统的主窗口,该类含有 main方法,记忆测试系统从该类开始执行。Meno ryGame类有四种重要类型的对象,分别是 String ,Flie ,MenoryTestArea 和 ShowRecordDialog 对象。MenoryGam类 创建的窗口对象以及其中的主要成员对象。M

5、en oryGam类的主要成员的作用 将在后面的详细设计中阐述。2: MenoryTestArea.javaMenoryTestArea类是主类 MenoryGam窗口中的一个Jpanel容器,所创建的 对象称为测试区,这个测试区被添加到MenoryGame窗口的中心。 Me no ryTestArea 类主要有六个种类型的成员: ArrayList,String ,Record,Timer,File 和 Thread 对象。MenoryTestArea类的主要成员的作用将在后面的详细的设计中阐述。3: Block.javaBlock 类是 Jbutton 的子类,负责为 MenoryTest

6、Area 类中的ArrayList 数组表提供 Block 对象。4: Record.javaRecord类是javax.swing包中Jdialog对话框的子类,当用户成功单击出相 应的级别所要求的图标相同的方块后,Record创建的对象负责保存用户的名 字和成绩到相应的级别文件中。5: ShowRecordDialog.javaShowRecordDialog类javax.swing包中Jdialog对话框的子类,当用户单击 “查看排行榜”时,ShowRecordDialog创建负责显示用户的成绩。6: People.javaPeople对象圭寸装用户的名字和成绩,以便 ShowRecor

7、dDialog对象可以按成 绩的高低排序用户。4详细设计及实现4.1 操作界面设计*詡雨品.标单击出吕仆冋祥窗标M右块刚眄: 站乐匪m示导玮 mi痺riwEin; 站示点击运行,选择级别,图标游戏开始,如果用户不清楚相同图标的位置时, 点击提示。界面方案:窗 口大小 :setBounds(100,100,400,360);setVisible(true); 字体的大小和颜色hi nM essage.setFo nt(new Font( “宋体” ,Fo nt.BOLD,18);布局控制:又上到下,先是菜单:选择级别, 查看排行榜,选择图标;提示信息: hin tMessage.setText(

8、 “您需要用鼠标单击出” +col+ “个同样图标的方块”);图标随机排布,有M*N个方块随机分布,在下面是一记录用户时间的还有提示按 钮,提示用户相同图标的位置。4.2 类成员变量及方法设计(一) MemoryGam类1 :成员变量Bar是JmenuBar类创建的菜单条,可以向bar中添加菜单 menuGradeBa和 menulcon是Jmenu类创建的三个菜单,这三个菜单的 名称分别是“选择级别”,“查看排行榜”,“选择图标”。oneGradeltem,twoGradeltem 和 threeGradeltem 是 Jmenultem 类创建 的三个菜单项,被添加到 men uGrade

9、菜单中,这三个菜单项的名称分别 是“初级”,“中级”,“高级”。oneGradeResult,twoGradeResult 和 threeGradeResult 是 Jmenultem 类创建的三个菜单项,被添加到menuResult菜单中。这三个菜单项的名 称分别是“初级排行榜”,“中级排行榜”,“高级排行榜”。carlmagelcon 和 animallmagelcon 是 Jmenultem 类创建的两个菜单项, 被添加到menulcon菜单中。这两个菜单项的名称分别是“汽车图标”,“动物图标”file On eGrade ,fileTwoGrade ,filethreeGrade 和

10、gradeFile 是 File 类创建的四个文件对象。fileOneGrade ,fileTwoGrade和 filethreeGrade 三个文件对象所引用的文件分别是“初级排行榜.txt ”“中级排行榜.txt ”,“高级排行榜.txt ”,分别用来写入三个级别的 成绩。gradeFlie 可以是 fileOneGrade ,fileTwoGrade 和 filethreeGrade 中的某一个。imageName是 String类型的数组,每个单元是一个图像文件的名字。menoryArea是测试区对象,由 MenoryArea类负责创建。showDialog是负责显示成绩的对话框,由

11、ShowRecordDialog类负责创 建m和n是int型数据,其值可以确定相应级别中测试区中方块的数量, 例如,对于中级水平,m=6,n=7,测试区一共有42方块。2 :方法action Performed (Action Eve nt )方法是 Meno ryGam类实现的Acti on Liste ner 接口中的方法,负责执行菜单项发出的有关命令,。用户选择菜单中的菜单项可触发 ActionEvent事件,导致actionPerformed(ActionEvent )方法执行相应的操作。Me noryGam()是构造方法,负责完成窗口的初始化。ma in (Stri ng) 方法是软

12、件运行的入口方法。(二) MemoryTestArea 类1成员变量row和col的值确定测试区中方块的数量。MemoryTestArea类创建的对 象 memoryArea是 MemoryGam中 的成员,memoryArea对象通过调用 initBIock ( int,int ,String 【】,File )方法将 MemoryGam类中 m和n的值传递给row和col。usedTime是用户的用时单位是秒。success的值是用户找到的具有同样的图标的方块的个数gradeFiel 是级别文件,memoryArea对象通过调用 initBlock (int , int ,String 【

13、】,File )方法将 MemoryGam类中的 gradeFile 的引用 传递给MemoryGam类中的gradeFile 的引用传递给 memoryArea对象中 的 gradeFile数组表allBlockList 单元的个数是row和col的乘积,它的每个单元 存放着一个 Block 对象。memoryArea对象在调用 initBlock (int ,int , String【】,File )方法时完成对allBlockList 单元的初始化,即创 建单元中的Block对象。字符串数组imageFileName中的每个单元是一幅图像文件的名字。 memoryAreaX寸象通过调用

14、setlMageNam(String【】)方法将 MemoryGame 中存放图像文件名字的imageName数组的引用传递给imageFileName。链表openIconList用来存放用户找到图标相同的方块上的图标链表openBlockList用来存放用户找到图标相同的方块。hintThread是用Thread类创建的线程对象,用来提示测试区中的Block 上的图标,提示方式是将测试区中的各个 Block上图标持续显示1200 毫秒。hintButton 是注册了 ActionEvent事件的监视器,当单击它时,启动 hintThread 线程。showUsedTime显示用户的用时,即

15、显示 usedTime的值。hintMessage根据不同的级别显示相应的提示信息,如该级别需要用户寻找的相同图标方块的数目。timer是计时器,负责改变usedTime的值。record负责提供保存成绩的界面,是一个对话框,默认不可见。当用 户寻找出级别所要求的相同图标方块的数目后, 该对话框可见,用户可以在该对话框中输入姓名,并保存所输入的姓名和 usedTime的值到gradeFile指定的级别文件中。2方法MemoryTestArea ()是构造方法,创建 memoryArea对象时需使用该构 造方法。initBlock (int,int ,String 【】,File )方法。mem

16、oryArea对象调用该方法将参数的值传递给 row,col, imageFileName和gradeFile , 并依据这些值设置allBlockListList 数组表的大小,然后创建allBlockList 的单元中的Block对象,并设置Block对象上的图标。 setlmageName (String)方法。memoryArea对象调用该方法可以将 MemoryGam中的存放图像文件名字的imageNa m擞组的引用传递给 imageFileName。当用户单击 MemoryGam主类窗口的 carImageIcon 和 animalImageIcon菜单项时,memoryArea对

17、象将调用该方法把存放图 像文件名字的imageName数组的引用传递给imageFileName。actionPeformed (ActionEvent )方法。该方法是 MemoryARe类实现 的ActionListener 接口中的方法。memoryArea中的每个Block对象都 注册了 ActionEvent事件监听器,当用户单击 memoryArea中的某个 Block 对象时,actionPeformed (ActionEVent )方法将被调用执行, 所执行的主要操作是:如果该 Block对象未显示图标,并且该 Block 对象设置的图标和openIconList的中存放的图标

18、相同,就将该图标添 加到链表opemIconList中,同时将该Block对象上的图标显示出来, 并将success的值增1;如果该Block对象未显示图标,并且该Block 对象设置的图标和openIconList的中存放的图标不相同,就将openIconList清空,然后再将该图标添加到链表opemIconList中,同 时将该Block对象上的图标显示出来,并将 success的值设置成1.当用户单击 hintButton 按钮时,actionPefomed (ActionEVent )方法 将被调用执行,执行的主要操作是启动 hintThread线程。run ()方法。该方法是Memo

19、ryARe类实现的Runnable接口中的方法, 启动hintThread线程后,该方法将执行,其主要操作是将测试区中的 未显示图标的各个Block对象上的图标持续显示1200毫秒。(3)Blcok 类ope nStatelco n 是方块上的图标Block对象调用setOpenStatelcon (Imagelcon)方法可以设置它上面的 图标。Block对象调用getOpenStatelcon ()方法可以获得它上面的图标(4)ShowRecordDialog 类gradeFile是对话框要读取的文件,该文件存储成绩clear是注册了 ActionEVent事件的按钮。showArea文本

20、区显示对话框从gradeFile文件中读出的成绩treeSet负责将成绩按高低排序ShowRecordDialog ()是构造方法,负责创建 showDialog对象 setGradeFile (File )方法。ShowRecordDialog 类创建的 ShowRecordDialog对话框是主类 MemoryGami窗口中的一个成员。当用 户选择窗口上的“查看排行榜”菜单中的菜单项是, ShowRecordDialog对话框调用setGradeFile (File )方法将相应的级别文件传递给 gradeFile。showRecord ()方法。ShowRecordDialog对话框调用

21、该方法读取 gradeFile文件中的成绩,为了将成绩按高低顺序显示在showArea文本 区中,showRecord ()方法根据读取的名字和该名字的对应成绩,创建 一个People对象存放在treeSet数集中。action Performed (Acti on EVe nt ) 是 Zction Liste ner 接口中的方法,clear注册了 ActionEVent事件,当用户单击 clear按钮时, actio nPerform(Actio nEve nt) 方法被调用执行,所执行的操作是清除gradeFile 文件中的内容。(五)People 类n ame是用户的名字time是用

22、户的用时getTime ()方法返回 timegetName方法返回 namecompareTo(Object )是Comparable接口中的方法,其操作是确定 People对象的大小关系。(六)Record 类Time是用户的用时。yourName是用户用来输入名字的文本框。enter和cancel是按钮对象,用户单击 center按钮可以保存成绩,单击 cancel按钮可以放弃保存成绩。gradeFile是级别文件。Record ()是构造方法,负责创建 record对象。setGradeFile(File) 方法。Record 类创 建的 Record 对话框测试区 MemoryTes

23、tArea中的一个成员。当用户成功单击出相应级别所要求的图标相 同的方块后,测试区弹出Record对话框,Record对话框将调用 setGradeFile(File) 方法将测试区中的级别文件传递给 Record对话框中的gradeFile。setTime(i nt)方法。当用户成功单击出相应级别所要求的图标相同的方块后,测试区弹出Record对话框,Record对话框将调用setTime(int)方法将 测试区记录的用户用时传递个 Record对话框中的time。actionPerformed(ActionEvent) 是 ActionListener 接口中的方法,enter 和canc

24、el 按钮注册了 ActionEvent 事件,当用 户单击 enter 时, actio nPerformed(Actio nEve nt) 方法别提调用执行,其操作时将用户在文本框youName中输入的名字以及time的只保存到gradeFile 文件中,然后关 闭当前对话框;当用户单击cancer按钮时,actionPerformed(ActionEvent) 方法别调用执行,其操作及时关闭当前对话框。4.3源代码分析MemoryGameimport javax.swi ng.*;import java.awt.*;import java.awt.eve nt.*;import java

25、.io.*;import java. net.MalformedURLExceptio n;import java.util.L in kedList;public class MemoryGame exte nds JFrame impleme nts Action Liste ner JMe nuBar bar;/ 创建菜单条JMe nu menu Grade,me nuResult,me nulcon;JMe nultem on eGradeltem,twoGradeltem,threeGradeltem; JMe nultem on eGradeResult,twoGradeResul

26、t,threeGradeResult;JMe nultem carlmagelco n,ani mallmagelco n,lm Imagelco n;File file On eGrade,fileTwoGrade,fileThreeGrade,gradeFile; Stri ng imageName;MemoryTestArea memoryArea;/ 定义 MemoryTestArea 对象 ShowRecordDialog showDiolag=null;/ 显示成绩对话框int m=5,n=6;图片的个数final int imageNumber=7; /MemoryGame()

27、throws MalformedURLExcepti on添加事件监听器an imallmagelc on .addActio nListe ner(this);/ carlmagelcon .addActio nListe ner(this); lmImageIcon .addActio nListe ner(this); menuicon. add(carlmagelc on); menuicon. add(a ni mallmagelc on); men ulc on .add(lmlmagelco n); bar.add(me nu Grade); bar.add(me nuResul

28、t); bar.add(me nulcon);setJMe nuBar(bar);/ 设置菜单on eGradeltem.addActio nListe ner(this); twoGradeltem.addActio nListe ner(this); threeGradeltem.addActio nListe ner(this); on eGradeResult.addAct ion Liste ner(this); twoGradeResult.addActio nListe ner(this); threeGradeResult.addActio nListe ner(this);

29、if(!fileO neGrade.exists()try file On eGrade.createNewFile(); catch(IOExcepti on exp) if(!fileTwoGrade.exists() try fileTwoGrade.createNewFile(); catch(lOExcepti on exp)fileThreeGrade.exists() try fileThreeGrade.createNewFile();setBou nds(100,100,400,360); setVisible(true);memoryArea=new MemoryTestArea(); imageName=new Strin gimageNumber;for(i nt i=0;iimageName .len gth;i+) imageNamei=new Stri ng(car+i+.jpg); m=5; n=6; gradeFile=file On eGrade; memoryArea.i nitBlock( m,n ,imageName,gradeFile); add(memoryArea,BorderLayout.CENTER); showDiolag=new Show

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1