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

正文內(nèi)容

基于web的java五子棋對(duì)弈程序的設(shè)計(jì)與實(shí)現(xiàn)_畢業(yè)設(shè)計(jì)(編輯修改稿)

2024-12-29 16:38 本頁(yè)面
 

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