JAVA实现走迷宫

上传人:飞****9 文档编号:143100174 上传时间:2020-08-26 格式:DOC 页数:24 大小:233.50KB
返回 下载 相关 举报
JAVA实现走迷宫_第1页
第1页 / 共24页
JAVA实现走迷宫_第2页
第2页 / 共24页
JAVA实现走迷宫_第3页
第3页 / 共24页
JAVA实现走迷宫_第4页
第4页 / 共24页
JAVA实现走迷宫_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《JAVA实现走迷宫》由会员分享,可在线阅读,更多相关《JAVA实现走迷宫(24页珍藏版)》请在金锄头文库上搜索。

1、/MazeWindow 主类import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.Hashtable;import javax.swing.filechooser.*;public class MazeWindow extends JFrame implements ActionListener Maze maze; JMenuBar bar;/声明菜单条对象 JMenu menuChoice,menuImage,hero;/声明菜单对象 JMenuIte

2、m wallImage,roadImage,defaultImage,playerImage1,heroItem,heroclear;/声明菜单项对象 File mazeFile,wallImageFile,roadImageFile; JButton renew;/声明按钮对象 String player=person.gif; ShowRecord showRecord; /ShowRecord类 创建一个类对象 File 英雄榜=new File(英雄榜.txt); File file=null; static String mazeName; static String current

3、Map; Hashtable hashtable=null; /哈希表 MazeWindow() wallImageFile=new File(wall.gif); roadImageFile=new File(road.jpg); bar=new JMenuBar();/创建菜单条对象 menuChoice=new JMenu(选择迷宫); File dir=new File(.); file=dir.listFiles(new FilenameFilter() public boolean accept(File dir,String name) return name.endsWith(

4、maze); ); mazeName=new Stringfile.length; for(int i=0;i file.length;i+) mazeNamei=filei.getName().substring(0, filei.getName().length()-5);/substring(截取的起始位置,截取的长度); for(int i=0;i mazeName.length;i+) JMenuItem item=new JMenuItem(mazeNamei); item.addActionListener(this); menuChoice.add(item); mazeFil

5、e=new File(file0.getName(); currentMap=mazeName0; init(); menuImage=new JMenu(选择墙和路的图像); wallImage=new JMenuItem(墙的图像);/创建菜单项对象 roadImage=new JMenuItem(路的图像); playerImage1=new JMenuItem(玩家图像); defaultImage=new JMenuItem(墙和路的默认图像); menuImage.add(wallImage);/菜单项添加到菜单上,如图3-5 menuImage.add(roadImage);me

6、nuImage.add(playerImage1); menuImage.add(defaultImage); hero=new JMenu(英雄榜); heroItem=new JMenuItem(查看英雄榜);heroclear=new JMenuItem(清空英雄榜);hero.add(heroItem);hero.add(heroclear); bar.add(menuChoice); bar.add(menuImage);/菜单添加到菜单条上,如图3-5bar.add(hero); setJMenuBar(bar); wallImage.addActionListener(this)

7、;/为菜单项添加监听器 roadImage.addActionListener(this); playerImage1.addActionListener(this); defaultImage.addActionListener(this); heroItem.addActionListener(this); heroclear.addActionListener(this); renew=new JButton(new ImageIcon(龙珠.gif);/为“重新开始”按钮添加监听器 Font font=new Font(楷体,Font.BOLD,30); renew.setFont(f

8、ont); renew.setVerticalAlignment(SwingConstants.TOP); renew.addActionListener(this); add(maze,BorderLayout.CENTER);/默认布局,如图3-7 add(renew,BorderLayout.SOUTH); hashtable=new Hashtable(); for(int i=0;ifile.length;i+) hashtable.put(mazeNamei+1,mazeNamei+#+100+#匿名1); hashtable.put(mazeNamei+2,mazeNamei+#

9、+100+#匿名2); hashtable.put(mazeNamei+3,mazeNamei+#+100+#匿名3); if(!英雄榜.exists() /英雄榜是File类对象; boolean exists() 测试此抽象路径名表示的文件或目录是否存在。 try FileOutputStream out=new FileOutputStream(英雄榜); ObjectOutputStream objectOut=new ObjectOutputStream(out); objectOut.writeObject(hashtable); /void writeObject(Object

10、obj) 将指定的对象写入 ObjectOutputStream。 objectOut.close(); /void close() 关闭流。 out.close(); /java.io 类 FileOutputStrea的方法 void close() 关闭此文件输出流并释放与此流有关的所有系统资源。 catch(IOException e) showRecord =new ShowRecord(this,mazeName.length); setVisible(true); setBounds(60,60,1012,890); validate(); setDefaultCloseOper

11、ation(JFrame.EXIT_ON_CLOSE);/*EXIT_ON_CLOSE:退出应用程序后的默认窗口关闭操作*/ public void init() if(maze!=null) remove(maze); remove(maze.getHandleMove(); maze=new Maze(); maze.setWallImage(wallImageFile); maze.setRoadImage(roadImageFile); maze.setMazeFile(mazeFile); maze.person.setImage(player); add(maze,BorderLa

12、yout.CENTER); add(maze.getHandleMove(),BorderLayout.NORTH); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=roadImage) JFileChooser chooser=new JFileChooser();/文件对话框 FileNameExtensionFilter filter=new FileNameExtensionFilter( JPG&GIF Images,jpg,gif); chooser.setFileFilter(filter); int state=chooser.showOpenDialog(null); File file=chooser.getSelectedFile(); if(file!=null&state=JFileChooser.APPROVE_OPTION) roadImageFile=file; maze.setRoadImage(roadImageFile)

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

当前位置:首页 > IT计算机/网络 > 其它相关文档

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