雷文同学的象棋游戏


实现了中国象棋游戏的网络对战和简单交互的功能,非常值得初学者学习
资源截图
代码片段和文件信息
/**
 * 项目名称: FansChineseChess
 * 版本号:1.0
 * 名字:雷文
 * 博客: http://FansUnion.cn
 * 邮箱: leiwen@FansUnion.cn
 * QQ:240-370-818
 * 版权:通过Email和QQ等渠道通知我后,则拥有一切权力,包括修改-重新发布等。 
 * 
 */
package cn.fansunion.chinesechess;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.NotSerializableException;
import java.io.objectInputStream;
import java.io.objectOutputStream;
import java.net.Socket;
import java.util.linkedList;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFileChooser;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.KeyStroke;
import javax.swing.SwingConstants;
import javax.swing.border.titledBorder;

import cn.fansunion.chinesechess.core.ChessBoard;
import cn.fansunion.chinesechess.core.MoveRecord;
import cn.fansunion.chinesechess.ui.Demo;
import cn.fansunion.chinesechess.ui.MakeChessManual;
import cn.fansunion.chinesechess.util.Constants;
import cn.fansunion.chinesechess.util.DataPacket;
import cn.fansunion.chinesechess.util.ChessUtils;
import cn.fansunion.chinesechess.util.Message;

/**
 * 中国象棋客户端
 * 
 * @author leiwen@fansunion.cnhttp://FansUnion.cn
 *         http://blog.csdn.net/FansUnion
 * 
 */
public class ChessClient extends Jframe implements Constants
ActionListener {

private static final long serialVersionUID = 101L;

private JPanel control;

// 开始、暂停、悔棋、认输、发送消息按钮
private JButton start undo pauseOrContinue giveIn send;

ChessBoard board = null;

Demo demo = null;

MakeChessManual records = null;

JComboBox msgComboBox;

Container container = null;

// 菜单及其选项
JMenuBar bar;

JMenu fileMenu;

JMenuItem newGame saveGame loadGame exitGame;

JMenu settingMenu;

JMenuItem setting;

JMenu helpMenu;

JMenuItem helpContent aboutGame;

JMenu chattingMenu;

JMenuItem chatting;

JFileChooser fileChooser = null;

linkedList moveRecords = null;

// 游戏状态
JLabel gameStatus;

// 组合框中的备选消息
String[] initialMsg = { “见到您真高兴啊“ “快点吧,我等到花都谢了“ “您的棋走得太好了“ “下次再玩吧,我要走了“ };

public JTextArea msgArea;// 便于访问

public ChessClient(String petName) {
// 构造菜单
bar = new JMenuBar();
fileMenu = new JMenu(“中国象棋(G)“);

newGame = new JMenuItem(“新游戏“);
saveGam

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2013-09-09 09:45  FansChineseChess1.0
     目录           0  2013-09-07 20:33  FansChineseChess1.0.metadata
     文件       15536  2013-09-09 09:53  FansChineseChess1.0.metadata.log
     目录           0  2013-09-07 20:33  FansChineseChess1.0.metadata.mylyn
     目录           0  2012-04-15 22:19  FansChineseChess1.0.metadata.mylyncontexts
     文件         438  2012-04-15 22:21  FansChineseChess1.0.metadata.mylyn
epositories.xml.zip
     目录           0  2013-09-09 10:48  FansChineseChess1.0.metadata.plugins
     目录           0  2013-09-09 09:43  FansChineseChess1.0.metadata.pluginscom.collabnet.subversion.merge
     目录           0  2013-09-09 09:43  FansChineseChess1.0.metadata.pluginscom.collabnet.subversion.mergeMergeResults
     目录           0  2013-09-09 09:43  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources
     目录           0  2013-09-09 10:49  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history
     目录           0  2013-09-09 10:36  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history
     文件        1499  2013-09-09 10:32  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history209dc29df81800131346c053eb084607
     目录           0  2013-09-09 10:15  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history11
     文件         517  2013-09-09 10:14  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1140b167a4f51800131346c053eb084607
     目录           0  2013-09-09 09:55  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history15
     文件         371  2013-09-09 09:54  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history15608817d8f21800131346c053eb084607
     目录           0  2013-09-09 10:19  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history16
     文件         764  2013-09-09 10:18  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history168037c435f61800131346c053eb084607
     目录           0  2013-09-09 09:54  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history17
     文件        2360  2013-09-09 09:47  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1730397dc5f11800131346c053eb084607
     文件        3178  2011-12-28 18:22  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history17606484b2f21800131346c053eb084607
     目录           0  2013-09-09 09:55  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history19
     文件        1470  2013-09-09 09:54  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history192d985f1f21800131346c053eb084607
     目录           0  2013-09-09 09:56  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1b
     文件        1504  2013-09-09 09:54  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1ba0cd0212f31800131346c053eb084607
     目录           0  2013-09-09 10:26  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1d
     文件        4516  2013-09-09 10:08  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1d109d8c6ef51800131346c053eb084607
     文件        1152  2013-09-09 10:26  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1d20c33d49f71800131346c053eb084607
     文件        3011  2011-12-28 18:22  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1d80ee7ab2f21800131346c053eb084607
     文件        3168  2013-09-09 09:54  FansChineseChess1.0.metadata.pluginsorg.eclipse.core.resources.history1dd133c626f31800131346c053eb084607
............此处省略572个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)