eclipse 网络五子棋


使用eclipse创建的网络五子棋项目,需要在两台电脑上运行,输入对方IP地址后即可开始游戏
资源截图
代码片段和文件信息
package com.lzw.gobang;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Desktop;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.net.URL;
import java.util.Arrays;
import java.util.Deque;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.GroupLayout;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JToggleButton;
import javax.swing.SwingUtilities;

/**
 * 下棋面板
 * 
 * @author JMX
 */
public class ChessPanel extends javax.swing.JPanel {
static ImageIcon WHITE_CHESS_ICON;
static ImageIcon BLACK_CHESS_ICON;
final static int OPRATION_REPENT = 0xEF; // 悔棋命令
final static int OPRATION_NODE_REPENT = 0xCF; // 接受悔棋命令
final static int OPRATION_DRAW = 0xFE; // 和棋命令
final static int OPRATION_NODE_DRAW = 0xEE; // 接受和棋命令
final static int OPRATION_START = 0xFd; // 开始命令
final static int OPRATION_ALL_START = 0xEd; // 接受开始命令
final static int OPRATION_GIVEUP = 0xFc; // 认输命令
final static int WIN = 88; // 胜利代码
private boolean towardsStart = false;
private Image backImg;
protected JButton backButton;
private JToggleButton backplayToggleButton;
private JLabel bannerLabel;
private JButton giveupButton;
private GobangPanel gobangPanel1;
private JButton heqiButton;
private JLabel jLabel5;
private JLabel jLabel6;
private JPanel jPanel1;
private JPanel jPanel2;
private JPanel jPanel3;
private JPanel jPanel4;
protected JLabel leftInfoLabel;
protected JLabel myChessColorLabel;
protected JLabel rightInfoLabel;
private JButton startButton;
protected JLabel towardsChessColorLabel;
int backIndex = 1;

/**
 * 下棋面板的构造方法
 */
public ChessPanel() {
WHITE_CHESS_ICON = new javax.swing.ImageIcon(getClass().getResource(
“/res/whiteChess.png“)); // 初始化白棋棋盒图片
BLACK_CHESS_ICON = new javax.swing.ImageIcon(getClass().getResource(
“/res/blackChess.png“)); // 初始化黑棋棋盒图片
URL url = getClass().getResource(“/res/bg/1.png“);
backImg = new ImageIcon(url).getImage(); // 初始化背景图片
initComponents(); // 调用初始化界面的方法
}

/**
 * 重写paintComponent方法,绘制背景图片
 * 
 * @see javax.swing.JComponent#paintComponent(java.awt.Graphics)
 */
@Override
protected void paintComponent(Graphics g) {
// 绘制背景图片
g.drawImage(backImg 0 0 getWidth() getHeight() null);
}

/**
 * 设置棋子颜色的方法,以棋盒颜色为主
 * 
 * @param color
 *            - 指定颜色的棋盒图片
 */
public void setChessColor(ImageIcon color) {
myChessColorLabel.setIcon(color); // 设置本地用户的棋盒图标
if (color.equals(WHITE_CHESS_ICON)) { // 设置白棋
gobangPanel1.setMyColor(GobangPanel.WHITE_CHESSMAN);
towardsChessColorLabel.setIcon(BLACK_CHESS_ICON);
} else if (color.equals(BLACK_CHESS_ICON)) {// 设置黑棋
gobangPanel1.setMyColor(GobangPanel.BLACK_CHESSMAN);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-17 09:46  五子棋
     目录           0  2018-06-14 09:23  五子棋.Thumbs
     文件       12225  2018-06-14 09:23  五子棋.ThumbsED39C5E5-E092-4A94-9B2D-9CD286D34BF3.JPG.png
     文件       13873  2018-06-14 09:23  五子棋.ThumbsIMG_0031.JPG.png
     文件         360  2017-07-17 15:06  五子棋.ThumbsThumbGenerateVersion-V1.5.tgv
     目录           0  2018-06-14 15:12  五子棋GoBang
     文件         232  2010-08-11 19:08  五子棋GoBang.classpath
     文件         382  2010-08-11 19:08  五子棋GoBang.project
     目录           0  2018-06-14 15:12  五子棋GoBangin
     目录           0  2018-06-14 21:53  五子棋GoBangincom
     目录           0  2018-06-14 21:53  五子棋GoBangincomlzw
     目录           0  2018-06-14 21:53  五子棋GoBangincomlzwgobang
     文件        1759  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$1.class
     文件        1270  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$10.class
     文件        2222  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$11.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$2.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$3.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$4.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$5.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$6.class
     文件         755  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$7.class
     文件        1270  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$8.class
     文件        1241  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$9.class
     文件        1548  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel$ButtonActionListener.class
     文件       13615  2018-06-14 21:53  五子棋GoBangincomlzwgobangChessPanel.class
     文件        1734  2018-06-14 21:53  五子棋GoBangincomlzwgobangGobangModel.class
     文件         809  2018-06-14 21:53  五子棋GoBangincomlzwgobangGobangPanel$1.class
     文件         762  2018-06-14 21:53  五子棋GoBangincomlzwgobangGobangPanel$2.class
     文件       11099  2018-06-14 21:53  五子棋GoBangincomlzwgobangGobangPanel.class
     文件         755  2018-06-14 21:53  五子棋GoBangincomlzwgobangLoginPanel$1.class
     文件         787  2018-06-14 21:53  五子棋GoBangincomlzwgobangLoginPanel$2.class
............此处省略138个文件信息

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

发表评论

评论列表(条)