资源简介
基于socket编写的java五子棋项目,采用tcp iP协议。操作方法:先启动服务器,再开两个客户端,随便填写用户名加入游戏即可!

代码片段和文件信息
package djr.chess.client;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.Jframe;
import djr.chess.gui.UserChatPad;
import djr.chess.gui.UserControlPad;
import djr.chess.gui.UserInputPad;
import djr.chess.gui.UserListPad;
import djr.chess.pad.FIRPad;
// 五子棋客户端
public class FIRClient extends Jframe implements ActionListener KeyListener
{
// 客户端套接口
Socket clientSocket;
// 数据输入流
DataInputStream inputStream;
// 数据输出流
DataOutputStream outputStream;
// 用户名
String chessClientName = null;
// 主机地址
String host = null;
// 主机端口
int port = 4331;
// 是否在聊天
boolean isOnChat = false;
// 是否在下棋
boolean isOnChess = false;
// 游戏是否进行中
boolean isGameConnected = false;
// 是否为游戏创建者
boolean isCreator = false;
// 是否为游戏加入者
boolean isParticipant = false;
// 用户列表区
UserListPad userListPad = new UserListPad();
// 用户聊天区
UserChatPad userChatPad = new UserChatPad();
// 用户操作区
UserControlPad userControlPad = new UserControlPad();
// 用户输入区
UserInputPad userInputPad = new UserInputPad();
// 下棋区
FIRPad firPad = new FIRPad();
// 面板区
Panel southPanel = new Panel();
Panel northPanel = new Panel();
Panel centerPanel = new Panel();
Panel eastPanel = new Panel();
// 构造方法,创建界面
public FIRClient()
{
super(“Java 五子棋客户端“);
setLayout(new BorderLayout());
host = userControlPad.ipInputted.getText();
eastPanel.setLayout(new BorderLayout());
eastPanel.add(userListPad BorderLayout.NORTH);
eastPanel.add(userChatPad BorderLayout.CENTER);
eastPanel.setBackground(Color.LIGHT_GRAY);
userInputPad.contentInputted.addKeyListener(this);
firPad.host = userControlPad.ipInputted.getText();
centerPanel.add(firPad BorderLayout.CENTER);
centerPanel.add(userInputPad BorderLayout.SOUTH);
centerPanel.setBackground(Color.LIGHT_GRAY);
userControlPad.connectButton.addActionListener(this);
userControlPad.createButton.addActionListener(this);
userControlPad.joinButton.addActionListener(this);
userControlPad.cancelButton.addActionListener(this);
userControlPad.exitButton.addActionListener(this);
userControlPad.createButton.setEnabled(false);
userControlPad.joinButton.setEnabled(false);
userControlPad.cancelButton.setEnabled(false);
southPanel.add(userControlPad BorderLayout.CENTER);
southPanel.setBackground(Color.LIGHT_GRAY);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
if (isOnChat)
{ // 聊天中
try
{ // 关闭客户端套接口
clientSocket.close();
}
catch (Exception ed){}
}
if (isOnChess || isGameConnected)
{ // 下棋中
try
{ // 关闭下棋端口
firPad.chessSocket.close();
}
catch (Exception ee){}
}
System.exit(0);
}
});
add(eastPanel BorderLayout.EAST);
add(centerPanel BorderLayout.CENTER);
add(southPanel BorderLayout.SOUTH);
pack();
se
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-12-23 12:50 5ziqi\
文件 232 2018-12-23 12:50 5ziqi\.classpath
文件 381 2018-12-23 12:50 5ziqi\.project
目录 0 2018-12-23 12:50 5ziqi\.settings\
文件 88 2018-12-23 12:50 5ziqi\.settings\org.eclipse.core.resources.prefs
文件 21197 2018-12-23 12:50 5ziqi\.settings\org.eclipse.jdt.core.prefs
文件 124 2018-12-23 12:50 5ziqi\.settings\org.eclipse.jdt.ui.prefs
目录 0 2018-12-23 12:50 5ziqi\bin\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\client\
文件 1118 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClient$1.class
文件 8394 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClient.class
文件 4160 2018-12-23 12:50 5ziqi\bin\djr\chess\client\FIRClientThread.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\
文件 720 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserChatPad.class
文件 1371 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserControlPad.class
文件 1207 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserInputPad.class
文件 956 2018-12-23 12:50 5ziqi\bin\djr\chess\gui\UserListPad.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\
文件 9959 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPad.class
文件 744 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPointBlack.class
文件 744 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRPointWhite.class
文件 2290 2018-12-23 12:50 5ziqi\bin\djr\chess\pad\FIRThread.class
目录 0 2018-12-23 12:50 5ziqi\bin\djr\chess\server\
文件 696 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServer$1.class
文件 4723 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServer.class
文件 8146 2018-12-23 12:50 5ziqi\bin\djr\chess\server\FIRServerThread.class
文件 1302 2018-12-23 12:50 5ziqi\bin\djr\chess\server\ServerMsgPanel.class
目录 0 2018-12-23 12:50 5ziqi\src\
目录 0 2018-12-23 12:50 5ziqi\src\djr\
............此处省略18个文件信息
- 上一篇:基于JavaWeb的博客网站的设计与实现毕业论文
- 下一篇:Java日历及备忘录
相关资源
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- pc与android通过usb socket实现手机通信
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论