java五子棋源代码.docx

上传人:b****5 文档编号:2797855 上传时间:2022-11-15 格式:DOCX 页数:19 大小:18.87KB
下载 相关 举报
java五子棋源代码.docx_第1页
第1页 / 共19页
java五子棋源代码.docx_第2页
第2页 / 共19页
java五子棋源代码.docx_第3页
第3页 / 共19页
java五子棋源代码.docx_第4页
第4页 / 共19页
java五子棋源代码.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

java五子棋源代码.docx

《java五子棋源代码.docx》由会员分享,可在线阅读,更多相关《java五子棋源代码.docx(19页珍藏版)》请在冰豆网上搜索。

java五子棋源代码.docx

java五子棋源代码

java五子棋源代码

chessClient.java:

客户端主程序。

chessInterface.java:

客户端的界面。

chessPad.java:

棋盘的绘制。

chessServer.java:

服务器端。

可同时容纳50个人同时在线下棋,聊天。

没有加上详细注释,不过绝对可以运行,j2sdk1.4下通过。

Java培训

/*********************************************************************************************

1.chessClient.java

**********************************************************************************************/

importjava.awt.*;

importjava.awt.event.*;

importjava.io.*;

import.*;

importjava.util.*;

classclientThreadextendsThread

{

chessClientchessclient;

clientThread(chessClientchessclient)

{

this.chessclient=chessclient;

}

publicvoidacceptMessage(StringrecMessage)

{

if(recMessage.startsWith("/userlist"))

{

StringTokenizeruserToken=newStringTokenizer(recMessage,"");

intuserNumber=0;

chessclient.userpad.userList.removeAll();

chessclient.inputpad.userChoice.removeAll();

chessclient.inputpad.userChoice.addItem("所有人");

while(userToken.hasMoreTokens())

{

Stringuser=(String)userToken.nextToken("");

if(userNumber>0&&!

user.startsWith("[inchess]"))

{

chessclient.userpad.userList.add(user);

chessclient.inputpad.userChoice.addItem(user);

}

userNumber++;

}

chessclient.inputpad.userChoice.select("所有人");

}

elseif(recMessage.startsWith("/yourname"))

{

chessclient.chessClientName=recMessage.substring(10);

chessclient.setTitle("Java五子棋客户端"+"用户名:

"+chessclient.chessClientName);

}

elseif(recMessage.equals("/reject"))

{

try

{

chessclient.chesspad.statusText.setText("不能加入游戏");

chessclient.controlpad.cancelGameButton.setEnabled(false);

chessclient.controlpad.joinGameButton.setEnabled(true);

chessclient.controlpad.creatGameButton.setEnabled(true);

}

catch(Exceptionef)

{

chessclient.chatpad.chatLineArea.setText("chessclient.chesspad.chessSocket.close无法关闭");

}

chessclient.controlpad.joinGameButton.setEnabled(true);

}

elseif(recMessage.startsWith("/peer"))

{

chessclient.chesspad.chessPeerName=recMessage.substring(6);

if(chessclient.isServer)

{

chessclient.chesspad.chessColor=1;

chessclient.chesspad.isMouseEnabled=true;

chessclient.chesspad.statusText.setText("请黑棋下子");

}

elseif(chessclient.isClient)

{

chessclient.chesspad.chessColor=-1;

chessclient.chesspad.statusText.setText("已加入游戏,等待对方下子...");

}

}

elseif(recMessage.equals("/youwin"))

{

chessclient.isOnChess=false;

chessclient.chesspad.chessVictory(chessclient.chesspad.chessColor);

chessclient.chesspad.statusText.setText("对方退出,请点放弃游戏退出连接");

chessclient.chesspad.isMouseEnabled=false;

}

elseif(recMessage.equals("/OK"))

{

chessclient.chesspad.statusText.setText("创建游戏成功,等待别人加入...");

}

elseif(recMessage.equals("/error"))

{

chessclient.chatpad.chatLineArea.append("传输错误:

请退出程序,重新加入\n");

}

else

{

chessclient.chatpad.chatLineArea.append(recMessage+"\n");

chessclient.chatpad.chatLineArea.setCaretPosition(

chessclient.chatpad.chatLineArea.getText().length());

}

}

publicvoidrun()

{

Stringmessage="";

try

{

while(true)

{

message=chessclient.in.readUTF();

acceptMessage(message);

}

}

catch(IOExceptiones)

{

}

}

}

publicclasschessClientextendsFrameimplementsActionListener,KeyListener

{

userPaduserpad=newuserPad();

chatPadchatpad=newchatPad();

controlPadcontrolpad=newcontrolPad();

chessPadchesspad=newchessPad();

inputPadinputpad=newinputPad();

SocketchatSocket;

DataInputStreamin;

DataOutputStreamout;

StringchessClientName=null;

Stringhost=null;

intport=4331;

booleanisOnChat=false;//在聊天?

booleanisOnChess=false;//在下棋?

booleanisGameConnected=false;//下棋的客户端连接?

booleanisServer=false;//如果是下棋的主机

booleanisClient=false;//如果是下棋的客户端

PanelsouthPanel=newPanel();

PanelnorthPanel=newPanel();

PanelcenterPanel=newPanel();

PanelwestPanel=newPanel();

PaneleastPanel=newPanel();

chessClient()

{

super("Java五子棋客户端");

setLayout(newBorderLayout());

host=controlpad.inputIP.getText();

westPanel.setLayout(newBorderLayout());

westPanel.add(userpad,BorderLayout.NORTH);

westPanel.add(chatpad,BorderLayout.CENTER);

westPanel.setBackground(Color.pink);

inputpad.inputWords.addKeyListener(this);

chesspad.host=controlpad.inputIP.getText();

centerPanel.add(chesspad,BorderLayout.CENTER);

centerPanel.add(inputpad,BorderLayout.SOUTH);

centerPanel.setBackground(Color.pink);

controlpad.connectButton.addActionListener(this);

controlpad.creatGameButton.addActionListener(this);

controlpad.joinGameButton.addActionListener(this);

controlpad.cancelGameButton.addActionListener(this);

controlpad.exitGameButton.addActionListener(this);

controlpad.creatGameButton.setEnabled(false);

controlpad.joinGameButton.setEnabled(false);

controlpad.cancelGameButton.setEnabled(false);

southPanel.add(controlpad,BorderLayout.CENTER);

southPanel.setBackground(Color.pink);

addWindowListener(newWindowAdapter()

{

publicvoidwindowClosing(WindowEvente)

{

if(isOnChat)

{

try

{

chat

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1