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

正文內(nèi)容

基于web的java五子棋對弈程序的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文-文庫吧資料

2025-03-06 10:22本頁面
  

【正文】 11.“四、三”:指同時(shí)具備兩個(gè)先手,其中一個(gè)四,另一個(gè)是活三。 :也稱“斜線”。一般是有兩個(gè)沖四活三點(diǎn),白棋的雙活三,雙四均可稱為一子雙殺。 :追下取勝以外的取勝方法,即未利用黑棋禁手戰(zhàn)術(shù)而取勝。 :是指白棋利用黑棋禁手取勝的戰(zhàn)術(shù)。利用連續(xù)不斷的沖四或嵌五的絕對先手,制止形成連五獲得勝利的一種方法。絕對先手又叫“沖”。 :對方必須應(yīng)答的著法,如對方形成活三必須阻止其形成活四。 2)在執(zhí)行限時(shí)規(guī)則時(shí),以行棋者按下棋鐘作為一著已完成。對局中把一個(gè)棋子按照規(guī)則放到某一點(diǎn),稱之為一著棋。 同意和局提議,判定為平局。 ,將被判為負(fù):正式比賽期間,遲到時(shí)間超過比賽容許時(shí)間將被判負(fù)。 ,一方自行中止比賽如:中途退場,將被判負(fù)。若推子或蹭子,以盤面第一落點(diǎn)為準(zhǔn)。 ,在盤上落下的子又拿起來,此動(dòng)作稱為拔子,若拔子將被判為負(fù)。若白方未發(fā)現(xiàn)黑方禁手存在而繼續(xù)應(yīng)子,其后指出黑方禁手不能判黑方負(fù)。 ,白棋無禁手。 ,縱向,斜向形成已方的五個(gè)棋子連續(xù)的一方為勝。 五子棋相關(guān)規(guī)則 ,黑棋先下第一子,由天元開始,后白棋在黑棋周圍的方框的落子。五子棋的名稱:日文亦有“連五子、五子連、串珠、五目、五目碰、五格、五石、五法、五聯(lián)、京棋”等多種稱謂,英文則稱之為 FIR (Five In A Row 的縮寫 )、 Gomoku(日語“五目”的羅馬拼音 )、 Gobang、 connect morphion。其中類圖 (圖 413)如下 6)對每局棋及每盤棋的各種保存操作,用 UserStepDaoImpl來實(shí)現(xiàn),其中類圖 (圖 414)如下: 圖 412 UserDishDaoImpl類圖 圖 413 UserQipanDaoImpl類圖 圖 414 UserStepDaoImpl類圖 第 15 頁 共 47 頁 7)由于程序是人機(jī)對弈,電腦下棋算法用 Computer類來實(shí)現(xiàn),其中有電腦下棋算法,還有電腦判斷輸贏算法,類圖 (圖 415)如下: 8)本程序的時(shí)序圖 (圖 416)如下 : 五子棋對弈系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì) 系統(tǒng)用戶表 名稱 編碼 數(shù)據(jù)類型 備注 圖 415 Servlet類圖 圖 416 時(shí)序 圖 羅友:基于 Web 的 JAVA 五子棋對弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 16 頁 共 47 頁 用戶名 userName varchar(255) 用戶輸入, Not null約束,是表的主鍵 用戶密碼 userPwd varchar(255) 用戶輸入, Not null約束 用戶權(quán)限 userFlag Int(11) 系統(tǒng)分配, Not null約束,用于判斷用戶權(quán)限 用戶棋局表 名稱 編碼 數(shù)據(jù)類型 備注 棋局編號 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ù)類型 備注 棋局編號 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約束 第 17 頁 共 47 頁 狀態(tài) F Int( 11) 表示棋子狀態(tài), Not null約束 用戶下棋信息表 名稱 編碼 數(shù)據(jù)類型 備注 下棋編號 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約束 棋局編號 dishId Int( 11) 是該表的外鍵, Not null約束 5 五子棋相關(guān)基礎(chǔ) 五子棋相關(guān)解釋 引用《辭海》中所言,五子棋是“棋類游戲,棋具與圍棋相同,兩人對局,輪流下子,先將五子連成一行者為勝。 7.程序流程如下圖 (圖 48): 羅友:基于 Web 的 JAVA 五子棋對弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 12 頁 共 47 頁 登 錄注 冊開 始 游 戲 棋 局 回 放悔 棋 下 一 步判 斷 結(jié) 果 回 放 結(jié) 束游 戲 結(jié) 束 類的設(shè)計(jì) 1)由于要用到數(shù)據(jù)庫,所以設(shè)計(jì)了一個(gè)用來連接數(shù)據(jù)庫的類 BaseDao,其中包括了兩個(gè)方法和 4個(gè)變量 ,類圖 (圖 49)如下: 2)下圖是關(guān)于數(shù)據(jù)庫中對應(yīng)的表的類圖 (圖 410)關(guān)系: 圖 48 系統(tǒng)結(jié)構(gòu)圖 圖 49 BaseDao 類圖 第 13 頁 共 47 頁 3)雖然有了用戶相關(guān)類,但是無法操作數(shù)據(jù)庫中的用戶信息,所以設(shè)計(jì)了操作用戶表的類UserDishDaoImpl,該類繼承 BaseDao,并且 實(shí)現(xiàn) IUserDao類,類圖 (圖 411)如下: 4)對于用戶每次玩游戲的信息操作,用 UserDishDaoImpl實(shí)現(xiàn)了各種操作。 6. 當(dāng)任何一方有五個(gè)棋子沿著橫,豎,斜連在一起時(shí),系統(tǒng)自動(dòng)判斷贏棋,并 顯示黑方或白方勝利。 4. 棋盤處于鼠標(biāo)監(jiān)聽狀態(tài),當(dāng)鼠標(biāo)在棋盤上有點(diǎn)擊操作的時(shí)候,程序會(huì)獲得鼠標(biāo)點(diǎn)擊的坐標(biāo)然后換算成對應(yīng)的棋盤的位置,再判斷此處是否有棋子,假如沒有,那么在此處畫出對應(yīng)顏色的實(shí)心棋子,假如已經(jīng)有棋子了,則提示玩家此處已經(jīng)有棋子請重新下棋。在信息下方有開始游戲和更改 密碼兩個(gè)按鈕。 程序設(shè)計(jì)分析 1. 在網(wǎng)站的首頁是登錄界面,有登錄和注冊兩個(gè)功能。 ,是的話提醒相應(yīng)玩家獲勝,不是的話,更換玩家下棋。 ,通過對該層鼠標(biāo)事件監(jiān)聽器 onclick,每次當(dāng)用戶點(diǎn)擊鼠標(biāo)時(shí),先取得點(diǎn)擊的坐標(biāo)值,然后換算成對應(yīng)棋盤上(即棋盤數(shù)組)的位置(數(shù)組的下標(biāo))。 設(shè)計(jì)思路 棋的游戲功能,必須先有一個(gè)棋盤,所以,通過 html 中的表格畫的,棋盤是 17*17,表格中是一個(gè)層,通過改變其背景圖片來表示有無棋子,是白棋還是黑棋。玩家若想悔棋,則只需選擇悔棋按鈕便可以重新下過剛才的棋,但只能悔一步棋。 悔棋功能:這個(gè)功能也是根據(jù)游戲的實(shí)際需求而存在的,在現(xiàn)實(shí)生活中難免有失誤下錯(cuò)了棋,那么就需要悔棋。 五子棋人機(jī)對弈系統(tǒng)的 ER 模型 經(jīng)過對系統(tǒng)的分析,我們將系統(tǒng)劃分出了用戶信息、用戶棋局信息、用戶棋盤信息、用戶下棋信息等幾個(gè)實(shí)體,其各個(gè)實(shí)體的屬性如下: 用戶信息:用戶名、用戶密碼、用戶權(quán)限 用戶棋局信息:用戶名、棋局編號、棋局創(chuàng)建時(shí)間 用戶棋盤信息:棋 局編號、 X軸坐標(biāo)、 Y軸坐標(biāo)、棋子狀態(tài) 用戶下棋信息:棋局編號、用戶 X坐標(biāo)、用戶 Y坐標(biāo)、電腦 X坐標(biāo)、電腦 Y坐標(biāo) 本系統(tǒng)的具體 ER 模型 如下 : 棋局 用戶名 棋局編號 創(chuàng)建時(shí)間 用戶 用戶名 用戶密碼 用戶權(quán)限 圖 41用戶 ER圖 圖 42用戶棋局 ER圖 羅友:基于 Web 的 JAVA 五子棋對弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 8 頁 共 47 頁 下棋 棋局編號 用戶 Y坐標(biāo) 用戶 X坐標(biāo) 電腦 X坐標(biāo) 電腦 X坐標(biāo) 棋盤 棋局編號 X軸坐標(biāo) Y軸坐標(biāo) 棋子狀態(tài) 圖 43用戶棋盤 ER圖 圖 44用戶棋盤 ER圖 第 9 頁 共 47 頁 JAVA 五子棋對弈系統(tǒng)結(jié)構(gòu)、功能設(shè)計(jì) 系 統(tǒng)結(jié)構(gòu)設(shè)計(jì) 本系統(tǒng)主要針對用戶提出的要求業(yè)務(wù)開發(fā)的系統(tǒng),其結(jié)構(gòu)設(shè)計(jì)情況如圖( 圖 46)所示: 用戶 用戶密碼 用戶 名 用戶權(quán)限 棋局 棋局編號 創(chuàng)建時(shí)間 創(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 每步棋編號 圖 45 整體 ER圖 羅友:基于 Web 的 JAVA 五子棋對弈程序的設(shè)計(jì)與實(shí)現(xiàn) 第 10 頁 共 47 頁 系統(tǒng)功能模塊設(shè)計(jì) 該款游戲主要由一下幾個(gè)模塊組成(圖 47): 用戶登錄注冊:在玩五子棋之前,用戶要先登錄游戲,未注冊的用戶應(yīng)該先注冊,如果登錄成功會(huì)跳到用戶管理頁面,登錄信息錯(cuò)誤會(huì)提示密碼用戶名錯(cuò)誤。 系統(tǒng)設(shè)計(jì)總體思想、目標(biāo) 本系統(tǒng)在 結(jié)構(gòu)設(shè)計(jì)中采用 java的 MVC模式,根據(jù)不同的功能劃分不同的模塊,該款五子棋游戲功能雖然簡單,但實(shí)現(xiàn)了人機(jī),所以從這個(gè)角度來說,該款游戲需要電腦能準(zhǔn)確的計(jì)算棋局。 該款五子棋游戲功能雖然簡單,但實(shí)現(xiàn)了人機(jī),所以從這個(gè)角度來說,該款游戲需要電腦能準(zhǔn)確的計(jì)算棋局。由于其經(jīng)典性及其游戲的簡單性,各類人士都可以也都愛玩。數(shù)據(jù)流圖( 圖 33)如下 用戶棋局回放數(shù)據(jù)流圖( DFD) 知道用戶權(quán)限后,通過查詢用戶游戲信息和所有普通用戶信息,顯示用戶游戲信息。 定義:用 戶名 +用戶該盤局的編號 +游戲時(shí)間 位置:數(shù)據(jù)庫用戶每次游戲信息表( UserDish) 描述:該表用戶儲(chǔ)存棋局信息,主要用于電腦下棋時(shí)通過棋局編號提取數(shù)據(jù),從而計(jì)算出電腦該下哪一步棋,其中棋子狀態(tài)分為 4 種, 1表示該點(diǎn)不在棋盤上, 0表示該坐標(biāo)無棋子, 1 表示白棋 2 表示黑棋 描述:該表主要儲(chǔ)存用戶和電腦下的每一步棋,用戶與棋盤回放時(shí)在數(shù)據(jù)庫提取數(shù)據(jù) 第 5 頁 共 47 頁 用戶登錄數(shù)據(jù)流圖( DFD) 在用戶登錄過程當(dāng)中,用戶輸入的信息經(jīng)過加工處理后,通過對數(shù)據(jù)庫的查詢后返回給程序該用戶的權(quán)限,數(shù)據(jù)流圖( 圖 31)如下: 普通用戶界面顯示數(shù)據(jù)流圖( DFD) 知道用戶權(quán)限后,通過查詢用戶游戲信息,顯示用戶游戲信息。 定義:用戶該盤棋的編號 +用戶該步棋的編號 +該步棋電腦下棋的 Y 軸坐標(biāo) +該步棋電腦下棋的 X軸坐標(biāo) +該步棋用戶下棋的 Y 軸坐標(biāo) +該步棋用戶下棋的 X 軸坐標(biāo) 位置:數(shù)據(jù)庫用戶每盤棋信息表( UserStep) 描述:這個(gè)表主要用于記錄用戶玩游戲的時(shí)間,用戶棋盤編號是數(shù)據(jù)庫自動(dòng)生成的,游戲時(shí)間主要用于用戶要回放棋局的查找。 下面 簡要介紹部分需求的數(shù)據(jù)流圖: 名字:用戶每盤棋信息表 描述:用于記錄用戶每盤棋棋盤的信息。用戶密碼用于登錄本系統(tǒng),用戶權(quán)限是整數(shù), 1代表普通用戶,既可以通過注冊的用戶; 0 代表系統(tǒng)用戶,是系統(tǒng)自帶的不可以通過注冊獲得。 下面是給出的本系統(tǒng)的數(shù)據(jù)字典描述: 用戶信息表的數(shù)據(jù)字典的描述: 名字:用戶信息表 描述:用戶可以根據(jù)自己的密碼登陸系統(tǒng),系統(tǒng)根據(jù)用戶的信息來判斷用戶的權(quán)限,主要存儲(chǔ)的是用戶用戶信息和用戶權(quán)限。任何字典最重要的用途都是供人查閱對不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于 數(shù)據(jù)的描述信息。 ( 6)管理普通用戶:可以對普通用戶進(jìn)行添加和刪除。 ( 4)悔棋功能:在下棋過程中,用戶根據(jù)自己的需求,選擇悔棋。 ( 2)棋局回放:用戶根據(jù)自己的需求回放 自己以前下過的棋局。 ( 5)更改密碼:用戶可以根據(jù)自己的需求更改自己的密碼。 ( 3)玩五子棋:用戶在點(diǎn)擊 playgame后會(huì)進(jìn)入游戲界面玩游戲。 3 JAVA 五子棋對弈現(xiàn) 的需求分析 本系統(tǒng)主要根據(jù)根據(jù)老師提出的要求進(jìn)行的需求分析: 用戶需求分析 根據(jù)老師提出的要求,我們把系統(tǒng)的用戶分為兩類:普通用戶、系統(tǒng)管理員用戶,下面是我們對兩種用戶的需求進(jìn)行的分析: 普通用戶主要需要: 根據(jù)分析,普通用戶具有的功能: ( 1)用戶登錄:用戶 根據(jù)自己的密碼登錄本系統(tǒng)。 綜上所述,此系統(tǒng)開發(fā)目標(biāo)已明確,在技術(shù)和經(jīng)濟(jì)等方面都可行,并且投入少、見效快。 羅友:基于 Web
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1