中国象棋打谱软件.doc

上传人:博****1 文档编号:558756503 上传时间:2023-02-13 格式:DOC 页数:32 大小:209.01KB
返回 下载 相关 举报
中国象棋打谱软件.doc_第1页
第1页 / 共32页
中国象棋打谱软件.doc_第2页
第2页 / 共32页
中国象棋打谱软件.doc_第3页
第3页 / 共32页
中国象棋打谱软件.doc_第4页
第4页 / 共32页
中国象棋打谱软件.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《中国象棋打谱软件.doc》由会员分享,可在线阅读,更多相关《中国象棋打谱软件.doc(32页珍藏版)》请在金锄头文库上搜索。

1、皖西学院计算机科学与技术系实 验 报 告课程名称中国象棋打谱软件实验项目应用系统的面向对象设计与分析实验类型综合性实验完成人所在班级计科1003班指导教师苏守宝 教授完成日期2011年12月21日2实验报告正文一实验报告简表实验课题名称中国象棋打谱软件综合性实验项目应用系统的面向对象设计与分析服务课程面向对象设计与分析实验小组组长指导教师苏守宝 教授参与实验人员及其在实验课题中承担的主要任务(包括组长)学 号小组成员姓名班 级在实验课题中的主要作用计科1003组长计科1003组员计科1003组员二设计内容与要求三总体设计,包括需求分析、功能描述、设计工具与运行环境、类及类间关系描述等四详细设计

2、,包括类图及代码等五实例运行及应用效果,包括测试数据、界面、输出结果与分析等六体会与总结,包括对所用知识点和关键方法的综合认识(注意:要求交纸质实验报告,同时将实验报告.doc、小组答辩.ppt及程序代码压缩email提交)Chess.javaimport javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.LinkedList;public class Chess extends JFrame implements ActionListener ChessBoard

3、 board=null; Demon demon=null; MakeChessManual record=null; Container con=null; JMenuBar bar; JMenu fileMenu; JMenuItem 制作棋谱,保存棋谱,演示棋谱; JFileChooser fileChooser=null; LinkedList 棋谱=null; public Chess() bar=new JMenuBar(); fileMenu=new JMenu(中国象棋); 制作棋谱=new JMenuItem(制作棋谱); 保存棋谱=new JMenuItem(保存棋谱);

4、演示棋谱=new JMenuItem(演示棋谱); fileMenu.add(制作棋谱); fileMenu.add(保存棋谱); fileMenu.add(演示棋谱); bar.add(fileMenu); setJMenuBar(bar); setTitle(制作棋谱.getText(); 制作棋谱.addActionListener(this); 保存棋谱.addActionListener(this); 演示棋谱.addActionListener(this); board=new ChessBoard(45,45,9,10); record=board.record; con=get

5、ContentPane(); JSplitPane split=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,board,record); split.setDividerSize(5); split.setDividerLocation(460); con.add(split,BorderLayout.CENTER); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); setVisible(true

6、); setBounds(60,20,670,540); fileChooser=new JFileChooser(); con.validate(); validate(); public void actionPerformed(ActionEvent e) if(e.getSource()=制作棋谱) con.removeAll(); 保存棋谱.setEnabled(true); this.setTitle(制作棋谱.getText(); board=new ChessBoard(45,45,9,10); record=board.record; JSplitPane split=new

7、 JSplitPane(JSplitPane.HORIZONTAL_SPLIT,true,board,record); split.setDividerSize(5); split.setDividerLocation(460); con.add(split,BorderLayout.CENTER); validate(); if(e.getSource()=保存棋谱) int state=fileChooser.showSaveDialog(null); File saveFile =fileChooser.getSelectedFile(); if(saveFile!=null&state

8、=JFileChooser.APPROVE_OPTION) try FileOutputStream outOne=new FileOutputStream(saveFile); ObjectOutputStream outTwo=new ObjectOutputStream(outOne); outTwo.writeObject(record.获取棋谱() ; outOne.close(); outTwo.close(); catch(IOException event) if(e.getSource()=演示棋谱) con.removeAll(); con.repaint(); con.v

9、alidate(); validate(); 保存棋谱.setEnabled(false); int state=fileChooser.showOpenDialog(null); File openFile =fileChooser.getSelectedFile(); if(openFile!=null&state=JFileChooser.APPROVE_OPTION) try FileInputStream inOne=new FileInputStream(openFile); ObjectInputStream inTwo=new ObjectInputStream(inOne);

10、 棋谱=(LinkedList)inTwo.readObject() ; inOne.close(); inTwo.close(); ChessBoard board=new ChessBoard(45,45,9,10); demon=new Demon(board); demon.set棋谱(棋谱); con.add(demon,BorderLayout.CENTER); con.validate(); validate(); this.setTitle(演示棋谱.getText()+:+openFile); catch(Exception event) JLabel label=new JLabel(不是棋谱文件); label.setFont(new Font(隶书,Font.BOLD,60); label.setForeground(Color.red); label.setHorizontalAlignment(SwingConstants.CENTER); con.add(label,BorderLayout.CENTER); con.validate(); this.setTitle(没有打开棋谱); validate(); else JLabel label=new JLabel(没

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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