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

正文內容

基于java的俄羅斯方塊的設計和實現畢業(yè)論文-文庫吧資料

2025-03-06 09:45本頁面
  

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