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

正文內(nèi)容

java五子棋畢業(yè)設(shè)計--java五子棋對弈程序的設(shè)計與實現(xiàn)-文庫吧

2025-01-03 12:57 本頁面


【正文】 過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。下面簡要介紹部分需求的數(shù)據(jù)流圖: 用戶登錄數(shù)據(jù)流圖(DFD)在用戶登錄過程當(dāng)中,用戶輸入的信息經(jīng)過加工處理后,通過對數(shù)據(jù)庫的查詢后返回給程序該用戶的權(quán)限,數(shù)據(jù)流圖(圖31)如下:用戶接受用戶信息處 理信 息輸入信息查詢信息用戶信息表(UserInfo)用戶產(chǎn)生查詢結(jié)果權(quán)限信息權(quán)限信息圖31 用戶登錄數(shù)據(jù)流圖(DFD)知道用戶權(quán)限后,通過查詢用戶游戲信息,顯示用戶游戲信息。數(shù)據(jù)流圖(圖32)如下:用戶接受權(quán)限信息處理信息用戶每次游戲信息(UserDish)產(chǎn)生結(jié)果用戶權(quán)限查詢信息游戲信息游戲信息圖32 普通用戶數(shù)據(jù)顯示數(shù)據(jù)流圖(DFD)知道用戶權(quán)限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。數(shù)據(jù)流圖(圖33)如下用戶接受權(quán)限信息處理信息用戶每次游戲信息(UserDish)產(chǎn)生結(jié)果用戶權(quán)限查詢信息游戲信息游戲信息用戶信息表(UserInfo)圖33 管理員用戶數(shù)據(jù)顯示數(shù)據(jù)流圖(DFD)知道用戶權(quán)限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。數(shù)據(jù)流圖(圖34)如下:用戶接受數(shù)據(jù)處理信息用戶該盤棋該步棋信息(UserStep)產(chǎn)生結(jié)果用戶數(shù)據(jù)查詢信息游戲信息游戲信息圖34 用戶棋局回放數(shù)據(jù)流圖4 JAVA五子棋對弈系統(tǒng)分析與設(shè)計此系統(tǒng)為智力游戲,適合于各類游戲愛好者。由于其經(jīng)典性及其游戲的簡單性,各類人士都可以也都愛玩。人們在與電腦對戰(zhàn)享受娛樂的同時,也會體會到自己的智力也會有所提升。該款五子棋游戲功能雖然簡單,但實現(xiàn)了人機,所以從這個角度來說,該款游戲需要電腦能準(zhǔn)確的計算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的智能,能給于新手一定的幫助。 系統(tǒng)設(shè)計總體思想、目標(biāo)本系統(tǒng)在結(jié)構(gòu)設(shè)計中采用java的MVC模式,根據(jù)不同的功能劃分不同的模塊,該款五子棋游戲功能雖然簡單,但實現(xiàn)了人機,所以從這個角度來說,該款游戲需要電腦能準(zhǔn)確的計算棋局。雖然系統(tǒng)不大,但要在滿足玩家的基本要求的情況下,電腦有一定的智能,能給于新手一定的幫助。 五子棋人機對弈系統(tǒng)的ER模型經(jīng)過對系統(tǒng)的分析,我們將系統(tǒng)劃分出了用戶信息、用戶棋局信息、用戶棋盤信息、用戶下棋信息等幾個實體,其各個實體的屬性如下:用戶信息:用戶名、用戶密碼、用戶權(quán)限用戶棋局信息:用戶名、棋局編號、棋局創(chuàng)建時間用戶棋盤信息:棋局編號、X軸坐標(biāo)、Y軸坐標(biāo)、棋子狀態(tài)用戶下棋信息:棋局編號、用戶X坐標(biāo)、用戶Y坐標(biāo)、電腦X坐標(biāo)、電腦Y坐標(biāo)本系統(tǒng)的具體ER模型如下:用戶用戶名用戶密碼用戶權(quán)限圖41用戶ER圖 圖42用戶棋局ER圖 棋局用戶名棋局編號創(chuàng)建時間圖43用戶棋盤ER圖 棋盤棋局編號X軸坐標(biāo)Y軸坐標(biāo)棋子狀態(tài)圖44用戶棋盤ER圖 下棋棋局編號用戶Y坐標(biāo)用戶X坐標(biāo)電腦X坐標(biāo)電腦X坐標(biāo)圖31整體ER圖 用戶用戶密碼用戶名用戶權(quán)限棋局棋局編號創(chuàng)建時間創(chuàng)建棋盤X軸坐標(biāo)Y軸坐標(biāo)棋子狀態(tài)下棋屬于屬于用戶X坐標(biāo)用戶Y坐標(biāo)電腦X坐標(biāo)電腦X坐標(biāo)1N1N11每步棋編號圖45 整體ER圖 JAVA五子棋對弈系統(tǒng)結(jié)構(gòu)、功能設(shè)計 系統(tǒng)結(jié)構(gòu)設(shè)計本系統(tǒng)主要針對用戶提出的要求業(yè)務(wù)開發(fā)的系統(tǒng),其結(jié)構(gòu)設(shè)計情況如圖(圖46)所示:圖46 系統(tǒng)結(jié)構(gòu)圖用戶前臺注冊登錄數(shù)據(jù)顯示五子棋棋盤回放悔棋游戲 系統(tǒng)功能模塊設(shè)計該款游戲主要由一下幾個模塊組成(圖47):五子棋游戲用戶登錄注冊人機對弈模式具有悔棋功能棋局回放功能圖47 五子棋功能模塊圖用戶登錄注冊:在玩五子棋之前,用戶要先登錄游戲,未注冊的用戶應(yīng)該先注冊,如果登錄成功會跳到用戶管理頁面,登錄信息錯誤會提示密碼用戶名錯誤。人機對弈模式:選擇該模式可以實現(xiàn)人與電腦之間的對弈,電腦會智能的選擇該在哪處下子,并會在每次下棋結(jié)束后判斷是否有哪方已經(jīng)獲勝,如果獲勝則結(jié)束本局游戲,并提示玩家游戲結(jié)束?;谄骞δ埽哼@個功能也是根據(jù)游戲的實際需求而存在的,在現(xiàn)實生活中難免有失誤下錯了棋,那么就需要悔棋。此功能提供了悔棋功能,使得下棋的靈活性有所提高。玩家若想悔棋,則只需選擇悔棋按鈕便可以重新下過剛才的棋,但只能悔一步棋。棋局回放功能:這個功能是更加用戶需求設(shè)計的,該功能可以回放用戶以前下過的棋局只要點擊要回放的棋局,進(jìn)入棋局回放頁面,點擊下一步就可以回放該棋局,點一下只能回放一步棋。,必須先有一個棋盤,所以,通過html中的表格畫的,棋盤是17*17,表格中是一個層,通過改變其背景圖片來表示有無棋子,是白棋還是黑棋。另外還有一個按鈕:悔棋按鈕,用于提供悔棋功能,界面還顯示系統(tǒng)時間,用戶提示用戶當(dāng)前時間。,通過對該層鼠標(biāo)事件監(jiān)聽器onclick,每次當(dāng)用戶點擊鼠標(biāo)時,先取得點擊的坐標(biāo)值,然后換算成對應(yīng)棋盤上(即棋盤數(shù)組)的位置(數(shù)組的下標(biāo))。,如果有則用javascript提示玩家重新下子,否則通過ajax把點擊的數(shù)組傳遞給后臺,通過后臺處理返回給前臺數(shù)據(jù)來改變樣式,在此處畫上棋子。,是的話提醒相應(yīng)玩家獲勝,不是的話,更換玩家下棋。,每次用戶點擊鼠標(biāo)后,若本局還未結(jié)束則會變換玩家,從而畫出對應(yīng)黑方白方的棋子,直到有一方獲勝程序結(jié)束。 程序設(shè)計分析1. 在網(wǎng)站的首頁是登錄界面,有登錄和注冊兩個功能。2.在登錄成功會跳到用戶信息頁面,在該頁面的右下角會列出該用戶在最近5次,玩游戲的信息記錄,點擊該記錄可以回放對應(yīng)的棋局。在信息下方有開始游戲和更改密碼兩個按鈕。3. 繪制棋盤,17*17的方框,在方框處下棋子(實心黑白圓形)。4. 棋盤處于鼠標(biāo)監(jiān)聽狀態(tài),當(dāng)鼠標(biāo)在棋盤上有點擊操作的時候,程序會獲得鼠標(biāo)點擊的坐標(biāo)然后換算成對應(yīng)的棋盤的位置,再判斷此處是否有棋子,假如沒有,那么在此處畫出對應(yīng)顏色的實心棋子,假如已經(jīng)有棋子了,則提示玩家此處已經(jīng)有棋子請重新下棋。5. 當(dāng)用戶點擊表格中的層下完棋后,輪到電腦下子時,電腦會通過算法計算每個沒有棋子的位置的重要性來選擇最重要的位置下子。6. 當(dāng)任何一方有五個棋子沿著橫,豎,斜連在一起時,系統(tǒng)自動判斷贏棋,并顯示黑方或白方勝利。棋局結(jié)束后,會返回用戶信息頁面。 7.程序流程如下圖(圖48):圖48 系統(tǒng)結(jié)構(gòu)圖 類的設(shè)計1)由于要用到數(shù)據(jù)庫,所以設(shè)計了一個用來連接數(shù)據(jù)庫的類BaseDao,其中包括了兩個方法和4個變量,類圖(圖49)如下:圖49 BaseDao類圖2)下圖是關(guān)于數(shù)據(jù)庫中對應(yīng)的表的類圖(圖410)關(guān)系:圖410 類表關(guān)系圖3)雖然有了用戶相關(guān)類,但是無法操作數(shù)據(jù)庫中的用戶信息,所以設(shè)計了操作用戶表的類UserDishDaoImpl,該類繼承BaseDao,并且實現(xiàn)IUserDao類,類圖(圖411)如下:圖411 UserDishDaoImpl類圖4)對于用戶每次玩游戲的信息操作,用UserDishDaoImpl實現(xiàn)了各種操作。類圖(圖412)如下:圖412 UserDishDaoImpl類圖5)對棋盤的各種信息保存操作,用類UserQipanDaoImpl來實現(xiàn)。其中類圖(圖413)如下圖413 UserQipanDaoImpl類圖6)對每局棋及每盤棋的各種保存操作,用UserStepDaoImpl來實現(xiàn),其中類圖(圖414)如下:圖414 UserStepDaoImpl類圖7)由于程序是人機對弈,電腦下棋算法用Computer類來實現(xiàn),其中有電腦下棋算法,還有電腦判斷輸贏算法,類圖(圖415)如下:圖415 Servlet類圖8)本程序的時序圖 (圖416)如下 :圖416 時序圖 系統(tǒng)用戶表名稱編碼數(shù)據(jù)類型備注用戶名userNamevarchar(255)用戶輸入,Not null約束,是表的主鍵用戶密碼userPwdvarchar(255)用戶輸入,Not null約束用戶權(quán)限userFlagInt(11)系統(tǒng)分配,Not null約束,用于判斷用戶權(quán)限 用戶棋局表 名稱編碼數(shù)據(jù)類型備注棋局編號dishIdInt(11)系統(tǒng)自動分配,是該表的主鍵,Not null約束用戶名userNamevarchar(255)用戶輸入,Not null約束創(chuàng)建時間playDateDate系統(tǒng)分配,Not null約束 用戶棋盤表 名稱編碼數(shù)據(jù)類型備注棋局編號dishIdInt(11)系統(tǒng)自動分配,是改變的主鍵,Not null約束X軸坐標(biāo)XInt(11)是棋盤的X坐標(biāo),Not null約束Y軸坐標(biāo)YInt(11)是棋盤的Y坐標(biāo),Not null約束狀態(tài)FInt(11)表示棋子狀態(tài),Not null約束 用戶下棋信息表 名稱編碼數(shù)據(jù)類型備注下棋編號stepIdInt(11)系統(tǒng)自動分配,是改變的主鍵,Not null約束電腦X坐標(biāo)pcXInt(11)是電腦該步棋的X坐標(biāo),Not null約束電腦Y坐標(biāo)pcYInt(11)是電腦該步棋的Y坐標(biāo),Not null約束用戶X坐標(biāo)psXInt(11)是電用戶該步棋的X坐標(biāo),Not null約束用戶Y坐標(biāo)psYInt(11)是電用戶該步棋的X坐標(biāo),Not null約束棋局編號dishIdInt(11)是該表的外鍵,Not null約束5五子棋相關(guān)基礎(chǔ) 五子棋相關(guān)解釋引用《辭?!分兴?,五子棋是“棋類游戲,棋具與圍棋相同,兩人對局,輪流下子,先將五子連成一行者為勝。”。五子棋的名稱:日文亦有“連五子、五子連、串珠、五目、五目碰、五格、五石、五法、五聯(lián)、京棋”等多種稱謂,英文則稱之為FIR (Five In A Row的縮寫)、Gomoku(日語“五目”的羅馬拼音)、Gobang、connect morphion。捷克語piskvorky,韓語omok、韓國人還稱之為情侶棋。 五子棋相關(guān)規(guī)則,黑棋先下第一子,由天元開始,后白棋在黑棋周圍的方框的落子。接著黑方再以天元中心的25個交叉點的范圍內(nèi)落盤面的第三子,之后黑白雙方相互順序子。 ,縱向,斜向形成已方的五個棋子連續(xù)的一方為勝。,其中包括兩個或兩個以上的活三,活四,長連均稱之為禁手。,白棋無禁手。,白方需立即指出,黑方將被判負(fù)。若白方未發(fā)現(xiàn)黑方禁手存在而繼續(xù)應(yīng)子,其后指出黑方禁手不能判黑方負(fù)。,因黑方已連成五即黑方已獲勝,故禁手規(guī)則失效。,在盤上落下的子又拿起來,此動作稱為拔子,若拔子將被判為負(fù)。 。若推子或蹭子,以盤面第一落點為準(zhǔn)。用手將棋子推正不算違犯規(guī)則。,一方自行中止比賽如:中途退場,將被判負(fù)。,本局獲勝。,將被判為負(fù):正式比賽期間,遲到時間超過比賽容許時間將被判負(fù)。 同意和局提議,判定為平局。 五子棋常用術(shù)語:也稱“步”。對局中把一個棋子按照規(guī)則放到某一點,稱之為一著棋。一著是否完成有兩種規(guī)則:1)在執(zhí)行落子無悔規(guī)則是,以行棋者的手離開棋子為一著已完成。2)在執(zhí)行限時規(guī)則時,以行棋者按下棋鐘作為一著已完成。 :五子棋中引入的英文名稱,即應(yīng)該行棋的一方主動放棄此次行棋的機會,由對方繼續(xù)行棋。:對方必須應(yīng)答的著法,如對方形成活三必須阻止其形成活四。:相對先手而言,即形成同色連四或嵌五,對方必須應(yīng)著,就是絕對先手。絕對先手又叫“沖”。:(Victory of Continus Four 的縮寫) 意思是利用連續(xù)沖四取勝之意。利用連續(xù)不斷的沖四或嵌五的絕對先手,制止形成連五獲得勝利的一種方法。在對局接近尾聲或排局解題中一種常見的取勝技巧。:是指白棋利用黑棋禁手取勝的戰(zhàn)術(shù)。白1 沖四,迫使黑2 形成“四、四”禁手( 即沖四,活四禁手), 這種取勝方法叫做追下取勝。:追下取勝以外的取勝方法,即未利用黑棋禁手戰(zhàn)術(shù)而取勝。:是指對局中一方落子后出現(xiàn)兩個叫殺點即兩個獲勝點,而使對方無法防守的情形。一般是有兩個沖四活三點,白棋的雙活三,雙四均可稱為一子雙殺。:棋盤上可見的橫線與直線的總稱。:也稱“斜線”。是棋盤上不可見的斜行線。11.“四、三”:指同時具備兩個先手,其中一個四,另一個是活三。12.“活三”、“嵌五”、“沖四”:參見五子棋重要棋形講座。13. 禁手:對局中禁止使用的戰(zhàn)術(shù)或被判為負(fù)的行棋手段。14. 開局:也稱“布局”。布局階段大體為七至十幾著之內(nèi)。種類繁多,職業(yè)連珠五子棋有二十四種開局。 15. 局面:亦稱“局勢”。為對局中某一段時間內(nèi)雙方子力的配置情況。16. 優(yōu)勢:是指足以取勝的優(yōu)勢局面,其對方即為敗勢。17. 妙著:對局中走出的一步精妙的著法。既合乎邏輯又出人意料,有使局面頓時改觀的效果,對局勢的發(fā)展及對局的質(zhì)量都有重大影響。18. 好著:也稱“佳著”。對局中成功的某一步。19. 正著:對局的某一局面中的正確著法。20. 劣著:對局中,導(dǎo)致嚴(yán)重不利后果的
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1