1需求与总体设计
1.1需求分析
记忆测试系统是通过回忆法测试记忆能力,测试手段分为初级、中级和高级 三个级别,使用该系统以达到测试和锻炼记忆能力的目的。使用File技术保存用户信息,同时保存每个用户的不同等级的成绩
1.1.1功能结构图
记忆测试系统的功能结构图如图1.1所示。
在记忆测试系统中,编写6个Java类:MemoryGame.java、MemoryTestArea.java、Block.java、ShowRecordDialog.java、Record.java、People.java
记忆测试系统窗口及测试区测试级别级别记忆排行榜图标选择初级中级高级汽车图标初级记忆排行榜中级记忆排行榜高级记忆排行榜动物图标 图1.1 功能结构图
1
1.1.2 UML类图
记忆测试系统除了上述6个Java类外,还需要Java系统提供的一些重要的类。记忆测试系统所用到的一些重要的类以及之间的组合关系如图1.2所示。
图1.2 类之间的组合关系
1.2总体设计模块 1.2.1 MemoryGame主类
MemoryGame.java类负责创建记忆测试系统的主窗口,该类含有main方法,记忆测试系统从该类开始执行。MemoryGame类有四种重要类型的对象,分别是String、File、MemoryTestArea和ShowRecordDialog对象。
2
1.2.2 MemoryTestArea类
MemoryTestArea类是主类MemoryGame窗口中的一个JPanel容器,所创见的对象称为“测试区”,这个“测试区”别添加到MemoryGame窗口的中心。MemoryTestArea类主要有6种类型的成员:ArrayList
1.2.3 Block类
Block类是Jbubtton的子类,负责为MemoryTestArea类中的ArrayList
1.2.4 Record类
Record类是javax.swing包中Jdialog对话框的子类,当用户成功单击出相应级别所要求的图表相同的方块后,Record创建的对象负责保存用户的名字和成绩到相应的级别文件中。
1.2.5 ShowRecordDialog类
ShowRecordDialog类是java.swing包中JDialog对话框的子类,当用户单击“查看排行榜”时,ShowRecordDialog创建的对象显示用户的成绩。
1.2.6 People类
People对象封装用户的名字和成绩,以便ShowRecordDialog对象可以按成绩的高低排序用户。
1.2.7 图像文件
创建图标对象需如下两组图片:
(1)car0.jpg、car1.jpg、car2.jpg、car3.jpg、car4.jpg、car5.jpg、car6.jpg、car7.jpg
(2)ani0.jpg、ani1.jpg、ani2.jpg、ani3.jpg、ani4.jpg、ani5.jpg、ani6.jpg ani7.jpg
3
2详细设计
操作界面设计:
编译运行,选择级别,图标游戏开始,如果用户不清楚相同图标的位置时,点击提示。
界面方案:窗口大小:setBounds(100,100,400,360);setVisible(true); 字体的大小和颜色:hinMessage.setFont(new Font(“宋体”,Font.BOLD,18)); 布局控制:又上到下,先是菜单:选择级别,查看排行榜,选择图标; 提示信息:hintMessage.setText(“您需要用鼠标单击出” +col+“个同样图标的方块” );
图标随机排布,有M×N个方块随机分布,下面是一记录用户时间以及提示按钮,提示用户相同图标的位置。 程序流程图如图2.1所示:
4
开始界面Y用户点击测试区?N“运行记忆测试系统”菜单条查看排行榜?弹出“保存成绩”对话框YN级别?N选择图标?调用方法打开用户指定的排行榜YY重新构造界面关闭结束
图2.1 程序流程图
2.1 MemoryGame主类
MemoryGame创建窗口如图2.2所示
5