- 浏览: 364418 次
- 性别:
- 来自: 中国山东
文章分类
最新评论
-
ChinaEstone:
再举一个例子:RunnableImpl impl = new ...
这段代码执行任务时启动了几个线程? -
ChinaEstone:
只有一个timer的线程,以前理解的时候任务runable接口 ...
这段代码执行任务时启动了几个线程? -
nocb:
你好,请问有没有 darkstar的 ios android ...
SGS 0.9.7 协议解析 -
diyunpeng:
这个我得学习一下。
Linux下vi的用法 -
tantan:
mina 多并发实时传输,
只能建立一个连接传输,如何解决呢
...
深入理解Apache Mina (1)---- Mina的几个类
最近一直在学习swing,根据网上流传甚广(链接在文末)的一个简易的中国象棋的游戏修改了一下,修正了其中的一些bug,在这里感谢程序的原作者。整理这个游戏主要是用于学习和交流,欢迎转载和修改。
package author.estone.chinesechess;
// 主类
public class Chess {
public static void main(String args[]) {
new ChessMainFrame("中国象棋 中國壹石頭");
}
}
package author.estone.chinesechess;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Vector;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
// 主框架类
class ChessMainFrame extends JFrame implements ActionListener, MouseListener,
Runnable {
// 玩家
JLabel play[] = new JLabel[32];
// 棋盘
JLabel image;
// 窗格
Container con;
// 工具栏
JToolBar jmain;
// 重新开始
JButton anew;
// 悔棋
JButton repent;
// 打开
JButton showOpen;
// 保存
JButton showSave;
// 退出
JButton exit;
// 当前信息
JLabel text;
// 保存当前操作
Vector FileVar;
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() {
}
ChessMainFrame(String Title) {
// 获行客格引用
con = this.getContentPane();
con.setLayout(null);
// 实例化规则类
rule = new ChessRule();
FileVar = new Vector();
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("返回到上次走棋的位置");
showOpen = new JButton("打开");
showOpen.setToolTipText("打开以前棋局");
showSave = new JButton("保存");
showSave.setToolTipText("保存当前棋局");
// 把组件添加到工具栏
jmain.setLayout(new GridLayout(0, 6));
jmain.add(anew);
jmain.add(repent);
jmain.add(showOpen);
jmain.add(showSave);
jmain.add(exit);
jmain.add(text);
jmain.setBounds(0, 500, 450, 30);
con.add(jmain);
// 添加棋子标签
drawChessMan();
/* 注册监听者 */
// 注册按扭监听
anew.addActionListener(this);
repent.addActionListener(this);
exit.addActionListener(this);
showOpen.addActionListener(this);
showSave.addActionListener(this);
// 注册棋子移动监听
for (int i = 0; i < 32; i++) {
con.add(play[i]);
play[i].addMouseListener(this);
}
................................................................
}
修改这个源码主要是为swing初学者提供一个简单的例子。由于没有找到这个文件的原始链接,所以只能给出在Google上的搜索出来的链接 http://www.google.cn/search?hl=zh-CN&q=java%E7%89%88%E4%B8%AD%E5%9B%BD%E8%B1%A1%E6%A3%8B&meta=&aq=f&oq= 。
- 中國象棋.rar (241.3 KB)
- 下载次数: 72
- ChinaChess.rar (98.9 KB)
- 下载次数: 63
发表评论
-
线性同余随机算法实现
2014-09-24 15:02 657package com.wistone.server.cor ... -
Java Pass By Value Example
2014-05-03 09:32 741package author.estone.java; ... -
How to use git in eclipse ?
2014-04-20 11:03 687when we use git in eclipse, w ... -
这段代码执行任务时启动了几个线程?
2013-08-07 10:16 1160import java.util.Timer; impor ... -
LookupError: unknown encoding 'ms936'
2013-08-05 12:42 1437Jython调用print方法,报错如下LookupErr ... -
Nginx反向代理不跳转(nginx/java/tomcat/jsp)
2013-03-19 17:48 3350<% String path = request.g ... -
Eclipse Indigo Maven SCM SVN
2012-12-20 23:06 1054Following these steps: 1) Ins ... -
驼峰格式和下划线格式字符串相互转换
2012-11-21 11:57 3560/** * @param strs * ... -
延迟5s的另外一种写法
2012-08-07 14:24 749int seconds = 5; l ... -
Use CodeMoel Generate Java Source Code
2012-06-06 20:21 1631package samples; // Example: ... -
找jar的两个网站
2012-05-26 02:00 761finjar.com docjar.com -
Tomcat开启JMX功能
2011-11-15 00:20 1375使用Jconsole或者VisualVM监控Tomcat的JV ... -
RSA对文件进行加密和解密
2011-03-31 16:39 1832package author.estone.rsa; i ... -
Facebook中FBML和IFrame的工作原理
2010-05-19 11:52 3245在Canvas Page中,用户创建的应用需要使用facebo ... -
数据库为什么要添加连接池
2010-03-03 16:55 1508今天在学习kauklahti的时 ... -
分析使用Jdbc连接数据库时用到的对象
2010-03-03 16:54 1113先看有上文给出的一个连接msyql的Jdbc的源码。 //- ... -
一行“神奇”的代码
2010-02-02 15:15 905最近在复习闫宏的 ... -
老生常谈--return和Collection中的回值问题
2010-01-25 17:35 0关于return返回值的问题和Collection中存放引用的 ... -
Pushlet--Web Comet FrameWork
2010-01-06 10:51 1067Server-side notification to b ... -
一个Tomcat中文文档网站
2009-12-21 15:13 2707这里有中文版的Tomcat的文档http://www.jaxm ...
相关推荐
基于Java+Swing+Socket实现中国象棋-网络版(课程设计)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单...
总之,这个Java Swing编写的中国象棋游戏源码是一个典型的GUI应用程序实例,它展示了如何利用Swing库创建复杂交互的桌面应用。通过研究这个源码,开发者可以学习到Swing组件的使用、事件处理、自定义绘图以及游戏...
中国象棋Java Swing源码是一个基于Java编程语言开发的桌面应用程序,它利用Swing库来构建用户界面,为用户提供一个可以玩中国象棋的游戏平台。Swing是Java Foundation Classes (JFC)的一部分,用于构建图形用户界面...
6、轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。 7、双方各走一着,称为一个回合。 8、走一着棋时,如果己方棋子能够走到的位置有对方棋子存在,就...
本文将深入探讨一个基于Java J2SE编写的中国象棋程序,帮助初学者理解如何利用Java语言实现游戏逻辑,并从中汲取编程技巧。 1. Java J2SE基础 Java J2SE(Java Platform, Standard Edition)是Java平台的核心部分,...
本项目是一个简单的Java Applet实现的中国象棋游戏,尽管开发者自认为改装效果不尽人意,但对于初学者来说,这是一个不错的学习起点。 首先,我们要了解Java Applet的基本概念。Applet是Java平台的一部分,它可以...
基于java实现中国象棋小游戏升级版,是我学习java来练练手的,java基础入门的学生可以考虑参考一下,
基于Java+Swing实现中国象棋游戏(课程设计)已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作简单、功能齐全...
本文将详细解析一个用Java语言编写的中国象棋源码,帮助读者理解游戏逻辑的实现方式以及Java编程在游戏开发中的应用。 首先,我们需要了解Java作为一种面向对象的编程语言,其强大的类库和跨平台特性使其成为开发...
【中国象棋java版】是一款基于Java编程语言开发的中国象棋游戏。在这个项目中,开发者使用了Java Swing库来创建用户界面,并结合了Java AWT库进行图形绘制和事件处理。以下是该项目的关键知识点: 1. **Java Swing*...
6、轮到走棋的一方,将某个棋子从一个交叉点走到另一个交叉点,或者吃掉对方的棋子而占领其交叉点,都算走了一着。 7、双方各走一着,称为一个回合。 8、走一着棋时,如果己方棋子能够走到的位置有对方棋子存在,就...
可能还会有一个游戏逻辑类,负责检查每一步操作的合法性,以及判断游戏的胜负状态。 源代码中可能包含了以下部分: 1. **主程序类**:启动GUI,初始化棋盘界面,并设置布局管理器。 2. **棋盘类(ChessBoard)**:...
总的来说,开发一个基于Java Swing的中国象棋游戏,需要掌握Java GUI编程、事件处理、对象和类的设计、以及基础的AI算法。通过这个项目,开发者不仅可以提升Java编程技能,还能深入了解游戏开发流程和用户体验设计。
以上就是基于Java开发中国象棋游戏的主要知识点,涉及到了图形界面设计、游戏逻辑实现、人工智能、事件处理、错误处理等多个方面。这个项目不仅锻炼了编程技巧,还提升了问题解决和系统设计的能力。
在中国象棋这个Java实例中,我们探讨的是如何利用编程语言来实现一个经典的棋类游戏。中国象棋,又称“象棋”,是中国流传千年的智力竞技游戏,它具有丰富的策略性和深厚的文化底蕴。在这个项目中,开发者用Java语言...
Java中国象棋源码是一个基于Java编程语言实现的桌面游戏项目,它允许用户在计算机上进行象棋对弈。这个项目展示了如何运用Java的基本概念和技术来构建一个具有完整功能的游戏应用。下面我们将深入探讨其中涉及的关键...
《用Java编写的中国象棋》是一款基于Java编程语言实现的桌面游戏,它将传统的中国象棋规则与现代计算机技术相结合,为玩家提供了一个在数字平台上体验象棋乐趣的平台。下面将详细介绍这款游戏的实现原理、核心功能...
在本次Java课程设计中,开发者构建了一个中国象棋的网络对战游戏。这个游戏的核心理念是让两个玩家可以在不同的计算机上通过网络进行实时对战,实现了远程玩家之间的互动,充分体现了Java在网络编程上的强大功能。 ...
总的来说,这个项目是一个基于Java的中国象棋网络游戏,它结合了Java SE、Socket编程和Access数据库技术,采用C/S架构,以编程方式实现了棋盘和棋子的显示,特别适合小型局域网内的对战。通过这个项目,开发者展示了...
本资源中的"中国象棋打谱软件"就是一个典型的Java课程设计案例,特别适合Java初学者进行实践和学习。 1. **Java基础知识**: - **面向对象编程**:Java是一种面向对象的编程语言,设计中国象棋打谱软件时,我们...