记忆测试系统(7)

2019-07-13 19:26

//将组件”南“增加到南边区域 add(south,BorderLayout.SOUTH);

//将组件“hintMessage文本框”增加到北边区域 add(hintMessage,BorderLayout.NORTH); //每隔1000毫秒监视器给计时器计时一次 timer=new javax.swing.Timer(1000,this); //新建”保存成绩“对话框对象,默认对话框不可见 record=new Record(); }

//传递参数给row row=m;

//传递参数给col col=n;

//传递参数给gradeFile gradeFile=f; //去掉容器中的组件 center.removeAll(); //传递参数给imageFileName imageFileName=name; //定义图标

ImageIcon icon[]=new ImageIcon[imageFileName.length]; //载入图片

for(int i=0;i

icon[i]=new ImageIcon(imageFileName[i]); }

public void initBlock(int m,int n,String name[],File f){

if(allBlockList.isEmpty()){//判断数组表allBlockList的每个单元

for(int i=0;i

//清空数组表allBlockList

//给数组表allBlockList的每个单元中增加一个Block对象 allBlockList.add(new Block()); }

是否有一个Block对象

else{

26

allBlockList.clear();

//重新给数组表allBlockList的每个单元中增加一个Block对象 for(int i=0;i

//让数组表allBlockList的每个单元注册监视器 allBlockList.get(i).addActionListener(this); //获得每个单元上面的图标

allBlockList.get(i).setOpenStateIcon(icon[i%row]); }

allBlockList.add(new Block()); }

for(int i=0;i

Collections.shuffle(allBlockList);//随机排列数组表//将组件“center”设置为行为“row”,列为“col”的GridLayout布center.setLayout(new GridLayout(row,col)); for(int i=0;i

//将数组表allBlockList中的每个单元添加到“center”组件中 center.add(allBlockList.get(i)); }

allBlockList的每个单元

//将组件“center”添加到BorderLayout的中心区域 add(center,BorderLayout.CENTER); if(timer.isRunning()){//如果计时器在运行

timer.stop();//让计时器停止 }

//在组件“hintMessage文本框”添加文本\您需要用鼠标单击出+col+hintMessage.setText(\您需要用鼠标单击出\个同样图标的方块//用户用时初始化为0 usedTime=0;

//显示用户同时(usedTime的值)初始化为空 showUsedTime.setText(null);

//添加组件“center”后,让容器调用validate()方法,保证容器中的

个同样图标的方块\\

27

组件能正常显示 象

ImageIcon openStateIcon=block.getOpenStateIcon();//从Blockblock.setIcon(openStateIcon);//设定block的当前图标为上面取

if(openIconList.size()==0) {//如果打开图标列表为空

openIconList.add(openStateIcon);//将刚才的图标加入打开openBlockList.add(block);//将激发事件的对象追加到打开的success=1;//用户找到的具有同样的图标的方块的个数置1 }

对象block中取出打开的状态图标 出来的状态图标

validate(); }

//当用户单击MemoryGame主类窗口的cartImageIcon和animalImageIcon//将MemoryGame中存放图像文件名字的imageName数组的引用传递给public void setImageName(String name[]){

imageFileName=name; }

//如果事件源是Block类的实例

if(e.getSource() instanceof Block){//如果事件源是Block类的按钮

if(!timer.isRunning())//如果计时器没工作

timer.start();//启动计时器

Block block=(Block)e.getSource();//从事件e中取出源block对

菜单项时 imageFileName

public void actionPerformed(ActionEvent e){

图标列表 块列表

else{//如果打开图标列表为不为空

ImageIcon temp=openIconList.getLast();//用户当前打开的

图片图标

28

//判断用户当前打开的图片图标和已经打开的图标是否相同

if(temp==openStateIcon&&!(openBlockList.contains(block))){

}

//用户当前打开的图片图标和已经打开的图标不相同 else

//用户找到的具有同样的图标的方块的个数加1 success=success+1;

//将打开状态下的图标添加到打开图标列表 openIconList.add(openStateIcon); openBlockList.add(block);

//判断用户找到的具有同样的图标的方块的个数是否等于if(success==col){//测试结束

for(int i=0;i

//让数组表allBlockList的每个单元的Block对象allBlockList.get(i).setEnabled(false); }

Block b=openBlockList.get(j);

//让openBlockList的每个单元的Block对象变灰b.setDisabledIcon(b.getOpenStateIcon()); }

列数

变灰(不可点击)

for(int j=0;j

(不可点击)

//让计时器停止 timer.stop();

//将用户用时传递给Record对话框 record.setTime(usedTime);

//将级别文件gradeFile传递给Record对话框 record.setGradeFile(gradeFile); //让Record对话框可见 record.setVisible(true); }

29

if((temp!=openStateIcon)&&(!(openBlockList.contains(block)))){

}

}

//清空链表openIconList用来存放用户找到的图标相同的openIconList.clear();

//清空链表openBlockList用来存放用户找到的图标相同的openBlockList.clear();

//将用户点击的图标添加到链表openIconList openIconList.add(openStateIcon);

//将用户点击的图标添加到链表openBlockList openBlockList.add(block);

//用户找到的具有同样的图标的方块的个数置1 success=1;

//遍历所有测试区图标

for(int i=0;i

//判断测试区的每一个图标是否没有 if(allBlockList.get(i)!=block)

//设置图标为空

allBlockList.get(i).setIcon(null);

方块上的图标

方块

}

}

//如果事件源是按钮hintButton(“提示”) if(e.getSource()==hintButton){

//判断线程hintThead没运行 if(!hintThead.isAlive())

//创建线程hintThead hintThead=new Thread(this);

//遍历所有测试区图标

for(int i=0;i

//将测试区的每一个图标移除监视器

allBlockList.get(i).removeActionListener(this);

//用户用时加10

30


记忆测试系统(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:四年级综合实践活动《关爱身边的植物》主题教学设计201803 - 图

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: