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

正文內(nèi)容

基于java的掃雷游戲論文(編輯修改稿)

2024-12-14 22:09 本頁面
 

【文章內(nèi)容簡介】 。某一個具體數(shù)字表示與其緊鄰的 8 個方塊中有多少個雷。用戶可以根據(jù)這些數(shù)字判斷是否可以打開某些方塊,并把認為有地雷的方塊用小紅旗來標識。如果某個數(shù)字方塊周圍的地雷全部標記完,可以單擊鼠標左鍵,將其周圍剩下的方塊挖開。 如果數(shù)字周圍地雷沒有全部標記,在同時單擊鼠標左右鍵時,其他隱藏或未標記的方塊將被按下一次,當用戶將所有地雷挖出后,其余的非雷方塊區(qū)域都已經(jīng)打開,此時游戲勝利。在游戲過程中,一旦錯誤地打開了雷方塊則游戲失敗,游戲結(jié)束;當用戶標識的地雷數(shù)超過程序的設(shè)定值,雖然打開了全部的其余方塊,游戲仍然不會結(jié)束。 掃雷游戲用例圖 碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 4 圖 21 掃雷游戲用例圖 Figure 21 Minesweeper Use Case Diagram 從上述掃雷游戲功能描述可以看出,整個掃雷游戲中,用戶所有的操作只有:設(shè)置游戲級別、開始游戲、掃雷和查詢統(tǒng)計信息四種操作。 掃雷游戲功能需求 本程序需要實現(xiàn)的主要功能有: ( 1)用戶可以自由選擇掃雷級別 點擊游戲按鈕,然后再點擊選項,會彈出一個框,玩家可以選擇所玩模式,分為初級,中級,高級三個級別,初級是 9*9 個方格,中及時 16*16 個方格,高級是 30*30個方格,還有一個自定義,用戶可以自己定義 M*N 方格以及雷數(shù)。 ( 2)進行掃雷游戲 游戲區(qū)包括 雷區(qū) 、地雷計數(shù)器(位于右下角,記錄剩余地雷數(shù))和 計時器 (位于左下角,記錄游戲時間),確定大小的矩形雷區(qū)中隨機布置一定數(shù)量的地雷,玩家需要盡快找出雷區(qū)中的所有不是地雷的方塊,而不許踩到地雷。 游戲的基本操作包括左鍵單擊( Left Click)、右鍵單擊( Right Click)兩種。其中左鍵用于打開安全的格子,推進游戲進度;右鍵用于標記地雷,以輔助判斷。 左鍵單擊: 在判斷出不是雷的方塊上按下左鍵,可以打開該方塊。如果方塊上出現(xiàn)數(shù)字,則該數(shù)字表示其周圍 3 3 區(qū)域中的地雷數(shù)(一般為 8 個格子,對于邊塊為 5 個格子,對于角塊為 3 個格子。所以掃雷中最大的數(shù)字為 8);如果方塊上為空(相當于用戶用例圖設(shè)置游戲級別開始游戲掃雷查詢統(tǒng)計信息碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 5 0),則可以遞歸地打開與空相鄰的方塊;如果不幸觸雷,則游戲結(jié)束。 右鍵單擊: 在判斷為地雷的方塊上按下右鍵,可以標記地雷( 顯示為小紅旗)。重復(fù)一次或兩次操作可取消標記(如果在游戲 菜單 中勾選了“標記 (?)”,則需要兩次操作來取消標雷)。 ( 3)具有計時功能,顯示用戶掃雷所用時間 當點擊任意一個方塊時即開始游戲,計時器同時開始計時,時間是一秒增加 1,當游戲失敗時,自動停止計時,并且在游戲最左下方顯示玩家掃雷所用總共時間。 ( 4)用戶可以通過右鍵點擊方塊來標記自認為是雷的方塊 當用戶在方塊上面點擊右鍵 時,方塊上會顯示一個小紅旗,并且游戲最右下方的雷數(shù)會增加 1,當玩家掃雷過程中發(fā)現(xiàn)已經(jīng)有小紅旗的方格不是雷可以再次右鍵點擊此方塊,點擊第一個,方塊上面的小紅旗會變成一個問號,再點擊一次可以將問號去掉,同時游戲最下方雷數(shù)會自動減去 1。 ( 5)統(tǒng)計功能 當玩家完成一次掃雷后,軟件能夠分級別記錄,統(tǒng)計最短完成事件、已玩游戲次數(shù)、已勝游戲次數(shù)、獲勝率、最多連勝次數(shù)、最多連敗次數(shù)等信息,玩家可以打開來進行查看,以及可以跟其他玩家進行比較,可以用來進行對戰(zhàn)。 ( 6)退出 可以用界面的關(guān)閉鍵結(jié)束游戲。 掃雷游戲界面需求 ( 1)游戲菜單 游戲菜單有開始游戲、游戲模式、信息統(tǒng)計、退出等 4 個子菜單。 設(shè)置游戲的級別,分為初中高三個游戲級別,初級是由 9*9 的方格組成,雷數(shù)為10,非雷數(shù) 71;中級由 16*16 的方格組成,排有 40 個雷,非雷數(shù)為 216;高級是由 30*30的方格組成,其中有 99 個雷,非雷數(shù)為 381; 自定義功能能夠讓玩家重新定義游戲的布局與雷數(shù); 標記功能在排雷的時候來重要作用,通過標記地雷,使客戶快速通關(guān),鼠標右鍵 也可標記地雷; 信息統(tǒng)計,記錄玩家不同級別的最高得分; 碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 6 退出,也可以用界面的關(guān)閉鍵結(jié)束游戲。 ( 2)游戲區(qū)域 游戲區(qū)域由雷數(shù)、計時器和方塊區(qū)組成。 關(guān)于每個雷數(shù),每個級別對應(yīng)的雷數(shù)都不同,初級、中級、高級分別對應(yīng) 99 個雷。 在你翻開第一個方塊起,計算器就開始計時,直到你成功排除。 掃雷游戲功能模塊 游戲在功能上分為 6 個模塊: ( 1) 游戲界面 ( 2) 布雷 ( 3) 鼠標事件 ( 4) 地雷判斷 ( 5) 游戲勝利(結(jié)束) ( 6) 游戲失敗(結(jié)束) 掃雷游戲系統(tǒng)基本功能如圖 22 所示。 圖 22 掃雷游戲基本功能 Figure 22 Minesweeper basic functions 本章小結(jié) 本章通過多次玩掃雷游戲,熟練掌握游戲規(guī)則,認識掃雷游戲,在此基礎(chǔ)上綜合分析掃雷游戲的功能,根據(jù)游戲功能,確定游戲的功能需求和界面需求,然后總結(jié)歸納了游戲的功能模塊。 掃 雷 游 戲游戲選關(guān)游戲布局掃雷游戲計時統(tǒng)計碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 7 碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 8 3 概要設(shè)計 概要設(shè)計的主要任務(wù)是把 需求分析 結(jié)果 轉(zhuǎn)換為 軟件結(jié)構(gòu) 和數(shù)據(jù)結(jié)構(gòu)。設(shè)計軟件結(jié)構(gòu)的具體任務(wù)是 : 將一個復(fù)雜系統(tǒng)按功能進行模塊劃分、建立模塊的 層次結(jié)構(gòu) 及調(diào)用關(guān)系、確定模塊間的接口及人機界面等。數(shù)據(jù) 結(jié)構(gòu)設(shè)計 包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性、以及數(shù)據(jù)庫的設(shè)計。顯然,概要設(shè)計建立的是目標系統(tǒng)的邏輯模型,與計算機無關(guān)。 總體設(shè)計 系統(tǒng)的整體布局為: CardLayout 布局,采用菜單、按鈕、面板??等組件,菜單項主要有開始,開始游戲,難度選擇以及自定義,信息統(tǒng)計,退出,按鈕的功能是重新開始游戲。 掃雷游戲的布局如圖 31 所示。 圖 31 掃雷游戲布局圖 Figure 31 Minesweeper game layout 程序主界面中部為 雷區(qū),雷區(qū)下面實時顯示游戲時間和剩余雷數(shù)。雷區(qū)為玩家的游戲區(qū)域。 程序啟動后,初始化按鈕、菜單,根據(jù)用戶選擇的掃雷級別,生成雷區(qū)方格數(shù)量,隨機布雷的位置,計算每個方格中的雷數(shù),存儲在緩存區(qū),在界面中顯示雷數(shù),程序總體流程如圖 32 所示, 掃 雷 游 戲 布 局游 戲 時 間 雷 數(shù)新游戲統(tǒng)計信息選項退出碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 9 圖 32 總體流程圖 Figure 32 Overall flowchart of FIG. 功能分析 整個游戲可以分為四個功能模塊:界面模塊,負責(zé)接收用戶輸入,組織和顯示方格以及雷等;布雷模塊,負責(zé)隨機布雷,設(shè)置并記錄哪個方格為雷;計算雷數(shù)模塊,負責(zé)計算非雷方格周圍雷數(shù),并且將雷數(shù)保存;記錄掃雷信息模塊,記錄用戶掃雷的各種信息,并且保存。 開 始定 義 并 初 始 化 按 鈕 ,菜 單 等 事 件 處 理菜 單 按 鈕初級中級高級對 應(yīng) 模 式新游戲方格 是 否 踩 雷N結(jié) 束Y隨 機 布 雷 、 計 算方 格 中 的 雷 數(shù)碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 10 表 31 模塊劃分及其功能 Table 31 module division and function 模塊 功能 界面模塊 設(shè)置游戲等級 點擊方格 布雷模塊 隨機布雷 保存雷區(qū)位置 計算雷數(shù)模塊 計算方格周圍雷數(shù) 保存方格周圍雷數(shù) 記錄掃雷信息模塊 記錄掃雷信息 顯示掃雷信息 界 面 模 塊接 收 用 戶 輸 入布 雷 模 塊計 算 雷 數(shù) 模 塊記 錄 掃 雷 信 息 模 塊 圖 33 模塊之間的調(diào)用關(guān)系 Figure 33 calls between modules 模塊之間的調(diào)用關(guān)系如圖 33 所示。界面模塊通過接收用戶的輸入,如:掃雷級別或者雷區(qū)大小以及雷的數(shù)量等信息,用戶點擊開始后,布雷模塊開始隨機布署地雷的位置,記錄在緩存區(qū),計算雷數(shù)模塊計算每個非雷方格的地雷數(shù)量,并且記錄在緩存區(qū)中,初始化完成后,在界面中顯示地雷的數(shù)量。用戶第一次點擊雷區(qū)方格便開始計時,掃雷游戲正式開始,掃雷結(jié)束后,統(tǒng)計最短完成事件、已玩游戲次數(shù)、已勝游戲次數(shù)、獲勝率、最多連勝次數(shù)、最多連敗次數(shù)等信息,以供查詢。 功能分配 整個程序的功能由 5 個 java 類實現(xiàn), 5 個類的名稱以及主要功能見表 32,類的名稱及其功能表。 碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 11 表 32 類的名稱及其功能表 Table names and functions Table 32 Class 序號 名稱 功能 1 該 java 文件生成的類負責(zé)創(chuàng)建掃雷游戲程序主窗口。該類含有 main 方法,掃雷游戲從該類執(zhí)行。 2 負責(zé)對掃雷難度進行設(shè)定,可以設(shè)置初級、中級和高級三個難度,也可以對難度進行自定義設(shè)置,直接設(shè)置方格和雷的數(shù)量。 3 主要負責(zé)將玩家掃雷情況的統(tǒng)計信息以對話框的形式顯示。 4 主要負責(zé)在界面上顯示方格,可以定義方格的大小、顏色,設(shè)置背景圖片等。 5 主要負責(zé)在界面上顯示方格和方格上的標記及其翻開后的數(shù)字、雷、炸開的雷等,還可以對自己所在位置的行列號進行設(shè)置、存儲和查詢等功能。 算法思想 ( 1)隨機布雷 掃雷游戲要求在 M 行 N 列的方格游戲區(qū)隨機的部署 n 個雷,且 n 的取值應(yīng)小于 M和 N 的乘積。這可以在一張 M*N 的方格上通過均勻分布的隨機算法實現(xiàn)。其中 n 的方格是雷區(qū),剩下的方格是非雷區(qū)。游戲的目標是盡可能快地找到所有的雷區(qū),而不踩到地雷。 Java 提供了實現(xiàn)隨機算法的類 Math,通過 Math 類的 random()方法這可以很方便的實現(xiàn)隨機布雷的功能。 ( 2)計算方格周圍雷數(shù) 每個方格周圍 8 個方格中雷的數(shù)量為方格周圍雷數(shù),用戶就是根據(jù)方格中顯示的方格周圍雷數(shù)綜合判斷該方格是否為雷,因此,方格周圍雷數(shù)的計算非常關(guān)鍵。 開發(fā)環(huán)境 Java 是由 Sun Microsystems 公司推出的 Java 面向?qū)ο蟪绦蛟O(shè)計語言(以下簡稱Java 語言)和 Java 平臺的總稱。由 James Gosling 和同事們共同研發(fā),并在 1995 年正式推出。 Java 最初被稱為 Oak,是 1991 年為消費類電子產(chǎn)品的嵌入式芯片而設(shè)計的。1995 年更名為 Java,并重新設(shè)計用于開發(fā) Inter 應(yīng)用程序。用 Java 實現(xiàn)的 HotJava碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 12 瀏覽器(支持 Java applet)顯示了 Java 的魅力:跨平臺、動態(tài) Web、 Inter 計算。從此, Java 被廣泛接受并推動了 Web 的迅速發(fā)展,常用的瀏覽器均支持 Javaapplet。另一方面, Java 技術(shù)也不斷更新。 Java 自面世后就非常流行,發(fā)展迅速,對 C++語言形成有力沖擊。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下, Java 更具備了顯著優(yōu)勢和廣闊前景。 2020 年 Oracle 公司收購 Sun Microsystems。 常用的 java 開發(fā)環(huán)境是 Eclipse+JDK+tomacat,因為最重要是 Eclipse 開發(fā)工具是免費開源的,所以這是大家選擇 Eclipse 開發(fā)工具大家 java 開發(fā)環(huán)境的主要原因,其次還有少部分人使用 jbulid 環(huán)境等。對 java 初學(xué)者來說, Eclipse 使用簡單,而且占用電腦資源也比較少。另外, jdk 不是版本高了就好,我們要用的是最穩(wěn)定,不是追求 最新最時尚的。大家都知道,新的東西容易出現(xiàn)不穩(wěn)定的因素,因為技術(shù)方面也不是很成熟,容易出錯,初學(xué)者最應(yīng)該使用穩(wěn)定的工具,這樣開發(fā)的過程才不會出現(xiàn)因為開發(fā)環(huán)境帶來的問題影響我們學(xué)習(xí)的進程。 本論文編寫程序時使用的就是 Eclipse。 Eclipse 是一個開放源代碼的、基于 Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是, Eclipse 附帶了一個標準的插件集,包括 Java 開發(fā)工具( Java Development Kit, JDK)。 本章小結(jié) 本章 根據(jù)對掃雷游戲的需求分析, 將 整個掃雷游戲軟件 按功能進行模塊劃分、建立模塊的 層次結(jié)構(gòu) 及調(diào)用關(guān)系、確定模塊間的接口及人機界面等。數(shù)據(jù) 結(jié)構(gòu)設(shè)計 包括數(shù)據(jù)特征的描述、確定數(shù)據(jù)的結(jié)構(gòu)特性。 最后簡單介紹了軟件的開發(fā)環(huán)境。 碼農(nóng)畢業(yè)設(shè)計下載網(wǎng): 13 4 詳細設(shè)計 界面設(shè)計 ( 1)掃雷棋盤的布局設(shè)計 掃雷棋盤布局為: CardLayout 布局 , 每個按鈕表示一個方格,點擊方格即觸發(fā)按鈕的點擊事件。 圖 41 掃雷游戲主界面 Figure 41 Minesweeper main game interface ( 2)雷區(qū)的設(shè)計 Brick類是繼承了 JPanel實現(xiàn)了 MouseListe
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1