五子棋 java 课设,五子棋java课程设计
五子棋java課程設(shè)計(jì)
目目 錄錄 一、課程設(shè)計(jì)任務(wù)及要求 1 二、需求分析. 1 2.1 棋盤板塊 .1 2.2 聊天板塊 .1 2.3 ChatSever .1 2.4 編譯環(huán)境 .1 2.5 參考資料 .1 三、設(shè)計(jì)思路. 1 3.1 板塊的顯示 .1 3.2 注冊(cè)監(jiān)聽 .2 3.3 ChatServer . 2 3.4 下棋 .2 四、詳細(xì)設(shè)計(jì). 3 4.1 WuZiQi 類 3 4.2 ChatSever 類 4 4.3 多用戶聊天 5 4.4 流程圖 .6 五、運(yùn)行調(diào)試與分析討論 7 六、設(shè)計(jì)體會(huì)與小結(jié) . 9 七、參考文獻(xiàn). 10 第 1 頁 一、課程設(shè)計(jì)任務(wù)一、課程設(shè)計(jì)任務(wù)及要求及要求 1、五子棋游戲室界面用戶可以選擇對(duì)弈桌及角色(執(zhí)黑、執(zhí)白、旁觀) ; 2、游戲界面有開始、退出、悔棋、判斷勝負(fù);發(fā)言及顯示區(qū);用戶列表 區(qū);棋盤繪制區(qū); 3、使用 Socket 來完成服務(wù)端和客戶端的通信; 4、使用多線程技術(shù)支持多用戶操作; 5、增強(qiáng)功能支持用戶注冊(cè)、添加和刪除好友、戰(zhàn)績(jī)顯示、發(fā)送消息、接 受消息、多人聊天等功能;使用數(shù)據(jù)庫(kù)保存用戶信息。 二、需求分析二、需求分析 2.1 棋盤板塊 畫一個(gè) 1515 的棋盤版面,及兩個(gè)按鈕組。初始化開始、重置、 退出;角色選擇黑方、白方、旁觀。 2.2 聊天板塊 聊天信息顯示區(qū),聊天信息輸入?yún)^(qū)。 2.3 ChatSever 模擬服務(wù)器用于橋接不同用戶,實(shí)現(xiàn)接收用戶發(fā)出的信息,然后 將信息傳遞到每個(gè)用戶的聊天窗口。 2.4 編譯環(huán)境 Eclipse 實(shí)驗(yàn)室上機(jī) 在宿舍編寫 2.5 參考資料 Java 語言使用教程,百度文庫(kù)資料(五子棋判斷勝負(fù)算法) 。 三、設(shè)計(jì)思路三、設(shè)計(jì)思路 3.1 板塊的顯示 畫棋盤 調(diào)用public void paintGraphics gQiPang;方法 畫一個(gè)1515的棋盤面版。 初始化 定義兩個(gè) Panel P1、P2,在初始化板塊將 JButton 開始、 重置,退出加入到 P1,將黑方、白方、旁觀加入到 P2。 第 2 頁 聊天板塊 在初始化時(shí)定義一個(gè)JTextArea 和一個(gè)JTextField 實(shí)現(xiàn)聊 天功能 3.2 注冊(cè)監(jiān)聽 對(duì)角色選擇按鈕注冊(cè)ActionListener監(jiān)聽,設(shè)置用戶的角色。定義黑子 int類型 0,白子1。 對(duì)按鈕開始、重置注冊(cè)ActionListener監(jiān)聽,如果點(diǎn)擊開始,用戶進(jìn) 入 下棋狀態(tài),有一方贏了,棋盤上則不能再點(diǎn)擊棋子。點(diǎn)擊重置,則開始新 的一輪。 對(duì)鼠標(biāo)注冊(cè)mouseClicked監(jiān)聽,鼠標(biāo)點(diǎn)擊棋盤時(shí)獲取下棋的位置。 對(duì)JTextField注冊(cè)ActionListener,用戶輸入聊天信息后,通過Server 傳遞給其他用戶,在對(duì)話框JTextArea內(nèi)顯示。 3.3 ChatServer class ServerThread implements Runnable 類監(jiān)聽線程,監(jiān)聽是否有客 戶端法過信息來。 屬性 Vector threads 向量存儲(chǔ)線程 Socket socket 服務(wù)端口 DataStream in 輸入流 DataOutputStream out 輸出流 int nid 用戶ID 方法 構(gòu)造器public ServerThreadSoc
總結(jié)
以上是生活随笔為你收集整理的五子棋 java 课设,五子棋java课程设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode#17 Python解
- 下一篇: u8 u16 u32 u64 c++