下载 > 资源分类 >  开发技术 >  Java > Java象棋源码

Java象棋源码

2012-01-09 上传大小:678KB

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);
....................
....................
...展开收缩
综合评分:3.8(10位用户评分)
开通VIP C币充值 立即下载

评论共有6条

name
u0127552292014-11-05 16:21:47
很好,下载下来能用哟
name
u0132470682014-07-08 17:15:31
实现了想要实现的功能,不错吧
name
u0101079632014-06-26 15:19:52
基本的东西都实现了··比较简单吧!~
name
u0102463312013-12-09 15:31:41
挺好的,能运行
name
hj3064127242012-08-11 12:07:09
呵呵,应该是本科生的课程设计吧
name
xiaochenghang2012-04-15 15:56:03
实现了简单的象棋对弈功能,但是代码书写实在不规范,难以阅读。而且明显违背了单一职责的设计原则,所有功能都放到一个类里实现……更可笑的是,设计文档写了很多实现AI的原理,最后的软件完全木有实现。总而言之,作为本科生的课程设计,还算有参考价值。给个3星好了

评论资源

您不能发表评论,可能是以下原因:

登录后才能评论

待评论资源
 

热门专辑

开发技术热门标签

VIP会员动态

关闭
img

spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
确认下载
img

Java象棋源码

会员到期时间: 剩余下载个数: 剩余C币:593 剩余积分:0
为了良好体验,不建议使用迅雷下载
VIP下载
您今日下载次数已达上限(为了良好下载体验及使用,每位用户24小时之内最多可下载20个资源)

积分不足!

资源所需积分/C币 当前拥有积分
您可以选择
开通VIP
4000万
程序员的必选
600万
绿色安全资源
现在开通
立省522元
或者
购买C币兑换积分 C币抽奖
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
(仅够下载10个资源)
为了良好体验,不建议使用迅雷下载
确认下载
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 0 0
为了良好体验,不建议使用迅雷下载
C币充值 开通VIP
img

资源所需积分/C币 当前拥有积分 当前拥有C币
5 4 45
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
确认下载
下载

兑换成功

你当前的下载分为234开始下载资源
你还不是VIP会员
开通VIP会员权限,免积分下载
立即开通

你下载资源过于频繁,请输入验证码

您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:webmaster@csdn.net!

举报

若举报审核通过,可奖励20下载分

  • 举报人:
  • 被举报人:
  • 举报的资源分:
  • *类型:
  • *详细原因: