freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

五子棋設計報告(參考版)

2024-08-14 09:28本頁面
  

【正文】 清華大學出版社 . 2022 年 11 月 [6] 孫更新 等 . Java 畢業(yè)設計指南與項目實踐[M]. 科學出版社 . 2022 年 03 月[7] 單文仁 . Java 在我國的應用現(xiàn)狀和發(fā)展趨勢[J]. 《科技成果縱橫》. 2022 年 2期18制作人:。在此謹向劉老師致以誠摯的謝意和崇高的敬意。每當我遇到困難時,是劉老師不厭其煩的講解為我排除了困難,使我在編程的過程中學到了許多知識。他嚴肅的科學態(tài)度,嚴謹?shù)闹螌W精神,精益求精的工作作風,深深地感染和激勵著我。本次期末設計已經(jīng)接近尾聲,作為一個大二學生的設計論文,由于經(jīng)驗的匱乏,難免有許多考慮不周全的地方,如果沒有劉嘉欣老師的督促,這次畢業(yè)設計中我肯定要走許多彎路。16致謝通過這次課程設計,我進一步加深對基礎(chǔ)理論的理解,擴大專業(yè)知識面,對收集資料、查閱文獻、方案制定等實踐方面得到了很好的鍛練,促進對所學知識應用能力的提高。對游戲邏輯模塊進行優(yōu)化,進一步提高時間性能和可擴展性,以適應將來新的需求和變化。完成了網(wǎng)絡五子棋對弈系統(tǒng)的總體方案的設計,以 為軟件語言基礎(chǔ),以 Eclipse 為軟件開發(fā)工具,完成了對弈系統(tǒng)各模塊的設計,其中包括服務器模塊、客戶端模塊以及美化界面方面的設計。針對對弈系統(tǒng)的具體要求,構(gòu)建了基于 C/S 模式的網(wǎng)絡五子棋對戰(zhàn)系統(tǒng)。7. 總結(jié)經(jīng)過系統(tǒng)的設計與實現(xiàn),一個能夠?qū)崿F(xiàn)人機對戰(zhàn)和網(wǎng)絡對戰(zhàn)的網(wǎng)絡五子棋系統(tǒng)基本完成。 網(wǎng)絡客戶端測試用例用例名稱:網(wǎng)絡客戶端功能用例描述:玩家連接上服務器后,能夠與其他玩家進行正常的對弈操作。軟 件 測 試 的 目 的 :(1)測 試 并 不 僅 僅 是 為 了 找 出 錯 誤 。6. 軟件實現(xiàn)與測試14 軟件測試方案軟件測試就是利用測試工具按照測試方案和流程對產(chǎn)品進行功能和性能測試,甚至根據(jù)需要編寫不同的測試工具,設計和維護測試系統(tǒng),對測試方案可能出現(xiàn)的問題進行分析和評估。遍歷棋型表 Computer[15][15][4]和 Player[15][15][4]找出其中數(shù)值最大的一點,在該點下子即可。然后再用同樣的方法填寫電腦的棋型表。左邊完成后再向右進行同樣的操作;最后把左右兩邊的記錄合并起來,得到的數(shù)據(jù)就是該點橫向上的棋型,然后把棋型的編號填入到 Computer[x][y][n]中就行了(x、 y 代表坐標,n=0、3分別代表橫、豎、左斜、右斜四個方向)。但是,電腦不會像人一樣分析問題,要讓它知道哪是“活三”、哪是“沖四”,就得在棋盤上逐點計算,一步一步的教它。(3)玩家下子:當輪到玩家下時,玩家通過鼠標在棋盤上落子,程序會根據(jù)該點的位置,在 board[21][21]數(shù)組的相應地方記錄。那為什么棋型表要使用三維數(shù)組呢?因為棋盤上的每一個點都可以與橫、豎、左斜、右斜四個方向的棋子構(gòu)成不同的棋型,所以一個點總共有 4 個記錄;這樣做的另一個好處是可以輕易判斷出復合棋型,例如:如果同一點上有 2 個‘15’就是雙三、有一個‘15’和一個‘20’就是四三。(2)落子算法分析[1] 數(shù)據(jù)結(jié)構(gòu)首先為整個棋盤建立一張表格用以記錄棋子信息,使用一個 21*21 的二維數(shù)組 board[21][21],數(shù)組的每一個元素對應棋盤上的一個交叉點,用‘0’表示空位、‘1’代表黑子、‘2’代表白子;這張表也是今后分析的基礎(chǔ)。 [眠二 ]再走一著可以形成眠三的二。 [死三 ]不能成五的三。 [活三 ]再走一著可以形成活四的三。 [沖四 ]只有一個點可以成五的四。 [成五 ]含有五枚同色棋子所形成的連,包括五連和長連。如果游戲獲勝,則方法返回真值;否則返回假值。(5)方法 judge(int,int,int)用于判斷當前棋子落下時是否游戲勝負已分。(4)方法 is_Full()用于判斷當前棋盤是否已無處落子,即棋盤是否已滿。(2)方法 clearBoard()用于清空棋盤以及一些變量的初始化操作。 棋盤類的主要方法(1)方法 paint(Graphics)用于繪制棋盤、棋子以及棋盤的背景圖片。(2)方法 restart() 用于重新開始游戲,在此方法中要求將倒計時信息重新初始化,并且進行清理棋盤操作。第一個參數(shù)是連接服務器的 IP地址,第二個參數(shù)是連接服務器的端口號。 網(wǎng)絡客戶端設計網(wǎng)絡客戶端主要用于發(fā)送和接收服務器的消息。(3)方法 keyPressed(KeyEvent e)用于聊天功能的實現(xiàn),當玩家在輸入框中輸入了聊天信息后,用戶按回車鍵發(fā)送消息即觸發(fā)此事件。在此方法中主要實現(xiàn)了玩家修改名字、創(chuàng)建游戲、邀請游戲、加入游戲、放棄游戲以及人機對戰(zhàn)等各個按鈕的功能。主要方法:(1)方法 launchFrame()用于在玩家客戶端啟動時,為用戶發(fā)送連接服務器信息,并且加載詩詞顯示及背景音樂的播放。(2)在主類 chessServer 中,其用于接受客戶端連接信息的函數(shù) start(),服務器端每接收一個客戶端連接,就會為每個客戶端在服務器端啟動一個UDPThread 線程,UDPThread 類繼承了 Thread,它集成了服務器端的所有功能,包括與各客戶端之間的相互通信,轉(zhuǎn)發(fā)信息。服務器套接字等待請求通過網(wǎng)絡傳入。udpSocket = new DatagramSocket(UDP_PORT)。接收客戶端的信息,接收信息后按照此客戶端的要求將信息發(fā)送到相應的客戶端,服務器端起到了中轉(zhuǎn)的作用。為真時,玩家可以悔棋;為假時,玩家不可以悔棋。因為網(wǎng)絡對弈要求當一玩家下完后,對方才能落子,因此當此變量為真時,玩家可以落子;當此變量為假時,玩家不可以落子。如果當前玩家是與電腦對弈,此變量值為真;否則為假。結(jié)果為 1 表示(x,y)位置為黑子,結(jié)果為 2 表示(x,y)位置為白子。 棋盤類棋盤類的主要功能是繪制玩家的棋盤狀態(tài)與棋子信息以及電腦落子算法的實現(xiàn)。2. isChess用于判定玩家是否已經(jīng)在開局游戲中。 游戲客戶端游戲客戶端的主要功能是為了初始化和組織用戶界面,并且定義了各個按鈕的功能。服務器類的主要對象:1. TCP_PORT:服務器端用于建立套接字的端口號,為了可靠的用戶連接,因此在服務器端定義了此端口號為 TCP 的,主要用于建立服務器端與客戶端的 TCP 連接。另一部分是客戶端發(fā)送給服務器端需要服務端轉(zhuǎn)發(fā)給其他客戶端的消息。 游戲各主要類的功能與主要對象 服務器類服務器類用于接收客戶端的連接,并為每個客戶端在服務器端啟動單獨的一個守護線程,線程的主要功能是接收客戶端發(fā)送過來的消息并做出相應的處理,客戶端發(fā)送到服務器端的主要消息有兩部分:一部分是客戶端發(fā)送給服務器端需要服務器端進行處理的。ChessPad 類:主要用于繪制玩家棋盤及棋子。controlPad 用于對當前的游戲界面進行實時的控制,包括:建立游戲、加入游戲、放棄游戲、悔棋和人機對戰(zhàn)。此游戲界面簡單,用戶易操作上手,適合各個年齡的人群。 客戶端 用戶操作界面玩家進入游戲界面時,首先會彈出一個對話框,提示用戶連接服務器,當玩家連接上服務器后,就會在界面右上角給出用戶的初始玩家名,在聊天內(nèi)容框中會給出用戶提示,提醒玩家先創(chuàng)建游戲或者加入別的玩家建立好的游戲,此外如果玩家不想與其他玩家對弈,也可以選擇人機對戰(zhàn),和電腦對弈。7 系統(tǒng)主流程某方勝利某方勝利某方退出網(wǎng)絡對弈無人機對弈否否某方退出開始初始化游戲模式主循環(huán)控制分析盤面并填寫棋型表玩家落子電腦落子客戶端一 客戶端二主循環(huán)控制判斷勝負結(jié)束判斷勝負重新開始服務器 開始 網(wǎng)絡五子棋游戲流程圖8 玩家視圖與操作 服務器端 服務器端主要通過建立流連接來連接客戶端,與客戶端進行相互通信、轉(zhuǎn)發(fā)信息。? 勝負判斷模塊:根據(jù)預先設定的規(guī)則,判斷游戲勝負。? 分析盤面填寫棋型表模塊:本程序核心模塊之一,人工智能算法的根本依據(jù)。? 主循環(huán)控制模塊:負責控制下棋順序,當輪到某方下子時,負責將程序流程轉(zhuǎn)到相應的模塊中,主要擔當一個調(diào)度者的角色。所謂協(xié)議就是程序之間交互的信息的格式規(guī)定, 服務端和客戶端都遵循該協(xié)議才能夠進行對話, 通俗講是人類之間的語言 [8]。服務端程序通過一個 Thread 線程類監(jiān)聽客戶端的連接,一旦客戶連接,為該客戶建立連接并啟動一個特定的客戶 thread,利用該連接不斷從客戶讀取數(shù)據(jù),實現(xiàn)客戶和服務器或者客戶與客戶之間的信息的交互。在 C/S 模式游戲中,Server 一般提供所有用戶的
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1