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

正文內(nèi)容

基于java的俄羅斯方塊的設(shè)計(jì)和實(shí)現(xiàn)畢業(yè)論文-文庫(kù)吧資料

2025-03-06 09:45本頁(yè)面
  

【正文】 數(shù)。解決方法是,在方法中加入 return 語(yǔ)句,返回相應(yīng)的內(nèi)容即可。但是系統(tǒng)中可能還存在著一些其他的錯(cuò)誤和缺陷,因此,游戲必須要經(jīng)過(guò)反復(fù)的運(yùn)行測(cè)試,盡最大量將 bug減到最少。 3運(yùn)行時(shí)錯(cuò)誤 運(yùn)行時(shí)錯(cuò)誤是在執(zhí)行過(guò)程中指令試圖執(zhí)行不可能的動(dòng)作而導(dǎo)致的,必須糾正 運(yùn)行時(shí)產(chǎn)生的錯(cuò)誤,這樣才能保證軟件運(yùn)行的可靠性。當(dāng)有因鍵入錯(cuò)誤或程序邏輯流程引起的邏輯錯(cuò)誤,可能會(huì)成功運(yùn)行,但產(chǎn)生的結(jié)果卻是錯(cuò)的。語(yǔ)法錯(cuò)誤可能導(dǎo)致不能繼續(xù)編寫代碼。應(yīng)在以下幾方面加以注意: 1語(yǔ)法錯(cuò)誤 語(yǔ)法錯(cuò)誤是經(jīng)常碰到的錯(cuò)誤。因?yàn)樵陂_發(fā)軟件的時(shí)候,開發(fā)人員已經(jīng)形成了自己的思維定勢(shì),在測(cè)試的時(shí)候始終受到這種思想的束縛,很難找出其中的錯(cuò)誤而與設(shè)計(jì)無(wú)關(guān)的人員和那些分析人員很容易找出錯(cuò)誤所在。 軟件應(yīng)從多角度進(jìn)行測(cè)試和分析,這樣才能找出其中錯(cuò)誤的地方。 21 5 系統(tǒng)的測(cè)試運(yùn)行 測(cè)試的意義及注意事項(xiàng) 軟件測(cè)試是軟件設(shè)計(jì)過(guò)程中極其重要的一個(gè)環(huán)節(jié),是保證軟件的質(zhì)量的重要保障。 // 重繪畫布 repaint()。 } // 每次消行加 10分 score += 。 j cols。 i 0。本游戲的游戲規(guī)則為每消一行得 10 分,每增加 100 分上升一個(gè)等級(jí),初始得分為 0,初始等級(jí)為 1,“最高分記錄”記錄游戲的目前最高 分記錄。 4“控制”選項(xiàng)的“開始”子選項(xiàng)控制游戲的開始,點(diǎn)擊按鈕,方塊開始下落。 3“背景”按鈕中的“前景色”、“背景色”又有“黑色”、“白色”、“紅色”、“藍(lán)色”等選項(xiàng),根據(jù)選項(xiàng)可更改主界面和預(yù)顯窗口的背景色以及方塊的顏色。 20 2“提高等級(jí)”、“降低等級(jí)”按鈕用來(lái)手動(dòng)調(diào)節(jié)游戲的等級(jí),從而改變方塊下落的速度。 //設(shè)置游戲難度 setLevel(initlevel)。該按鈕的監(jiān)聽實(shí)現(xiàn)代碼如下 : // 新游戲 按鈕添加監(jiān)聽 (new ActionListener(){ public void actionPerformed(ActionEvent ae) { //停止游戲 stopGame()。相關(guān)截圖如圖 41圖 41圖 41圖 414 所示。“控制”選項(xiàng)分“開始”、“暫?!?、“重新開始”、“停止”?!坝螒颉边x項(xiàng)又分“新游戲”、“提高等級(jí)”、“降低等級(jí)”、“退出”四個(gè)選項(xiàng)。 default: break。 case : ()。 case : ()。 case : ()。 switch (()) { case : ()。實(shí)現(xiàn)代碼如下: 18 private class ControlKeyListener extends KeyAdapter { public void keyPressed(KeyEvent ke) { if (!()) return。 使用 ControlKeyListener 可創(chuàng)建偵聽器對(duì)象,然后使用組件的 addKeyListener 方法向該組件注冊(cè)此偵聽器對(duì)象。此類存在的目的是方便創(chuàng)建偵聽器對(duì)象。 KeyAdapter 類繼承自 Object 類,實(shí) 現(xiàn)KeyListener 接口,用來(lái) 接收鍵盤事件的抽象適配器類。如圖 410 方塊翻轉(zhuǎn)流程圖所示,方塊翻轉(zhuǎn)需要經(jīng)三次判定:是否已經(jīng)下落到底部、翻轉(zhuǎn)后是否有足夠空間、翻轉(zhuǎn)后是否越界。 所以,如果以上空間有空格子,方塊就能夠翻轉(zhuǎn)。 方塊數(shù)組在游戲主界面中的坐標(biāo)是確定的,不確定的是方塊翻轉(zhuǎn)后到底處在方塊數(shù)組的哪個(gè)位置,為了解決這個(gè)問(wèn)題,我們可以限定方塊在方塊數(shù)組中的存儲(chǔ)原 則是靠左、靠上,這樣,無(wú)論翻轉(zhuǎn)怎么翻轉(zhuǎn),方塊數(shù)組中第一行和第一列都是有方塊的,這樣也就確定了方塊在方塊數(shù)組中的位置,也就可以得知方塊翻轉(zhuǎn)后在游戲地圖中的位置了。 何種情況下方塊能夠翻轉(zhuǎn)的問(wèn)題解決了,接下來(lái),我們就應(yīng)該解決方塊翻轉(zhuǎn)后所處的位置的問(wèn)題了,因?yàn)橹挥惺孪戎婪綁K翻轉(zhuǎn)后所處的位置,才能夠?qū)δ莻€(gè)位置的空間范圍進(jìn)行判定,判定它是否能夠容納方塊。而其它五種形態(tài)的方塊,又有一個(gè)共同點(diǎn),就是它們都有兩種翻轉(zhuǎn)狀態(tài)橫向占三個(gè)格子的空間,豎直方向占兩個(gè)空間,另外兩種翻轉(zhuǎn)狀態(tài)橫向占兩個(gè)格子的空間,豎直方向占三個(gè)格子空間,如果他們是以橫向占三個(gè)格子的狀態(tài)下落,那么只要能下落,就一定能夠翻轉(zhuǎn),如果是以橫向兩個(gè)格子的狀態(tài)下落,那么在翻轉(zhuǎn)后,周圍必須要有 3x2 個(gè)格子的空間。 根據(jù)觀察,不難發(fā)現(xiàn),七種形態(tài)的方塊,長(zhǎng)條形的方塊如果以橫條的形態(tài)下落,則只要能夠下落,就能翻轉(zhuǎn),如果以豎條的形態(tài)下落,那么它翻轉(zhuǎn)后所處的位置必須要有4x1 個(gè)格子的空間才能夠翻轉(zhuǎn)。否則,不能翻轉(zhuǎn)。 第一種情況只需要參考方塊落下去后不能夠再移動(dòng)的判定即可。要想實(shí)現(xiàn)翻轉(zhuǎn)又不發(fā)生越界,那么,就應(yīng)該在方塊翻轉(zhuǎn)后把它往右邊移動(dòng)一個(gè)格子,然后再繪制方塊,這樣,方塊就不會(huì)擠占掉其它已經(jīng)固定住的方塊了,以下解決越界問(wèn)題。 moving)。 } //pausing判定游戲是否處于暫停狀態(tài) if (!pausing) moving = (moveTo(y + 1, x) amp。 public void run() { //moving判定方塊是否在動(dòng)態(tài)下落 while (moving) { 15 try { //betweenleveltime指示相鄰等級(jí)之間相差時(shí)間 sleep(betweenleveltime * ( level + flatgene))。 方塊的操作類 BlockOperation 繼承Thread 類,重寫 run()方法,以實(shí)現(xiàn)方塊的動(dòng)態(tài)正確下落。方塊翻轉(zhuǎn)也只需要改變背景數(shù)組的值,重新繪制方塊即可。739。739。Z39。Z39。T39。 13 以下為與數(shù)組相對(duì)應(yīng)的方塊樣式截圖。739。739。Z39。Z39。T39。本游戲用二維數(shù)組存儲(chǔ)方塊的 28 種樣式。 3當(dāng)前圖形在其 4*4網(wǎng)格中的位置信息。 style=[(int)(()*7)][(int) (() * 4)]。用該數(shù)乘以 4,之后強(qiáng)轉(zhuǎn)成整型,即可得到 1— 4 的整數(shù),用來(lái)控制列。 Java 語(yǔ)言包中的 Math 類提供了一個(gè)生成隨機(jī)數(shù)的方法 random(),調(diào)用這個(gè)方法會(huì)產(chǎn)生一個(gè)在 01 之間的雙精度浮點(diǎn)數(shù)。即 0=blockkindnum=6, 0=blockstatusnum=3 那么,當(dāng)方塊落下需要得到新方塊時(shí),只需隨機(jī)得到一對(duì) blockkindnum,blockstatusnum 值,然后再根據(jù)這個(gè) STYLE 的值構(gòu)畫相應(yīng)的方塊。游戲定義了一個(gè)變量,代表新方塊的模型。用“ 0”和“ 1”來(lái)表示每個(gè)方格是繪制新顏色還是保留底色。 ShowBeforePanel 這個(gè)類提供方塊預(yù)顯圖形 , blockkindnum用來(lái)控制隨機(jī)產(chǎn)生的方塊編號(hào), blockstatusnum 用來(lái)控制方塊的四種旋轉(zhuǎn)狀態(tài)。 (j * boxWidth, i * boxHeight, boxWidth, boxHeight, true)。 j boxes[i].length。 i 。 (frontColor)。//背景色 = frontColor。// } } } //畫布類的構(gòu)造函數(shù) public ChangeBlockColor(int rows, int cols, Color backColor, Color frontColor) { this(rows, cols)。 j boxes[i].length。 i 。 boxes = new BlockPaint[rows][cols]。 public ChangeBlockColor(int rows, int cols) { = rows。 private BlockPaint[][] boxes。背景畫布實(shí)現(xiàn)代碼如下: /* ChangeBlockColor 類 畫布類的構(gòu)造函數(shù) rows int, 畫布的行數(shù) cols int, 畫布的列數(shù) 行數(shù)和列數(shù)決定著畫布擁有方格的數(shù)目 */ class ChangeBlockColor extends JPanel { private Color backColor = new Color(0,51,0) , frontColor = new Color(255,153,0)。 背景畫布模塊設(shè)計(jì) 該游戲的主背景畫布是一個(gè) 20 行、 12 列的二維 數(shù)組,方塊顯示是由相應(yīng)顏色變化來(lái)標(biāo)識(shí),主窗體用顏色填充后可形成呈現(xiàn)出來(lái)背景樣式和方塊。游戲主窗體尺寸設(shè)置為( 520, 580),方塊移動(dòng)范圍窗格由一個(gè) 20行、 12 列的二維數(shù)組控制,且左上角圖標(biāo)設(shè)置為方塊圖案,起標(biāo)識(shí)作用。下圖 41為游戲主界面截 圖。 游戲主界面采用 Swing 組件開發(fā),并且向其注冊(cè)監(jiān)聽器,以實(shí)現(xiàn) 各種控制功能,綜合 游 戲窗 體的 設(shè)計(jì) ,其 上至 少需 要注 冊(cè)三 個(gè) 監(jiān)聽 器, 分別 是動(dòng) 作監(jiān) 聽 器(ActionListener)、鍵盤監(jiān)聽器 (KeyListener)、選項(xiàng)監(jiān)聽器 (ItemListener)。 游戲主界面顯示模塊 一個(gè)優(yōu)秀的軟件系統(tǒng)不僅體現(xiàn)在核心的功能的多樣性和強(qiáng)大上,如果使用者所面對(duì)的是枯燥的、陳舊的界面的話,那么這個(gè)的軟件系統(tǒng)是不成功的,所以好的、精美的界面設(shè)計(jì)是極為重要的環(huán)節(jié)。 BlockPaint 類:方格類,組成方塊的基本元素,主要表達(dá)方式為顏色。 ControlPanel 類:繼承自 JPanel 類,作為操作面板類,負(fù)責(zé)安放主游戲窗口,積分板,級(jí)別控制按鈕等窗口用以控制游戲進(jìn)程。試想,如果因?yàn)橥獠凯h(huán)境或者用戶需求的變化需要對(duì)程序進(jìn)行功能擴(kuò)展或者維護(hù),就要對(duì)代碼作大幅度的更動(dòng)甚至重寫,這樣就失去了面向?qū)ο蟮膬?yōu)勢(shì),所以在本程序分析時(shí)將獨(dú)立性高的模塊作為一個(gè)對(duì)象,以提高程序的 可擴(kuò)展性和可維護(hù)性。 游 戲 控 制 區(qū)開 始暫 停初 始 級(jí) 別 設(shè) 置退 出初 始 顏 色 設(shè) 置 圖 34 控制區(qū)模塊示意圖 8 4 系統(tǒng)的詳細(xì)設(shè) 計(jì)與實(shí)現(xiàn) Java 是一種純面向?qū)ο螅?ObjectOriented)的程序語(yǔ)言,它的諸多優(yōu)點(diǎn)在此就不作詳細(xì)論述了。 俄 羅 斯 方 塊 游 戲游 戲 界 面 區(qū)游 戲 控 制 區(qū)顯 示 玩 家 可 選 操 作顯 示 玩 家 操 作 結(jié) 果開 始暫 停 、 繼 續(xù)提 高 等 級(jí)更 改 顏 色降 低 等 級(jí)退 出停 止重 新 開 始 圖 32 系統(tǒng)功能模塊示意圖 圖 33 為游戲界面區(qū)模塊設(shè)計(jì)示意圖,如圖所示,游戲界面區(qū)模塊可細(xì)分為闖進(jìn)新游戲界面、處理玩家操作、顯示玩家操作結(jié)果三個(gè)功能模塊。游戲界 6 面區(qū)分顯示玩家可選操作、顯示玩家操作結(jié) 果兩個(gè)部分。 5 玩 家 操 作 方 塊初 始 化 方 塊是 否 到 達(dá) 底 部否是 否 滿 行 是玩 家 更 改 前 景 色 、背 景 色 、 等 級(jí) 等玩 家 積 分 增 加是積 分 達(dá) 到 1 0 0玩 家 等 級(jí) 增 加是是 否 到 達(dá) 頂 部是暫 停 、 繼 續(xù) 、 停止 、 重 新 開 始結(jié) 束開 始否否顯 示 G a m e O v e r游 戲 結(jié) 束 圖 31 游戲基本流程圖 基本流程的功能模塊 本系統(tǒng)基于游戲的各項(xiàng)功能來(lái)設(shè)計(jì)游戲的各個(gè)功能模塊。按“停 止”按鈕,游戲會(huì)徹底停止正在進(jìn)行的當(dāng)局游戲,再按“開始”或“控制”菜單內(nèi)的“重新開始”會(huì)開始新游戲。也可點(diǎn)擊“顏色”菜單內(nèi)的選項(xiàng),更改前景色、背景色。 3方塊滿行消除,分?jǐn)?shù)自動(dòng)增加,分?jǐn)?shù)每滿 100 等級(jí)自動(dòng)增加一級(jí)。 運(yùn)行說(shuō)明 : 1運(yùn)行程序,點(diǎn)擊右側(cè)控制面板內(nèi)的“開始”或“控制”菜單內(nèi)的“開始”按鈕開始游戲。 4 3 系統(tǒng)的概要設(shè)計(jì) 軟件運(yùn)行和開發(fā)工具 操作系統(tǒng): Microsoft Windows XP Professional Service Pack 3 內(nèi)存: 2G 硬盤: 320G CPU:賽揚(yáng) 交互工具:鍵盤、鼠標(biāo) 顯示器: VGA 顯示器 JDK 版本: Eclipse 版本: MyEclipse 系統(tǒng)功能設(shè)計(jì) 手工處理業(yè)務(wù)的基本流程 本游戲的設(shè)計(jì)以?shī)蕵?lè)為初衷,以益智為目的,在綜合研究以往俄羅斯方塊經(jīng)典游戲功能的基礎(chǔ)上推陳出新,加之新的功能,賦以新的生機(jī)和活力。 接口控制 本游戲通過(guò)鍵盤和鼠標(biāo)進(jìn)行操作,在 Windows 的操作系統(tǒng)下,利用鍵盤的按鍵對(duì)方塊進(jìn)行移動(dòng)、變形,要使用到鍵盤的接口事件。當(dāng)方塊充滿主界面的每一行,方塊不能再下落時(shí),提示“ Game Over”的字樣。 顯示需求:當(dāng)方塊填滿一行時(shí)可以消行,剩余未填滿的行逐次向下移動(dòng)并統(tǒng)計(jì)分?jǐn)?shù)。 鍵盤處理事件需求:方塊下落時(shí),可通過(guò)鍵盤方向鍵(上鍵 、下鍵、左
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1