資源簡介
多功能分布式三子棋游戲TicTacToe_Java源碼(含編譯和運(yùn)行的腳本程序)
三子棋/一字棋
B/S模式
包含詳細(xì)的設(shè)計(jì)文檔和測試文檔

代碼片段和文件信息
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Container;
import?java.awt.Graphics;
import?java.awt.GridLayout;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?java.awt.event.MouseEvent;
import?java.awt.event.MouseListener;
import?java.io.DataInputStream;
import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.Socket;
import?java.net.UnknownHostException;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JOptionPane;
import?javax.swing.JPanel;
import?javax.swing.border.LineBorder;
import?ticTacToe.TicTacToeConstant;
/**
?*?多功能分布式三子棋游戲?-?客戶端
?*?
?*?@see?TicTacToeConstant
?*?@see?TicTacToeServer
?*?@author?陳澤維?07302548?網(wǎng)絡(luò)工程
?*?@version?v1.01
?*/
public?class?TicTacToeClient?extends?Jframe
implements
TicTacToeConstant
ActionListener?{
/**
?*?缺省串行版本標(biāo)識(shí)
?*/
private?static?final?long?serialVersionUID?=?1L;
/**
?*?窗口頂部的玩家基本信息欄文本
?*/
private?JLabel?infoLabel?=?new?JLabel();
/**
?*?窗口頂部的玩家基本信息欄面板
?*/
private?JPanel?infoPanel?=?new?JPanel();
/**
?*?窗口中間的棋盤面板
?*/
private?JPanel?gridPanel?=?new?JPanel();
/**
?*?窗口中間的功能面板
?*/
private?JPanel?optionPanel?=?new?JPanel();
/**
?*?窗口底部的玩家狀態(tài)信息欄
?*/
private?JLabel?stateLabel?=?new?JLabel();
/**
?*?功能按鈕:重開本局
?*/
private?JButton?newGameButton?=?new?JButton(“重開本局“);
/**
?*?功能按鈕:悔棋
?*/
private?JButton?retractButton?=?new?JButton(“悔棋“);
/**
?*?功能按鈕:認(rèn)輸
?*/
private?JButton?giveUpButton?=?new?JButton(“認(rèn)輸“);
/**
?*?功能按鈕:結(jié)束
?*/
private?JButton?endGameButton?=?new?JButton(“結(jié)束“);
/**
?*?功能按鈕:關(guān)于
?*/
private?JButton?aboutButton?=?new?JButton(“關(guān)于“);
/**
?*?保存所按下的按鈕
?*/
private?int?currentOption;
/**
?*?保存棋盤狀態(tài)用于實(shí)現(xiàn)悔棋功能
?*/
private?char[][][]?lastBoard?=?new?char[10][3][3];
/**
?*?初始化棋盤的所有格子
?*/
private?TicTacToeCell[][]?ticTacToeCell?=?new?TicTacToeCell[3][3];
/**
?*?標(biāo)識(shí)自己(X為玩家1,O為玩家2)
?*/
private?char?myToken?=?‘?‘;
/**
?*?標(biāo)識(shí)對(duì)方
?*/
private?char?otherToken?=?‘?‘;
/**
?*?當(dāng)棋盤格子狀態(tài)改變時(shí),變量表選中行號(hào);當(dāng)功能按鍵被觸發(fā)時(shí),變量表狀態(tài)選中序號(hào)(處理請(qǐng)求或處理返回)
?*/
private?int?rowOrStateSelected;
/**
?*?當(dāng)棋盤格子狀態(tài)改變時(shí),變量表列號(hào);當(dāng)功能按鍵被觸發(fā)時(shí),變量表選項(xiàng)序號(hào)
?*/
private?int?columnOrOptionselected;
/**
?*?是否發(fā)送走棋信息
?*/
private?boolean?isSendStep;
/**
?*?是否輪到自己走棋
?*/
private?boolean?myTurn?=?false;
/**
?*?等待玩家選擇下一步走棋
?*/
private?boolean?waiting?=?true;
/**
?*?到服務(wù)器端的輸入輸出流
?*/
private?DataInputStream?serverInput;
private?DataOutputStream?serverOutput;
/**
?*?是否已經(jīng)開始
?*/
private?boolean?isBeginRun?=?false;
/**
?*?是否繼續(xù)游戲
?*/
private?boolean?continueToPlay?=?true;
/**
?*?用于與服務(wù)器端連接的IP地址(默認(rèn)為本地主機(jī),具體由玩家確定)
?*/
private?String?host?=?“l(fā)ocalhost“;
/**
?*?用于與服務(wù)器端連接的端口號(hào)信息
?*/
private?int?port?=?55555;
/**
?*?構(gòu)造函數(shù)?-?創(chuàng)建客戶端程序
?*?
?*?@see?TicTacToeClient
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????258??2009-12-31?03:29??TicTacToe\bulit.bat
?????文件?????588288??2010-01-01?17:12??TicTacToe\design.doc
?????文件???????2056??2010-01-01?05:33??TicTacToe\readme.txt
?????文件?????807936??2010-01-01?17:12??TicTacToe\test.doc
?????文件????????118??2009-12-31?01:08??TicTacToe\TicTacToeClient.bat
?????文件????????123??2009-12-31?01:09??TicTacToe\TicTacToeServer.bat
?????文件????????217??2009-12-31?22:59??TicTacToe\生成javadoc.bat
?????文件??????23125??2009-12-31?18:37??TicTacToe\src\TicTacToeClient.java
?????文件???????3710??2009-12-31?18:37??TicTacToe\src\TicTacToeServer.java
?????文件??????10254??2009-12-31?18:38??TicTacToe\src\ticTacToe\TicTacToeBoard.java
?????文件???????2102??2009-12-31?18:38??TicTacToe\src\ticTacToe\TicTacToeConstant.java
?????文件???????1032??2009-12-31?22:59??TicTacToe\doc\allclasses-fr
?????文件????????952??2009-12-31?22:59??TicTacToe\doc\allclasses-nofr
?????文件??????15326??2009-12-31?22:59??TicTacToe\doc\constant-values.html
?????文件???????4830??2009-12-31?22:59??TicTacToe\doc\deprecated-list.html
?????文件???????7676??2009-12-31?22:59??TicTacToe\doc\help-doc.html
?????文件??????32182??2009-12-31?22:59??TicTacToe\doc\index-all.html
?????文件???????1330??2009-12-31?22:59??TicTacToe\doc\index.html
?????文件???????1081??2009-12-31?22:59??TicTacToe\doc\overview-fr
?????文件???????5133??2009-12-31?22:59??TicTacToe\doc\overview-summary.html
?????文件???????6795??2009-12-31?22:59??TicTacToe\doc\overview-tree.html
?????文件????????971??2009-12-31?22:59??TicTacToe\doc\package-fr
?????文件?????????13??2009-12-31?22:59??TicTacToe\doc\package-list
?????文件???????5493??2009-12-31?22:59??TicTacToe\doc\package-summary.html
?????文件???????6500??2009-12-31?22:59??TicTacToe\doc\package-tree.html
?????文件??????10458??2009-12-31?22:59??TicTacToe\doc\serialized-form.html
?????文件???????1137??2009-12-31?22:59??TicTacToe\doc\st
?????文件??????58401??2009-12-31?22:59??TicTacToe\doc\TicTacToeClient.html
?????文件??????30278??2009-12-31?22:59??TicTacToe\doc\TicTacToeClient.TicTacToeCell.html
?????文件??????28679??2009-12-31?22:59??TicTacToe\doc\TicTacToeServer.html
............此處省略22個(gè)文件信息
評(píng)論
共有 條評(píng)論