欢迎来到天天文库
浏览记录
ID:34723766
大小:75.86 KB
页数:53页
时间:2019-03-10
《java中国象棋代码(单机版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、/中国象棋Java版V3.0作者源文件:Chess.java最后修改时间:2005-8-20添加功能:实现了当前棋局的保存/importjava.awt.;importjava.awt.event.;importjavax.swing.;importjava.util.;importjava.io.;//主类publicclassChess{publicstaticvoidmain(Stringargs[]){newChessMainFrame("中国象棋:观棋不语真君子,棋死无悔大丈夫");}}//主框架类
2、classChessMainFrameextendsJFrameimplementsActionListener,MouseListener,Runnable{//玩家JLabelplay[]=newJLabel[32];//棋盘JLabelimage;//窗格Containercon;//工具栏JToolBarjmain;//重新开始JButtonanew;//悔棋JButtonrepent;//退出JButtonexit;//当前信息JLabeltext;//保存当前操作VectorVar;//规则类对象
3、(使于调用方法)ChessRulerule;/单击棋子chessManClick=true闪烁棋子并给线程响应chessManClick=false吃棋子停止闪烁并给线程响应/booleanchessManClick;/控制玩家走棋chessPlayClick=1黑棋走棋chessPlayClick=2红棋走棋默认红棋chessPlayClick=3双方都不能走棋/intchessPlayClick=2;//控制棋子闪烁的线程Threadtmain;//把第一次的单击棋子给线程响应staticintMan,i
4、;ChessMainFrame(){newChessMainFrame("中国象棋");}/构造函数初始化图形用户界面/ChessMainFrame(StringTitle){//获行客格引用con=this.getContentPane();con.setLayout(null);//实例化规则类rule=newChessRule();Var=newVector();//创建工具栏jmain=newJToolBar();text=newJLabel("欢迎使用象棋对弈系统");//当鼠标放上显示信息text
5、.setToolTipText("信息提示");anew=newJButton("新游戏");anew.setToolTipText("重新开始新的一局");exit=newJButton("退出");exit.setToolTipText("退出象棋程序程序");repent=newJButton("悔棋");repent.setToolTipText("返回到上次走棋的位置");//把组件添加到工具栏jmain.setLayout(newGridLayout(0,4));jmain.add(anew);j
6、main.add(repent);jmain.add(exit);jmain.add(text);jmain.setBounds(0,0,558,30);con.add(jmain);//添加棋子标签drawChessMan();//注册按扭监听anew.addActionListener(this);repent.addActionListener(this);exit.addActionListener(this);//注册棋子移动监听for(inti=0;i<32;i++){con.add(play[i
7、]);play[i].addMouseListener(this);}//添加棋盘标签con.add(image=newJLabel(newImageIcon("image\Main.GIF")));image.setBounds(0,30,558,620);image.addMouseListener(this);//注册窗体关闭监听this.addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEventwe){System
8、.exit(0);}});//窗体居中DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();DimensionframeSize=this.getSize();if(frameSize.height>screenSize.height){frameSize.height=screenSize.height;}if(frameS
此文档下载收益归作者所有