Java象棋源码

时间:2015-01-29 13:43:48
【文件属性】:

文件名称:Java象棋源码

文件大小:678KB

文件格式:RAR

更新时间:2015-01-29 13:43:48

Java象棋源码 Java象棋 Java 象棋

import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.*; import java.io.*; //主类 public class Chess{ public static void main(String args[]){ new ChessMainFrame("中国象棋:观棋不语真君子,棋死无悔大丈夫"); } } //主框架类 class ChessMainFrame extends JFrame implements ActionListener,MouseListener,Runnable{ //玩家 JLabel play[] = new JLabel[32]; //棋盘 JLabel image; //窗格 Container con; //工具栏 JToolBar jmain; //重新开始 JButton anew; //悔棋 JButton repent; //退出 JButton exit; //当前信息 JLabel text; //保存当前操作 Vector Var; //规则类对象(使于调用方法) ChessRule rule; /** ** 单击棋子 ** chessManClick = true 闪烁棋子 并给线程响应 ** chessManClick = false 吃棋子 停止闪烁 并给线程响应 */ boolean chessManClick; /** ** 控制玩家走棋 ** chessPlayClick=1 黑棋走棋 ** chessPlayClick=2 红棋走棋 默认红棋 ** chessPlayClick=3 双方都不能走棋 */ int chessPlayClick=2; //控制棋子闪烁的线程 Thread tmain; //把第一次的单击棋子给线程响应 static int Man,i; ChessMainFrame(){ new ChessMainFrame("中国象棋"); } /** ** 构造函数 ** 初始化图形用户界面 */ ChessMainFrame(String Title){ //获行客格引用 con = this.getContentPane(); con.setLayout(null); //实例化规则类 rule = new ChessRule(); Var = new Vector(); //创建工具栏 jmain = new JToolBar(); text = new JLabel("欢迎使用象棋对弈系统"); //当鼠标放上显示信息 text.setToolTipText("信息提示"); anew = new JButton(" 新 游 戏 "); anew.setToolTipText("重新开始新的一局"); exit = new JButton(" 退 出 "); exit.setToolTipText("退出象棋程序程序"); repent = new JButton(" 悔 棋 "); repent.setToolTipText("返回到上次走棋的位置"); //把组件添加到工具栏 jmain.setLayout(new GridLayout(0,4)); jmain.add(anew); jmain.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 (int i=0;i<32;i++){ con.add(play[i]); play[i].addMouseListener(this); } //添加棋盘标签 con.add(image = new JLabel(new ImageIcon("image\\Main.GIF"))); image.setBounds(0,30,558,620); image.addMouseListener(this); .................... ....................


【文件预览】:
Java象棋
----ChessMainFrame$1.class(534B)
----ChessMainFrame$ChessRule.class(18KB)
----image()
--------黑将.gif(3KB)
--------黑车.gif(2KB)
--------红炮.gif(3KB)
--------黑卒.gif(2KB)
--------红象.gif(2KB)
--------红马.gif(2KB)
--------黑马.gif(3KB)
--------黑士.gif(2KB)
--------黑炮.gif(3KB)
--------黑象.gif(3KB)
--------红车.GIF(2KB)
--------红士.gif(2KB)
--------main.gif(199KB)
--------红将.gif(2KB)
--------红卒.gif(2KB)
----7080206实验报告.doc(740KB)
----ChessMainFrame.class(11KB)
----Chess.class(389B)
----提示.txt(35B)
----Chess.java(61KB)

网友评论

  • 很好,下载下来能用哟
  • 实现了想要实现的功能,不错吧
  • 基本的东西都实现了··比较简单吧!~
  • 挺好的,能运行
  • 呵呵,应该是本科生的课程设计吧
  • 实现了简单的象棋对弈功能,但是代码书写实在不规范,难以阅读。而且明显违背了单一职责的设计原则,所有功能都放到一个类里实现……更可笑的是,设计文档写了很多实现AI的原理,最后的软件完全木有实现。总而言之,作为本科生的课程设计,还算有参考价值。给个3星好了