亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? java.txt

?? java網(wǎng)絡(luò)五子棋 下面的源代碼分為4個(gè)文件; chessClient.java:客戶端主程序。 chessInterface.java:客戶端的界面。 chessPad.java
?? TXT
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
java網(wǎng)絡(luò)五子棋 

下面的源代碼分為4個(gè)文件; 
chessClient.java:客戶端主程序。 
chessInterface.java:客戶端的界面。 
chessPad.java:棋盤的繪制。 
chessServer.java:服務(wù)器端。 
可同時(shí)容納50個(gè)人同時(shí)在線下棋,聊天。 
沒(méi)有加上詳細(xì)注釋,不過(guò)絕對(duì)可以運(yùn)行,j2sdk1.4下通過(guò)。 


/********************************************************************************************* 
1.chessClient.java 
**********************************************************************************************/ 

import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.net.*; 
import java.util.*; 


class clientThread extends Thread 
{ 
chessClient chessclient; 

clientThread(chessClient chessclient) 
{ 
this.chessclient=chessclient; 
} 

public void acceptMessage(String recMessage) 
{ 
if(recMessage.startsWith("/userlist ")) 
{ 
StringTokenizer userToken=new StringTokenizer(recMessage," "); 
int userNumber=0; 

chessclient.userpad.userList.removeAll(); 
chessclient.inputpad.userChoice.removeAll(); 
chessclient.inputpad.userChoice.addItem("所有人"); 
while(userToken.hasMoreTokens()) 
{ 
String user=(String)userToken.nextToken(" "); 
if(userNumber>0 && !user.startsWith("[inchess]")) 
{ 
chessclient.userpad.userList.add(user); 
chessclient.inputpad.userChoice.addItem(user); 
} 

userNumber++; 
} 
chessclient.inputpad.userChoice.select("所有人"); 
} 
else if(recMessage.startsWith("/yourname ")) 
{ 
chessclient.chessClientName=recMessage.substring(10); 
chessclient.setTitle("Java五子棋客戶端 "+"用戶名:"+chessclient.chessClientName); 
} 
else if(recMessage.equals("/reject")) 
{ 
try 
{ 
chessclient.chesspad.statusText.setText("不能加入游戲"); 
chessclient.controlpad.cancelGameButton.setEnabled(false); 
chessclient.controlpad.joinGameButton.setEnabled(true); 
chessclient.controlpad.creatGameButton.setEnabled(true); 
} 
catch(Exception ef) 
{ 
chessclient.chatpad.chatLineArea.setText("chessclient.chesspad.chessSocket.close無(wú)法關(guān)閉"); 
} 
chessclient.controlpad.joinGameButton.setEnabled(true); 
} 
else if(recMessage.startsWith("/peer ")) 
{ 
chessclient.chesspad.chessPeerName=recMessage.substring(6); 
if(chessclient.isServer) 
{ 
chessclient.chesspad.chessColor=1; 
chessclient.chesspad.isMouseEnabled=true; 
chessclient.chesspad.statusText.setText("請(qǐng)黑棋下子"); 
} 
else if(chessclient.isClient) 
{ 
chessclient.chesspad.chessColor=-1; 
chessclient.chesspad.statusText.setText("已加入游戲,等待對(duì)方下子..."); 
} 

} 
else if(recMessage.equals("/youwin")) 
{ 
chessclient.isOnChess=false; 
chessclient.chesspad.chessVictory(chessclient.chesspad.chessColor); 
chessclient.chesspad.statusText.setText("對(duì)方退出,請(qǐng)點(diǎn)放棄游戲退出連接"); 
chessclient.chesspad.isMouseEnabled=false; 
} 
else if(recMessage.equals("/OK")) 
{ 
chessclient.chesspad.statusText.setText("創(chuàng)建游戲成功,等待別人加入..."); 
} 
else if(recMessage.equals("/error")) 
{ 
chessclient.chatpad.chatLineArea.append("傳輸錯(cuò)誤:請(qǐng)退出程序,重新加入 \n"); 
} 
else 
{ 
chessclient.chatpad.chatLineArea.append(recMessage+"\n"); 
chessclient.chatpad.chatLineArea.setCaretPosition( 
chessclient.chatpad.chatLineArea.getText().length()); 
} 
} 


public void run() 
{ 
String message=""; 
try 
{ 
while(true) 
{ 
message=chessclient.in.readUTF(); 
acceptMessage(message); 
} 
} 
catch(IOException es) 
{ 
} 
} 

} 






public class chessClient extends Frame implements ActionListener,KeyListener 
{ 
userPad userpad=new userPad(); 
chatPad chatpad=new chatPad(); 
controlPad controlpad=new controlPad(); 
chessPad chesspad=new chessPad(); 
inputPad inputpad=new inputPad(); 


Socket chatSocket; 
DataInputStream in; 
DataOutputStream out; 
String chessClientName=null; 
String host=null; 
int port=4331; 

boolean isOnChat=false; //在聊天? 
boolean isOnChess=false; //在下棋? 
boolean isGameConnected=false; //下棋的客戶端連接? 
boolean isServer=false; //如果是下棋的主機(jī) 
boolean isClient=false; //如果是下棋的客戶端 

Panel southPanel=new Panel(); 
Panel northPanel=new Panel(); 
Panel centerPanel=new Panel(); 
Panel westPanel=new Panel(); 
Panel eastPanel=new Panel(); 

chessClient() 
{ 
super("Java五子棋客戶端"); 
setLayout(new BorderLayout()); 
host=controlpad.inputIP.getText(); 

westPanel.setLayout(new BorderLayout()); 
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(new WindowAdapter() 
{ 
public void windowClosing(WindowEvent e) 
{ 
if(isOnChat) 
{ 
try 
{ 
chatSocket.close(); 
} 
catch(Exception ed) 
{ 
} 
} 
if(isOnChess || isGameConnected) 
{ 
try 
{ 
chesspad.chessSocket.close(); 
} 
catch(Exception ee) 
{ 
} 
} 
System.exit(0); 
} 
public void windowActivated(WindowEvent ea) 
{ 

} 
}); 

add(westPanel,BorderLayout.WEST); 
add(centerPanel,BorderLayout.CENTER); 
add(southPanel,BorderLayout.SOUTH); 

pack(); 
setSize(670,548); 
setVisible(true); 
setResizable(false); 
validate(); 
} 



public boolean connectServer(String serverIP,int serverPort) throws Exception 
{ 
try 
{ 
chatSocket=new Socket(serverIP,serverPort); 
in=new DataInputStream(chatSocket.getInputStream()); 
out=new DataOutputStream(chatSocket.getOutputStream()); 

clientThread clientthread=new clientThread(this); 
clientthread.start(); 
isOnChat=true; 
return true; 
} 
catch(IOException ex) 
{ 
chatpad.chatLineArea.setText("chessClient:connectServer:無(wú)法連接,建議重新啟動(dòng)程序 \n"); 
} 
return false; 
} 


public void actionPerformed(ActionEvent e) 
{ 
if(e.getSource()==controlpad.connectButton) 
{ 
host=chesspad.host=controlpad.inputIP.getText(); 
try 
{ 
if(connectServer(host,port)) 
{ 
chatpad.chatLineArea.setText(""); 
controlpad.connectButton.setEnabled(false); 
controlpad.creatGameButton.setEnabled(true); 
controlpad.joinGameButton.setEnabled(true); 
chesspad.statusText.setText("連接成功,請(qǐng)創(chuàng)建游戲或加入游戲"); 
} 


} 
catch(Exception ei) 
{ 
chatpad.chatLineArea.setText("controlpad.connectButton:無(wú)法連接,建議重新啟動(dòng)程序 \n"); 
} 
} 
if(e.getSource()==controlpad.exitGameButton) 
{ 
if(isOnChat) 
{ 
try 
{ 
chatSocket.close(); 
} 
catch(Exception ed) 
{ 
} 
} 
if(isOnChess || isGameConnected) 
{ 
try 
{ 
chesspad.chessSocket.close(); 
} 
catch(Exception ee) 
{ 
} 
} 
System.exit(0); 

} 
if(e.getSource()==controlpad.joinGameButton) 
{ 
String selectedUser=userpad.userList.getSelectedItem(); 
if(selectedUser==null || selectedUser.startsWith("[inchess]") || 
selectedUser.equals(chessClientName)) 
{ 
chesspad.statusText.setText("必須先選定一個(gè)有效用戶"); 
} 
else 
{ 
try 
{ 
if(!isGameConnected) 
{ 
if(chesspad.connectServer(chesspad.host,chesspad.port)) 
{ 
isGameConnected=true; 
isOnChess=true; 
isClient=true; 
controlpad.creatGameButton.setEnabled(false); 
controlpad.joinGameButton.setEnabled(false); 
controlpad.cancelGameButton.setEnabled(true); 
chesspad.chessthread.sendMessage("/joingame "+userpad.userList.getSelectedItem()+" "+chessClientName); 
} 
} 
else 
{ 
isOnChess=true; 
isClient=true; 
controlpad.creatGameButton.setEnabled(false); 
controlpad.joinGameButton.setEnabled(false); 
controlpad.cancelGameButton.setEnabled(true); 
chesspad.chessthread.sendMessage("/joingame "+userpad.userList.getSelectedItem()+" "+chessClientName); 
} 


} 
catch(Exception ee) 
{ 
isGameConnected=false; 
isOnChess=false; 
isClient=false; 
controlpad.creatGameButton.setEnabled(true); 
controlpad.joinGameButton.setEnabled(true); 
controlpad.cancelGameButton.setEnabled(false); 
chatpad.chatLineArea.setText("chesspad.connectServer無(wú)法連接 \n"+ee); 
} 

} 
} 
if(e.getSource()==controlpad.creatGameButton) 
{ 
try 
{ 
if(!isGameConnected) 
{ 
if(chesspad.connectServer(chesspad.host,chesspad.port)) 
{ 
isGameConnected=true; 
isOnChess=true; 
isServer=true; 
controlpad.creatGameButton.setEnabled(false); 
controlpad.joinGameButton.setEnabled(false); 
controlpad.cancelGameButton.setEnabled(true); 
chesspad.chessthread.sendMessage("/creatgame "+"[inchess]"+chessClientName); 
} 
} 
else 
{ 
isOnChess=true; 
isServer=true; 
controlpad.creatGameButton.setEnabled(false); 
controlpad.joinGameButton.setEnabled(false); 
controlpad.cancelGameButton.setEnabled(true); 
chesspad.chessthread.sendMessage("/creatgame "+"[inchess]"+chessClientName); 
} 
} 
catch(Exception ec) 
{ 
isGameConnected=false; 
isOnChess=false; 
isServer=false; 
controlpad.creatGameButton.setEnabled(true); 
controlpad.joinGameButton.setEnabled(true); 
controlpad.cancelGameButton.setEnabled(false); 
ec.printStackTrace(); 
chatpad.chatLineArea.setText("chesspad.connectServer無(wú)法連接 \n"+ec); 
} 

} 
if(e.getSource()==controlpad.cancelGameButton) 
{ 
if(isOnChess) 
{ 
chesspad.chessthread.sendMessage("/giveup "+chessClientName); 
chesspad.chessVictory(-1*chesspad.chessColor); 
controlpad.creatGameButton.setEnabled(true); 
controlpad.joinGameButton.setEnabled(true); 
controlpad.cancelGameButton.setEnabled(false); 
chesspad.statusText.setText("請(qǐng)建立游戲或者加入游戲"); 
} 
if(!isOnChess) 
{ 
controlpad.creatGameButton.setEnabled(true); 
controlpad.joinGameButton.setEnabled(true); 
controlpad.cancelGameButton.setEnabled(false); 
chesspad.statusText.setText("請(qǐng)建立游戲或者加入游戲"); 
} 
isClient=isServer=false; 
} 

} 



public void keyPressed(KeyEvent e) 
{ 
TextField inputWords=(TextField)e.getSource(); 


if(e.getKeyCode()==KeyEvent.VK_ENTER) 
{ 
if(inputpad.userChoice.getSelectedItem().equals("所有人")) 
{ 
try 
{ 
out.writeUTF(inputWords.getText()); 
inputWords.setText(""); 
} 
catch(Exception ea) 
{ 
chatpad.chatLineArea.setText("chessClient:KeyPressed無(wú)法連接,建議重新連接 \n"); 
userpad.userList.removeAll(); 
inputpad.userChoice.removeAll(); 
inputWords.setText(""); 
controlpad.connectButton.setEnabled(true); 
} 
} 
else 
{ 
try 
{ 
out.writeUTF("/"+inputpad.userChoice.getSelectedItem()+" "+inputWords.getText()); 
inputWords.setText(""); 
} 
catch(Exception ea) 
{ 
chatpad.chatLineArea.setText("chessClient:KeyPressed無(wú)法連接,建議重新連接 \n"); 

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品免费国产二区三区| 日韩精品专区在线影院观看| 日本不卡一区二区三区| 2023国产一二三区日本精品2022| 91在线一区二区三区| 日韩国产欧美三级| 亚洲精品一二三四区| 久久综合色播五月| 337p亚洲精品色噜噜噜| 99久久伊人网影院| 国产成人综合亚洲91猫咪| 首页综合国产亚洲丝袜| 亚洲日本va午夜在线影院| 亚洲精品一区二区在线观看| 欧美午夜精品一区二区蜜桃| 成人免费看的视频| 国产一区二区三区四区五区入口| 亚洲va韩国va欧美va精品| 中文字幕中文字幕在线一区| 久久婷婷国产综合国色天香| 9191成人精品久久| 欧美在线不卡视频| 97成人超碰视| 日韩一区二区精品| 在线视频你懂得一区| youjizz国产精品| 国产成人亚洲精品青草天美| 激情综合亚洲精品| 麻豆视频一区二区| 久久丁香综合五月国产三级网站| 日韩高清一区在线| 日韩精品五月天| 日本中文字幕一区| 日本美女一区二区三区| 婷婷激情综合网| 天堂蜜桃一区二区三区 | 中文字幕中文在线不卡住| 国产视频亚洲色图| 精品国产乱码久久久久久影片| 精品国精品国产尤物美女| 欧美成人精品二区三区99精品| 精品三级av在线| 亚洲精品在线网站| 欧美国产欧美亚州国产日韩mv天天看完整| 久久久国产综合精品女国产盗摄| 精品国产一区二区三区av性色 | 欧美一区二区二区| 日韩一区二区三区四区| 日韩一区二区在线看片| 欧美va亚洲va国产综合| 欧美成va人片在线观看| 26uuu久久天堂性欧美| 久久综合色8888| 国产精品久久久久天堂| 亚洲人成网站在线| 亚洲午夜羞羞片| 日本不卡一区二区| 极品少妇一区二区三区精品视频| 国产精品一区二区久久精品爱涩 | 奇米色777欧美一区二区| 久久精品国内一区二区三区| 毛片基地黄久久久久久天堂| 欧美精品在欧美一区二区少妇| 欧美日韩一区精品| 日韩一二三四区| 精品国产3级a| 国产精品乱码一区二区三区软件 | 久久激情综合网| 国产精品一区二区免费不卡| 91社区在线播放| 欧美日韩一级二级| 久久久99精品久久| 亚洲卡通欧美制服中文| 青青草一区二区三区| 国产成人精品影视| 91国产免费观看| 日韩一级片在线播放| 国产清纯美女被跳蛋高潮一区二区久久w| 国产精品色噜噜| 首页国产欧美日韩丝袜| 福利电影一区二区| 欧美日韩美女一区二区| 久久蜜桃av一区精品变态类天堂| 中文字幕中文字幕在线一区| 午夜国产精品影院在线观看| 国产精品一区二区无线| 欧美日韩视频在线第一区| 久久综合九色欧美综合狠狠| 一区二区三区欧美日| 久久99国产精品麻豆| 91高清在线观看| 26uuu亚洲综合色| 亚洲h动漫在线| 99国产精品久久久久久久久久| 欧美美女视频在线观看| 中文字幕精品三区| 午夜精品久久久久影视| 国产成人av福利| 这里只有精品视频在线观看| 国产午夜一区二区三区| 视频一区二区国产| 99精品久久久久久| wwww国产精品欧美| 午夜视频一区二区| 91污片在线观看| 久久久精品免费观看| 爽爽淫人综合网网站| 在线观看不卡视频| 中文字幕一区三区| 国产精品综合在线视频| 欧美日韩不卡一区| 亚洲欧美区自拍先锋| 国产乱码精品一区二区三区av| 欧美久久久久中文字幕| 亚洲欧美日韩国产另类专区 | 欧美日韩国产一级| ...av二区三区久久精品| 激情综合亚洲精品| 欧美一区二区视频在线观看2020| 亚洲精品一二三| 一本一道综合狠狠老| 国产精品久久久久精k8| 国产成人午夜精品5599| 精品国内二区三区| 国模无码大尺度一区二区三区| 欧美一区二区日韩| 亚洲电影在线播放| 色婷婷综合中文久久一本| 国产一区在线精品| 欧美一级片在线看| 七七婷婷婷婷精品国产| 欧美日韩成人激情| 水野朝阳av一区二区三区| 色吧成人激情小说| 成人h精品动漫一区二区三区| 久久综合九色综合欧美亚洲| 成人午夜激情片| 天天做天天摸天天爽国产一区| 欧美一区二区三区日韩| 国产福利一区在线观看| 国产精品色噜噜| 欧美日韩一级视频| 国产乱国产乱300精品| 国产精品毛片大码女人| 欧美三级中文字幕在线观看| 蜜臀av亚洲一区中文字幕| 26uuu欧美| 欧美美女直播网站| 色综合久久中文综合久久97| 日韩激情一二三区| 国产精品乱码一区二区三区软件| 欧美午夜在线一二页| 国产成人精品亚洲日本在线桃色 | 国产精品99精品久久免费| 自拍偷拍国产精品| 久久亚洲二区三区| 精品sm在线观看| 欧美日韩国产在线观看| 色哟哟一区二区三区| 国产精品夜夜嗨| 日本欧美大码aⅴ在线播放| 亚洲国产一区视频| 欧美成人video| 国产精品一区二区你懂的| 国产精品国产三级国产普通话三级 | 精品中文字幕一区二区| 欧美三级在线看| 国产精品美女久久久久av爽李琼| 色婷婷综合久久久| 日韩成人精品在线| 久久免费美女视频| 一本久久综合亚洲鲁鲁五月天| 亚洲18女电影在线观看| 精品久久久久久久久久久久包黑料| 国产成a人亚洲| 亚洲国产综合91精品麻豆| 精品美女在线播放| 99国产麻豆精品| 青青草精品视频| 国产精品妹子av| 宅男噜噜噜66一区二区66| 国产精品69毛片高清亚洲| 亚洲香蕉伊在人在线观| 乱中年女人伦av一区二区| 蜜臀av一级做a爰片久久| 激情久久五月天| 色噜噜狠狠成人网p站| 欧美日韩精品一二三区| 欧美日韩精品欧美日韩精品一综合| 国产成人丝袜美腿| 不卡高清视频专区| 欧美日韩免费高清一区色橹橹 | 国产亚洲一区二区三区四区| 国产高清成人在线| 国产亚洲自拍一区| 中文字幕中文在线不卡住| 91福利小视频| 秋霞电影网一区二区| 欧美国产激情二区三区| 精品视频在线视频|