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

正文內(nèi)容

基于java的掃雷游戲的設(shè)計與實現(xiàn)論文-閱讀頁

2024-12-02 15:30本頁面
  

【正文】 圖形對象都與允許它們運(yùn)行的大量方法和實例變量共享。 建立圖形用戶界面 Container Container 有兩個主要類型: Window 和 Panel Container 是 Component 的一個抽象子類,它允許其它的組件被嵌套在里面。在屏幕上布置 GUI 組件,容器是很有用的。 Container職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 8 的另一個子類是 Window。 Window 是顯示屏上獨(dú)立的本機(jī)窗口,它獨(dú)立于其它容器。 Frame 和 Dialog 是 Window的子類。對話沒有菜單條。 Panel 是 的對象。 Panel 確定一個四邊形,其它組件可以放入其中。 滾動塊也是 Window 的一個子類。 定位組件 容器里的組件的位置和大小是由布局管理器決定的。當(dāng)容器需要定位一個組件時,它將調(diào)用布局管理器來做。布局管理器完全控制容器內(nèi)的所有組件。 組件大小 因為布局管理器負(fù)責(zé)容器里的組件的位置和大小,因此不需要總是自己去設(shè)定組件的大小或位置。 如果必須控制組件的大小或位置,而使用標(biāo)準(zhǔn)布局管理器做不到,那就可能通過將下述方法調(diào)用發(fā)送到容器中來中止布局管理器: setLayout(null)。請注意,由于窗口系統(tǒng)和字體大小之間的不同,這種辦法將導(dǎo)致從屬于平臺的布局。 Frames Frames 是 Window 的一個子類。它繼承于,因此,可以用 add()方式來給框架添加組件。它可以用 setLayout()方式來改變。當(dāng)它還 處于不可見狀態(tài)時,將所有組件添加到框架中。 public class MyFrame extends Frame { public static void main (String args[]) { . MyFrame fr = new MyFrame(Hello Out There!)。 ()。 } public MyFrame (String str) { super(str)。 Panels 象 Frames 一樣, Panels 提供空間來連接任何 GUI 組件,包括其它面板。 一旦一個面板對象被創(chuàng)建,為了能看得見,它必須添加到窗口或框架對象上。 下面的程序創(chuàng)建了一個小的黃色面板,并將它加到一個框架對象上: import .*。 } public static void main (String args[]) { FrameWithPanel fr = new FrameWithPanel (Frame with Panel)。 (200,200)。 (null)。 ()。 (true)。每個 Container(比如一個 Panel 或一個Frame)都有一個與它相關(guān)的缺省布局管理器,它可以通過調(diào)用 setLayout()來改變 。 布局管理器 下面的布局管理器包含在 Java 編程語言中: Flow Layout—Panel 和 Applets 的缺省布局管理器 Border Layout—Window、 Dialog 及 Frame 的缺省管理程序 Grid Layout Card Layout GridBag Layout Border 布局管理器 Border 布局管理器為在一個 Panel 或 Window 中放置組件提供一個更復(fù)雜的方案。 北占據(jù)面板的上方,東占據(jù)面板的右側(cè),等等。當(dāng)窗 口垂直延伸時,東、西、中區(qū)域也延伸;而當(dāng)窗口水平延伸時,東、西、中區(qū)域也延伸。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 11 4. 需求以及可行性分析 掃雷游戲的需求分析 需求分析 本次設(shè)計是以 Eclipse 為開發(fā)軟件,它給應(yīng)用程序開發(fā)者提供建立用戶所需的所有功能。 掃雷游戲名稱為 minesweeper,屬于益智類游戲。游戲特點為操作簡單、易于上手。 ② 菜單欄功能的實現(xiàn)。 ④ 雷數(shù)的隨機(jī)布置。 功能要求 (1)程序的總體功能如圖 41 所示。 開 始結(jié) 束定 義 并 初 始 化 個 按鈕 , 菜 單 等菜 單按 鈕事 件 處 理初級中級高級重新開始方塊是 否 點 中 雷展 示 相 應(yīng) 的 效 果菜 單 按 鈕NY 圖 42 總體流程圖 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 13 掃雷游戲的可行性分析 要求 這款軟件主要是用來娛樂的,開發(fā)用的是 java 語言,操作起來會非常方便,而且有趣味性。要將調(diào)查研究貫徹始終。這是一款用于娛樂的小軟件,喜歡玩的人不少, 投資也不高。Java 語言提供了豐富的類庫以及多種不同的解決方案,能夠很好地完成這一系統(tǒng)。該系統(tǒng)實現(xiàn)非常簡單,而且使用的 java 語言、 eclipse 工具是免費(fèi)的,除了人力以及一臺筆記本作為硬件支持還有一點點電力開銷基本不需要太多財力支持。由于該系統(tǒng)是由本人獨(dú)立完成,所以一切計劃都很容易制定并實施。娛樂軟件能給人們帶來快樂而且成本很低,就很有開發(fā)的必要。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 14 5. 詳細(xì)設(shè)計 系統(tǒng)總體設(shè)計 算法思想 ( 1) 計算按鈕周圍雷數(shù)。掃雷游戲要求在 row 行 col 列的網(wǎng)格游戲區(qū)隨即的不上 tnts 個雷,且 tnts 的取值應(yīng)小于 rows 和 cols 的乘積。其中 tnts 的網(wǎng)格是雷區(qū),剩下的網(wǎng)格是非雷區(qū)。 Java 提供了實現(xiàn)隨機(jī)算法的類 Math,通過 Math類的 random()方法這可以很方便的實現(xiàn)隨即布雷的功能。 ( 2)雷區(qū)的設(shè)計 mineStage 類是繼承了 JFrame 實現(xiàn)了 ActionListener 接口,該類里聲明了組鍵,并進(jìn)行布局,主方法 main()實例化窗體對象。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 15 圖 51 雷區(qū)設(shè)計流程圖 系統(tǒng)詳細(xì)設(shè)計 類的設(shè)計 (1)setTnt 類可根據(jù)參數(shù)提供的數(shù)據(jù)設(shè)置雷區(qū)的寬度、高度以及雷區(qū)的級別。當(dāng)用戶單擊 frame 中的某個方塊時, actionPerformed(ActionEvent)方 法負(fù)責(zé)執(zhí)行有關(guān)算法,例如,當(dāng)用鼠標(biāo)左鍵單擊方塊上的按鈕后,若該方塊下有雷,actionPerformed(ActionEvent) 方 法 將 使 用 戶 輸 掉 本 局 , 若 該 方 塊 下 無 雷 ,開 始開 始定 義 并 初 始 化M i n e G r i d 類獲 取 相 應(yīng) 的 設(shè)置 , 并 為 方 塊 產(chǎn)生 隨 機(jī) 數(shù) 字 賦 值計 數(shù) 器 數(shù) 小 于 等 級 雷 數(shù)存 放 賦 值 雷區(qū) , 計 數(shù) 器 加 1鼠 標(biāo) 是 否 點 擊處 理 周 圍 信 息 ,并 顯 示 相 應(yīng) 效 果YNYN職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 16 actionPerformed(ActionEvent)方法將顯示對象中的標(biāo)簽,該標(biāo)簽上是一個數(shù)字,該數(shù)字代表當(dāng)前方塊的周圍的 8 個方塊中共有多少顆雷。 (4)tishi()方法用來判斷用戶是否掃雷成功,如果成功該方法負(fù)責(zé)讓 TishiDialog 對話框可見。 JButton start。 JButton stop。 JButton noflag。 cbb=new JComboBox(new String[]{初級 ,中級 ,高級 })。 int t=0。 Rows=5。 Tnt_count=5。 Rows=8。 Tnt_count=20。 Rows=12。 Tnt_count=40。 (當(dāng)前關(guān)卡為: +obj)。 ② 初級、中級、高級游戲設(shè)定:根據(jù)選項設(shè)定游戲難度后開始新游戲。 鼠標(biāo)事件的實現(xiàn) 在游戲過程中,我們利用鼠標(biāo)所發(fā)出的信息了解游戲者的意圖,進(jìn)而做出相對應(yīng)的動作。函數(shù)原型如下: import 。 }else{ flag=false。 } } 點擊插旗后,假如游戲者發(fā)現(xiàn)標(biāo)示地雷的小旗方塊是錯誤的,再重新點擊一下左鍵,就會取消小旗,這時按下左鍵,該方塊就會重新選擇,若再按下左鍵,則該方塊因為已成為 ―已標(biāo)示 ‖方塊,所以就無法翻開。 在窗口的軟件中,鼠標(biāo)的應(yīng)用是不可或缺的,但鼠標(biāo)固然好用,如果程序設(shè)計不當(dāng),也可能造成使用者 的不便。 游戲的操作方面主要以鼠標(biāo)為主,當(dāng)鼠標(biāo)指針對準(zhǔn)未翻開的方塊按下左鍵時即表示翻開方塊; 完成掃雷游戲邏輯的設(shè)計 ① 設(shè)計實現(xiàn):在程序中,使用一個 setTnt 類初始化界面上所有格子。i。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 20 while(cells[r].getFlag()){ r=(int)(()*cells_count)。 tnts[i]=cells[r]。 ④ 游戲狀態(tài):游戲初始界面,游戲進(jìn)行中,游戲失敗,游戲成功。 ⑥ 設(shè)置游戲等級:初級、中級、高級。通過游戲等級的設(shè)置,間接設(shè)置游戲的基本屬性。 ② 點到的是數(shù)字:顯示數(shù)字,游戲繼續(xù)。 ④ 當(dāng)玩家點開所有的非雷的格子:提示游戲通過,并且開始下一關(guān)游戲。 初始化界面功能實現(xiàn) 掃雷面板 創(chuàng)建掃雷游戲應(yīng)用程序用戶界面。提供游戲的新游戲、設(shè)置等選項。掃雷游戲的初始化界面。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 21 圖 63 掃雷游戲的初始界面 雷區(qū)的隨機(jī)布置 這里重點介紹的就是雷的隨機(jī)布置。實現(xiàn)其功能部分代碼: for(int i=0。i++){ //將雷隨機(jī)放入格子 int r=(int)(()*cells_count)。 } cells[r].setFlag(true)。 } 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 22 清除未靠近地雷的方塊 清除未靠近地雷的方塊也是本論文介紹的重點對象。遞歸在程序設(shè)計上是一種重要的數(shù)據(jù)結(jié)構(gòu)形態(tài),通過遞歸程序的編寫,在程序代碼上會變得相當(dāng)簡潔,不過如果設(shè)計不當(dāng),會造成無窮循環(huán)或堆迭溢滿的 情形,所以遞歸的程序中心必須含有 if...then 或 Select Case 等設(shè)計,以終止遞歸執(zhí)行。 程序的執(zhí)行方面必須判斷:以按下方塊為中心,檢查周圍八個方塊是否為非地雷方塊,若其中有一個方塊是非地雷方塊時,則又以其為中心,向外檢查周圍八個方塊是否為非地雷方塊,如此反復(fù)的執(zhí)行即構(gòu)成遞歸的使用條件。 遞歸其實也不是萬能的,以本游戲做測試,當(dāng)?shù)乩讌^(qū)范圍越大,且地雷數(shù)目不多時(一翻開非地雷方塊,幾乎全部方塊都會翻開),執(zhí)行遞歸就會變的非常緩慢,甚至造成堆迭溢滿(不足)的情形,所以在游戲設(shè)計上必須考慮地雷區(qū)的大小,以免造成執(zhí)行時錯誤中斷的情況發(fā)生。 for(int i=0。i++){ around_tnt=new mine[8]。 int up=1,right=1,down=1,left=1。 int left_up=1,left_down=1。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 23 around_tnt[0]=cells[up]。 around_tnt[1]=cells[right]。 around_tnt[2]=cells[down]。 around_tnt[3]=cells[left]。amp。 around_tnt[4]=cells[right_up]。amp。 around_tnt[5]=cells[right_down]。amp。 around_tnt[6]=cells[left_up]。amp。 around_tnt[7]=cells[left_down]。amp。 } cells[i].setAround_tnt(around_tnt)。 } } 游戲的判斷 游戲成功 將所有的雷都正確的標(biāo)示出來或把雷全部留下不去翻開它,游戲就會就是成功,如圖 64。 職場大變樣社區(qū)( ):下載畢業(yè)設(shè)計成品 25 JLabel jb=new JLabel(恭喜您已經(jīng)過了第 +guanka+關(guān) O(∩_∩)O哈哈 ~ + 找到 +score+個雷 ︿ ( ̄︶ ̄ )︿ + + 點擊 start 開始下一關(guān)。 add(jb)。 } 游戲失敗 當(dāng)鼠標(biāo)左鍵按下的方塊為地雷方塊時,
點擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1