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

正文內(nèi)容

網(wǎng)絡聊天與五子棋的設計與實現(xiàn)-資料下載頁

2024-12-06 03:22本頁面

【導讀】密級:公開編號:2021032???指導教師姓名(職稱):???戶提供了更加周到和人性化的服務。個性化已逐漸成為當今網(wǎng)絡應用的潮流。對其具體應用中的實現(xiàn)模塊進行剖析。游戲模塊具有悔棋、戰(zhàn)績顯示、人機對弈、人人對弈、聊天等功。其次,此系統(tǒng)利用java語言進行開發(fā)的。系統(tǒng)使用Socket來完成服務端和。最后,此系統(tǒng)服務端通過定期的將數(shù)據(jù)庫的數(shù)據(jù)存儲到內(nèi)存中的。方式解決數(shù)據(jù)庫并發(fā)訪問的瓶頸問題。

  

【正文】 頁 圖 34 人機對弈算法圖 用戶落棋后計算機取得用戶落棋的位置并以該位置為起點放射性的進行四個方向的搜尋統(tǒng)計棋子。并取得各個方向的棋子加權值(遍歷統(tǒng)計方法采用前面的最小起始點和最大結束點的分割算法)。對四個方向的加權值進行比較取得加權值最大的那個方向作為落棋方向的最優(yōu)方向。再在最優(yōu)方向上搜索空位置落棋,算法流程如下圖: 圖 35 人機對弈流程圖 第 32 頁 共 38 頁 流程說明: 1 用戶下 棋 2 判斷下棋點是否是合法下棋點,是則落下棋子,不是則重新選擇位置下棋。 3 計算機取得用戶落棋的坐標并轉換成棋盤 結構 中的相應位置。 4 在棋盤數(shù)組中以此位置作為起點進行橫向,縱向,斜向搜索。搜索的距離是五個棋子位置的距離。 5 統(tǒng)計各個方向的加權值。 6 根據(jù)各個方向的加權值取得最大加權值 的方向 作為計算機落棋的最優(yōu)方向。 7 在此方向上尋找空位置,如果找到則在空位上落棋,如果沒有找到隨機落棋。 數(shù)據(jù)庫表效率問題 的 解決方案 如果規(guī)范化設計產(chǎn)生了許多 4路或更多路合并關系,而在具體應用中會大量使用這些 合并關系,就可以考慮在數(shù)據(jù)庫實體 (表 )中加入重復屬性 (列 )。 采用標準的范式進行數(shù)據(jù)庫邏輯設計會在存儲空間上獲得補償,但是在性能上會有損失,因此數(shù)據(jù)庫的設計不應僅僅考慮標準的范式,還要根據(jù)具體的應用增加適當?shù)娜哂?。為了減少實體外部屬性數(shù)據(jù)或行數(shù)據(jù)的開支而把 1個實體 (表 )垂直分割成 2 個表 (把所有的屬性分成 2組 )。這樣就把頻繁被訪問的數(shù)據(jù)同較少被訪問的數(shù)據(jù)分開了。所以把用戶信息表分割成了兩個表,一個是用戶永久不變的信息表和用戶經(jīng)常變動的好友表。而單獨把游戲數(shù)據(jù)的信息構造成一個表。 圖 36 數(shù)據(jù)庫設計圖 第 33 頁 共 38 頁 防止灌水性注冊的解決方案 本程序中采用了兩種方式注冊用戶一種是在 應用程序中注冊。另一種是在網(wǎng)頁中注冊。現(xiàn)在在應用程序中注冊不會出現(xiàn) 灌水性注冊。但在網(wǎng)頁中注冊時卻容易出現(xiàn)灌水性注冊 (沒有目的的大量注冊用戶) ,所以在網(wǎng)頁注冊的時候選擇了填寫驗證碼的機制來防止惡意用戶的注冊。如下圖所示: 圖 37 驗證碼 整體提升性能的解決方案 性能提 升 的原則和方法主要在以下幾個方面: 凡是大量用到字符串連接的操作時,變量結構摒棄 String 而是采用StringBuider,原因是 String 的連接操作會產(chǎn)生新的變量 。這樣對內(nèi)存的開銷會 有很大的浪費 , 同時對于 gc 也是一個很大的負擔。程序中涉及查詢的結構時都是采用 hash 的方式。對于不需要同步的則采用 hashmap 這樣可以減少很多關于同步機制維護的開銷。對于同步的則采用 hashtable 的方式進行。對于動 態(tài)數(shù)組的選擇根據(jù)應用采用不同的動態(tài)數(shù)組。對于只需要快速隨機訪問的操作, 則采用arrylist 而對于需要頻繁的插入和刪除采用 linkedlist。對于 server 端和客戶端的數(shù)據(jù)包傳送,盡量用 String 類型的數(shù)據(jù)流進行傳送。而對于大量異構類型的數(shù)據(jù)傳送則采用序列化類。 在 服務端于客戶端 之間傳送類。在讀字符流的時候采用bufferreader 進行快速讀取。 用戶下載好友和黑名單列表信息 的 實現(xiàn)說明 當用戶登錄聊天程序后輸入合法的帳戶 并 發(fā)送到服務器端去驗證 ,當服務器端驗證成功后就根據(jù)用戶的帳戶在內(nèi)存表中查詢該用戶的所有好友和黑名單信息,并放入一個用戶信息類列表中。因為 list 是可序列化的類類型。所 以 通過序列化的方式傳送到客戶端,客戶端收到數(shù)據(jù)后將用戶信息類進行反序列化得到原始數(shù)據(jù)。并根據(jù)這些信息來填寫自己的好友列表好黑名單列表。 多人并發(fā)聊天的實現(xiàn)方式 客戶端根據(jù)記 錄每個用戶聊天的聊天窗口對象來處理多人聊天的信息記錄及信息的顯示。服務端根據(jù)記錄每個連接用戶的線程信息來處理每個用戶的業(yè)務。其具體流程如下: 1 服務端接收到聊天請求數(shù)據(jù)后,分析該數(shù)據(jù)得到要聊天者的信息。 2 服務端到線程記錄表中查找是否有該聊天者的線程記錄。如果有的話就把數(shù)據(jù)交給該線程進行轉發(fā),如果沒有則 向 請求 者 返回相應的提示信息。 3 客戶端接收到消息后分析數(shù)據(jù)。如果是聊天數(shù)據(jù)就到聊天窗口信息記錄表第 34 頁 共 38 頁 中查找是否有 該 聊天者的窗口對象,有則換出,并設置為活躍窗口,進行信息的顯示 。沒有則建立該用戶的聊天窗口對象 ,并將對象加入到聊天窗口信息記錄表中。如果是錯誤提示信息則顯示提示信息。 多用戶并發(fā)下棋的實現(xiàn)方式 多用戶并發(fā)下棋主要是由服務端負責。首先客戶端的游戲大廳界面構造采用了臺面類作為元素構造多臺面的游戲大廳。 其次服務端定義了臺面狀態(tài)類。該類中含有與該臺面的椅子信息屬性, ip 屬性,輸入輸出流屬性。主要流程如下: 1 客戶端選擇臺面進入游戲,就會向服務端發(fā)送入座的臺面和臺面中的椅子位置。 2 服務端接收到數(shù)據(jù)對其分析,最后 將該客戶的臺面和椅子信息記錄到負責該客戶的線程中的臺面狀態(tài)類的相應屬性中。 3 客戶端 下棋,并向服務端發(fā)送相應的數(shù)據(jù)包。 4 服務端接收到下棋數(shù)據(jù)包后進行分析,取得數(shù)據(jù)包中的臺面和椅子信息并用服務端相應的臺面線程來負責數(shù)據(jù)的轉發(fā)。 5 客戶端收到信息后更新自己界面中的數(shù)據(jù)。 6 跳轉到 3中繼續(xù)執(zhí)行。 用戶移動好友,刪除好友,增加好友的實現(xiàn)說明 用戶在選擇了移動好友,刪除好友,增加好友的業(yè)務時,均采用客戶端向服務端發(fā)送包含業(yè)務相關信息的數(shù)據(jù)包。服務端分析數(shù)據(jù)包并請求數(shù)據(jù)層進行數(shù)據(jù)庫操作。只有在數(shù)據(jù)層操作成功的情況下,客戶端才能更新結果。 棋盤結構的構造說明 游戲客戶端用做 好的圖片作為棋盤。程序中用二維數(shù)組來存儲棋盤中的交叉點。 程序啟動后此數(shù)組的各元素值均為 0,用戶下棋后系統(tǒng)會取得下棋的坐標點,系統(tǒng)將坐標點進行調整轉換為二維數(shù)組中的相應 維 的位置。 并存儲到數(shù)組中。黑棋子則存儲 1,白棋子則存儲 1,空位則存儲 0。 游戲積分處理的實現(xiàn)說明 游戲采用積分制度。每一種游戲狀態(tài)都對應一定的積分。 程序中定義存儲積分信息的積分類。當游戲結果出來時客戶端取得記錄自己積分信息類的對象中的積分信息并與本次的積分作累加再寫入到對象的屬性中。同時也取得記錄對方的積分信息類的對象的積分信息并與 本次對方應 得 的積分作累加再寫入到對象的屬性中 ,同時發(fā)送到服務端,服務端向數(shù)據(jù)層發(fā)送消息進行數(shù)據(jù)的存儲。 最后呈現(xiàn)給用戶并更新到戰(zhàn)績顯示面板中。程序中的自己的積分信息和對方的積分信息是單獨統(tǒng)計的。如果對方贏棋則自己的積分減少 5 分,對方積分加 5分,如果自第 35 頁 共 38 頁 己贏棋則對方信 積分 減少 5 分 , 自己 積分 加 5 分。如果對方悔棋成功則自己獎勵積分加 5 分,對方處罰積分加 2分。如果自己悔棋成功,則自己懲罰積分加 2分 ,對方獎勵積分加 5 分。 最后統(tǒng)計分數(shù)的公式 =獲勝積分 +獎勵積分 處罰積分。 悔棋功能的實現(xiàn)方式 系統(tǒng)通過將每一步棋 子的位置進棧,當有悔棋請求時,將棧頂元素出棧,將相應棋盤數(shù)組中的位置設置為 0。刷新棋盤。當棧中沒有元素時,悔棋業(yè)務失效。 音樂播放器的實現(xiàn)說明 音樂播放器主要是在多線程中工作。程序中界面類負責線程的管理, 主要由SongTablePane(歌曲點播面板 ), PlayMusic(音樂播放類 ), WaveGraphPane(音樂曲線圖繪制類 )。 界面中負責各個線程的啟動為停止或者掛起。歌曲點播面板 負責歌曲的顯示和對歌曲的控制。音樂播放類負責對歌曲的播放。音樂曲線圖繪制類負責對把音樂中的 ” 音 ” 用圖形的形式繪制出來 。 第 6 章系統(tǒng)測試與性能分析 在程序中為每個測試模塊 的 關鍵點進行數(shù)據(jù)捕捉,然后打印出來。再結合真實模擬測試。進行對比分析。如果打印出來的數(shù)據(jù)正常而頁面反映出來的數(shù)據(jù)不正常則是表示層的問題。如果界面正常,而打印出來到數(shù)據(jù)有問題說明邏輯上的設計有錯誤。 系統(tǒng)要求:支持 java 虛擬機 運行環(huán)境: Java 虛擬機 瀏覽器:支持 java 插件的瀏覽器 內(nèi)存: 至少 20M 硬盤: 至少 20M 驅動: Microsoft SQL Server 2021 Driver for JDBC Service pack3 數(shù)據(jù)庫: MS SQL2021 測試條件 : 具有 合 法帳戶 系統(tǒng)性能分析 系統(tǒng)中由于采用了數(shù)據(jù)庫到內(nèi)存 , 所 以服務器 對用戶的內(nèi)存要求較高。在以內(nèi)存耗費為代價下提高了查詢速度, 并 解決了并發(fā)訪問數(shù)據(jù)庫瓶頸的問題。 整 個系統(tǒng)能滿足大量用戶的同時并發(fā)操作,而在網(wǎng)絡速度比較慢的情況下也就會延遲5秒左右。 第 36 頁 共 38 頁 結論 經(jīng)過幾個月的時間終于完成 網(wǎng)絡 聊天與五子棋的設計與實現(xiàn) 。 經(jīng)過多次測試,運行效果良好。能滿足用戶聊天和休閑愉悅的需求。如果在系統(tǒng)中加入文件的傳輸和語音的傳輸,再進一步 完善 各功能模塊, 就可以作為大眾 化 的網(wǎng)絡聊天工具。 此五子棋游戲能夠在互連網(wǎng)中進行雙人對弈。 博弈是人工智能的主要研究領域之一,他涉及人工智能中的推理技術、搜索方法和決策規(guī)劃 。本系統(tǒng) 人機對弈的算法 采用 棋盤 最小推算點 的 局部遍歷的方法 ,在判斷 精度 上 不是很高, 有待于繼續(xù)優(yōu)化邏輯實現(xiàn)上的代碼,進行更細致的劃分和處理 。 系統(tǒng)中刷新數(shù)據(jù)到內(nèi)存的方法能很好的解決數(shù)據(jù)庫并發(fā)訪問 的瓶頸 問題,此方法適合大量查詢數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)如:炒股軟件,地鐵路線查詢系統(tǒng),訂票系統(tǒng)等 。 通 過序列化類的方式在服務端與客戶端傳送大量異構型數(shù)據(jù)。通過此技術可以解決跨應用程序 邊界進行訪問數(shù)據(jù)的目的。 程序中利用了 Factory 模式和 Proxy 模式和 Bridge 模式,有利于程序的擴展。 參考文獻 [1] 方睿,刁仁宏,吳四九 .網(wǎng)絡數(shù)據(jù)庫原理與應用 [M].四川: 四川大學出版社 ,2021 [2] 葉至軍 .Java2 自學教程 [M].北京: 人民郵電出版社 ,2021。 [3] 鄭阿奇 ,王燕平 ,湯玫 .ASP 程序設計教程 [M].北京:機械工業(yè) 出版社 ,2021。 [4] Mick O′ ( 版 )[M].北京:清華大學出版社 ,2021。 [5] 殷兆 麟,張永平,姜淑娟 .Java網(wǎng)絡高級編程 [M].北京:清華大學出版社 ,北京交通大學出版社, 2021。 [6] 結城浩 .設計模式 JAVA語言中的應用 [M].北京: 中國鐵道 出版社 ,2021。 [7] 里德 .JAVA與 UML 協(xié)同應用開發(fā) [M].北京:清華大學出版社 ,2021。 [8] Wendy Boggs, Michael Boggs .UML with Rational Rose 從入門到精通 [M].北京: 電子工業(yè)出版社 ,2021。 第 37 頁 共 38 頁 致謝 本文是在 ???老師的熱情關心和指導下完成的,他淵博的知識和嚴謹?shù)闹?學作風使我受益匪淺,對順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝! 在論文完成過程中,本人還得到萬得信息技術股份有限公司 CTO???和 萬得信息技術股份有限公司的子公司萬點 的 Director???的熱心幫助,本人向他們表示深深的謝意! 最后向在百忙之中評審本文的各位專家、老師表示衷心的感謝! 作者簡介: 姓 名: ??? 性別:男 出生年月: 1984 年 07 月 民族:漢 Email: ???@第 38 頁 共 38 頁 聲明 本論文的工作是 2021年 2月至 2021年 6月在成都信息工程 學院網(wǎng)絡工程系完成的。文中除了特別加以標注地方外,不包含他人已經(jīng)發(fā)表或撰寫過的研究成果,也不包含為獲得成都信息工程學院或其他教學機構的學位或證書而使用過的材料。除非另有說明,本文的工作是原始性工作。 關于學位論文使用權和研究成果知識產(chǎn)權的說明 本人完全了解成都信息工程學院有關保管使用學位論文的規(guī)定,其中包括: ( 1)學校有權保管并向有關部門遞交學位論文的原件與復印件。 ( 2)學??梢圆捎糜坝 ⒖s印或其他復制方式保存學位論文。 ( 3)學??梢詫W術交流為目的復制、贈送和交換學位論文。 ( 4)學??稍试S學位論文被 查閱或借閱。 ( 5)學校可以公布學位論文的全部或部分內(nèi)容(保密學位論文在解密后遵守此規(guī)定)。 除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學院。 特此聲明! 作者簽名: 年 月 日
點擊復制文檔內(nèi)容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1