java记忆教学教案系统.doc





《java记忆教学教案系统.doc》由会员分享,可在线阅读,更多相关《java记忆教学教案系统.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/盐城工学院Java语言与面向对象课程设计报告(2014年秋学期) 记忆测试系统学 院: 专业班级: 姓 名: 学 号: 指导教师: 张永平 2015年 1 月 24 日目录1. 题目简介12. 设计的内容、要求和目标 23. 总体设计44. 详细设计75. 运行调试76. 总结7 附录 21一、 题目简介 记忆测试系统通过回忆法测试记忆能力测试手段分为初级中级高级三个级别。 二、 设计的内容、要求和目标 我设计的记忆测试系统除了要编写的6个java文件所给的类外还需在添加一些功能如添加图标改进测试条件添加音乐功能使程序有翻开相同的图标是播放一段音乐同时播放另一段音乐等。列出菜单有选择级别选择
2、图标成绩记忆榜在菜单下有M*N个图标随机分布点击一个图标被保存下来点击下一个图标时与上一个图标比图标相同而方块不同则success加1反之则不变当点击六个相同的图标时记录所需的时间保存在成绩记忆排行榜中点击成绩排行榜可登陆成绩且会给成绩排行由高到低。设计要求如下: 1.单击“选择级别”菜单可以选择初级中级高级。 2.单击“查看排行榜”菜单可以查看记忆榜通过记忆榜存储每个级别的成绩。 3.选择级别后将出项相应级别的测试区。测试区由M*N个方块组成程序通过设置M和N的值来确定相应的测试级别例如对于初级级别M=5N=6.每个方块上都有一个图标但该图标默认不可见。用鼠标当即测试区中的任何一个方块则计时
3、器开始启动同时该方块上的图标将显示出来。 4. M*N个方块组成的测试区中有M个图标每个图标重复出现N次并且随机分布在测试区中的M*N个方块上。用户必须用鼠标连续单击出N个图标相同的方块也就是说如果用户已经用鼠标连续单击出P个图标相同的方块当再单击另一个方块时如果该方块的图标和上一个的相同那么该方块的图标和前P次单击出的方块的图标仍然可见否则前P次单击出的方块的图标全都变得不可见只有当前单击的方块的图标可见。 5. 测试区能显示用户的用时并根据级别的不同提示用户必须用鼠标连续单击出多少个图标相同的方块。 6. 测试区有提示图标所在位置的功能。用户单击测试区中的“提示”按钮后测试区将持续1.2秒
4、为用户显示全部方块上的图标。用户每单击一次“提示”按钮用户的用时将增加10秒。 7. 连续单击出级别所要求的若干个图标相同的方块后将弹出保存成绩的对话框用户可以通过该对话框选择是否将自己的成绩保存到成绩表中。 8. 单击“选择图标”菜单可重新选择方块的图标样式即可以重新选择M个图标。设计目标可以选择级别图标当用户游戏结束后可以选择是否保存成绩连续点击六个相同的图标可见连续相同的图标播放一段音乐同播放另一段音乐。当用户不清楚相同图标的位置时可以按“提示”按钮将会对用户进行提示信息。设计目标:可以选择级别图标当用户游戏结束后可以选择是否保存成绩连续点击六个相同的图标可见连续相同的图标播放一段音乐不
5、同播放另一段音乐。当用户不清楚相同图标的位置时可以按“提示”按将会对用户进行提示信息。三、总体设计 测试系统中可以编写6个java源文件MenoryGame.java,MenoryTestArea.java,Block,java,People.java,Record.java和ShowRecordDialog.java。 记忆测试系统除了上述7个Java源文件产生的类外还需要Java系统提供的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系如图1所示。 图1以下是六个源文件的总体设计 1.MenoryGame类 责创建记忆测试系统的主窗口该类含有main方法记忆测试系统从该类开
6、始执行。MenoryGame类有四种重要类型的对象分别是String,Flie,MenoryTestArea和ShowRecordDialog对象。MenoryGame类创建的窗口对象以及其中的主要成员对象。MenoryGame类的主要成员的作用将在后面的详细设计中阐述。2.MenoryTestArea.java MenoryTestArea类是主类MenoryGame窗口中的一个Jpanel容器所创建的对象称为测试区这个测试区被添加到MenoryGame窗口的中心。MenoryTestArea类主要有六个种类型的成员ArrayList,String ,Record,Timer,File和Th
7、read对象MenoryTestArea类的主要成员的作用将在后面的详细的设计中阐述。3.Block.java Block类是Jbutton的子类负责为MenoryTestArea类中ArrayList数组表提供Block对象。4.Record.java Record类是javax.swing包中Jdialog对话框的子类当用户成功单击出相应的级别所要求的图标相同的方块后Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。5.ShowRecordDialog.java ShowRecordDialog类javax.swing包中Jdialog对话框的子类当用户单击“查看排行榜”时
8、ShowRecordDialog创建负责显示用户的成绩。6.People.java People对象封装用户的名字和成绩以便ShowRecordDialog对象可以按成绩的高低排序用户。四 详细设计4.1 操作界面设计如图2所示: 图24.2类成员变量及方法设计:(一)MemoryGame类 成员变量: Bar是JmenuBar类创建的菜单条可以向bar中添加菜单。menuGradeBar和menuIcon是Jmenu类创建的三个菜单这三个菜单的名称分别是“选择级“查看排行榜”“选择图标”。oneGradeItemtwoGradeItem和threeGradeItem是JmenuItem类创建
9、的三个菜单项被添加到menuGrade菜单中这三个菜单项的名称分别是“初级”“中级”“高级”。oneGradeResulttwoGradeResult和threeGradeResult是JmenuItem类创建的三个菜单项被添加到menuResult菜单中。这三个菜单项的名称分别是“初级排行榜”“中级排行榜”“高级排行榜”。carImageIcon和animalImageIcon是JmenuItem类创建的两个菜单项被添加到menuIcon菜单中。这两个菜单项的名称分别是“汽车图标”“动物图标”。fileOneGradefileTwoGradefilethreeGrade和gradeFile是
10、File类创建的四个文件对象。fileOneGradeileTwoGrade和filethreeGrade三个文件对象所引用的文件分别是“初级排行榜.txt”,“中级排行榜.txt”“高级排行榜.txt”分别用来写入三个级别的成绩。gradeFlie可以是fileOneGradefileTwoGrade和filethreeGrade中的某一个。imageName是String类型的数组每个单元是一个图像文件的名字。 menoryArea是测试区对象由MenoryArea类负责创建。 showDialog是负责显示成绩的对话框由ShowRecordDialog类负责创建 m和n是int型数据其值
11、可以确定相应级别中测试区中方块的数量例如对于中级水平m=6,n=7,测试区一共有42方块。 方法: actionPerformed(ActionEvent)方法是MenoryGame类实现的ActionListener接口中的方法负责执行菜单项发出的有关命令。用户选择菜单中的菜单项可触发ActionEvent事件导致actionPerformed(ActionEvent)方法执行相应的操作。 MenoryGame()是构造方法负责完成窗口的初始化。main(String)方法是软件运行的入口方法。(二)MemoryTestArea类成员变量: row和col的值确定测试区中方块的数量。Memo
12、ryTestArea类创建的对象memoryArea是MemoryGame中的成员memoryArea对象通过调用initBlock(int,int,String,File)方法将MemoryGame类中m和n的值传递给row和col。 usedTime是用户的用时单位是秒。success的值是用户找到的具有同样的图标的方块的个数 gradeFiel是级别文件memoryArea对象通过调用initBlock(int,int,String,Fil)方法将MemoryGame类中的gradeFile的引用传递给MemoryGame类中的gradeFile的引用传递给memoryArea对象中的g
13、radeFile。 数组表allBlockList单元的个数是row和col的乘积它的每个单元存放着一个Block对象。memoryArea对象在调用initBlock(int,int,String,File)方法时完成对 allBlockList单元的初始化,即创建单元中的Block对象。字符串数组imageFileName中的每个单元是一幅图像文件的名字。memoryArea对象通过调用setIMageName(String)方法将MemoryGame中存放图像文件名字的imageName数组的引用传递给imageFileName。 链表openIconList用来存放用户找到图标相同的方
14、块上的图标 。链表openBlockList用来存放用户找到图标相同的方块。 hintThread是用Thread类创建的线程对象用来提示测试区中的Block上的图标提示方式是将测试区中的各个Block上图标持续显示1200毫秒。 hintButton是注册ActionEvent事件的监视器,当单击它时启动hintThread线程。showUsedTime显示用户的用时即显示usedTime的值。 hintMessage根据不同的级别显示相应的提示信息.如该级别需要用户寻找的相同图标方块的数目。timer是计时器负责改变usedTime的值。 record负责提供保存成绩的界是一个对话框默认不
15、可见。当用户寻找出级别所要求的相同图标方块的数目后该对话框可见用户可以在该对话框中输入姓名并保存所输入的姓名和 usedTime的值到gradeFile指定的级别文件中。 方法: MemoryTestArea是构造方法创建memoryArea对象时需使用该构造方法。 initBlock(int,int,StringFile)方法。memoryArea对象调用该方法将参数的值传递给row,colimageFileName和gradeFile并依据这些值设置allBlockListList数组表的大小然后创建allBlockList的单元中的Block对象并设置Block对象上的图标。 setIm
16、ageName(String)方法。memoryArea对象调用该方法可以将MemoryGame中的存放图像文件名字的imageName数组的引用传递给imageFileName。当用户单击MemoryGame主类窗口的carImageIcon和animalImageIcon菜单项时memoryArea对象将调用该方法把存放图像文件名字的imageName数组的引用传递给imageFileName。ionPerformed(ActionEvent)方法。该方法是MemoryARea类实现的ActionListener接口中的方法。memoryArea中的每个Block对象都注册了ActionE
17、vent事件监听器当用户单击memoryArea中的某个Block对象时actionPerformed(ActionEVent)方法将被调用执行所执行的主要操作是如果该Block看对象未显示图标并且该Block对象设置的图标和openIconList的中存放的图标相同就将该图标添加到链表opemIconList中同时将该Block对象上的图标显示出来并将success的值增1如果该Block对象未显示图标并且该Block对象设置的图标和openIconList的中存放的图标不相同就将openIconList清空然后再将该图标添加到链表opemIconList中同时将该Block对象上的图标显示
18、出来并将success的值设置成1.当用户单击hintButton按钮时actionPerfomed(ActionEVent)方法将被调用执行执行的主要操作是启动hintThread线程。(三)Blcok类 成员变量 : openStateIcon是方块上的图标 方法: Block对象调用setOpenStateIcon(ImageIcon)方法可以设置它上面的图标。 Block对象调用getOpenStateIcon()方法可以获得它上面的图标 (四)ShowRecordDialog类 ShowRecorDialog效果图如图3所示: 图3成员变量 : gradeFile是对话框要读取的文件
19、该文件存储成绩 。 clear是注册了ActionEVent事件的按钮。 showArea文本区显示对话框从gradeFile文件中读出的成绩。 treeSet负责将成绩按高低排序。方法:ShowRecordDialog()是构造方法负责创建showDialog对象 setGradeFile(File)方法。ShowRecordDialog类创建的ShowRecordDialog对话框是主类MemoryGame窗口中的一个成员。当用户选择窗口上的“查看排行榜”菜单中的菜单项是ShowRecordDialog对话框调用setGradeFile(File)方法将相应的级别文件传递给gradeFil
20、e。 showRecord()方法。ShowRecordDialog对话框调用该方法读取gradeFile文件中的成绩为了将成绩按高低顺序显示在showArea()文本区中showRecord方法根据读取的名字和该名字的对应成绩创建一个People对象存放在treeSet数集中。 actionPerformed(ActionEVent)是ZctionListener接口中的方clear注册了ActionEVent事件当用户单击clear按钮时actionPerform(ActionEvent)方法被调用执行所执行的操作是清除gradeFile文件中的内容。(五)People类成员变量:name
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 记忆 教学 教案 系统

限制150内