java 中国象棋代码.pdf
文本预览下载声明
/*
*中国象棋Java 版V3.0
*作者
*源文件:Chess.java
*最后修改时间:2005-8-20
*添加功能:实现了当前棋局的保存
*/
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 JToolBa r();
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);
r
显示全部