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

正文內容

基于java的打磚塊游戲畢業(yè)論文-wenkub.com

2024-11-03 22:00 本頁面
   

【正文】 最后,再次向所有曾經關心和幫助過我的老師和同學表示最誠摯的謝意! 基于 Java 的打磚塊游戲開發(fā) 36 北方民族大學畢業(yè)設計(論文)誠信承諾書 學生姓名 張宇航 年級 10 級 所學專業(yè) 軟件工程 學號 20200463 所在學院 計算機科學與工程學院 學生承諾 本人慎重承諾和聲明: 我承諾在 畢業(yè)設計(論文)過程中 嚴格遵守學校有關規(guī)定,在指導教師的安排與指導下獨立完成所規(guī)定的畢業(yè)設計(論文)工作,決不弄虛作假,不請別人代做畢業(yè)設計(論文)或抄襲別人的成果。 在編寫論文,指導老師林淑飛老師給予了我很 多的幫助,對我的項目提出各種建議和改進方案,感激不盡。 5 )希望以后能將游戲轉移到安卓手機上。 在做項目這段時間里,我學到了許多新知識,同時復習并鞏固了之前學習的舊知識,通過對它們的實踐,我對我自己的專業(yè)軟件工程也有了更深刻的理解。 打磚塊游戲的開發(fā),我認為最主要的是一些游戲算法的設計和游戲界面界面的設計,或者說所有的小游戲都是以這些為核心。 } 圖 55擋板異常圖 圖 56 擋板異常 ( 2)鼠標控制擋板 輸入:進入游戲后左右移動鼠標 輸出:擋板沿著橫坐標左右移動 基于 Java 的打磚塊游戲開發(fā) 30 結果:正常。 ( 6)為了后續(xù)游戲完善的方面,應該將測試材 料歸檔,包括測試的計劃、用例、錯誤統(tǒng)計與最終分析結果。 ( 2)測試用例要有輸入數(shù)據(jù)與預期輸出的結果兩部分。 } 基于 Java 的打磚塊游戲開發(fā) 27 第 五 章 游戲的運行與測試 軟件工程理論要求任何程序開發(fā)都不能離開軟件測試,游戲項目的開發(fā)當然也是如此。 } public void playSound() { info = new (, format)。 padCanBounce = true。 padCanBounce = true。 ( 4)小球與墻壁碰撞檢測 小球 X坐標等于左 X邊界坐標時,小球與左邊界碰撞, Y軸方向速度不變,X 軸方向速度取反,同理,小球與右邊界碰撞,也是 Y 軸方向速度不變, X 軸方向速度取反,當小球 Y 坐標等于 0時,與上邊界碰撞,小球 X軸方向速度不變,Y軸方向速度取反,如圖 413。 local2 = new Point([i].x + * 1 / 10, [i].y)。 i 。 ( + )) { return true。 ( + ) amp。 } } ( 3) 小球與磚塊碰撞檢測,判斷小球是否碰到了磚塊,設置一個函數(shù)Bounce(),它用來判斷小球是否碰到磚塊 (或擋板 ),其中 bk_location 存放磚塊左上角坐標, bk_size 存放磚塊的大小 當傳入的第二個 Point 型參數(shù)等于十分之一磚塊長度和磚塊寬度時,小球碰到磚塊左邊界;當傳入的第一個 Point 型參數(shù)的 x 坐標加上十分之一磚塊長度,傳入的第二個 Point 參數(shù)的 x坐標是磚塊長度的十分之八時,小球碰到磚塊上方邊界和下方邊界;當傳入的第一個 Point 型參數(shù)的 x坐標是磚塊左上角坐標加上十分之八個磚塊的長度,第二個 Point 型參數(shù)的 x 坐標是磚塊的十分之一時,小球碰到磚塊右邊界。 padBounced()。 圖 412 小球位置設置 【代碼實現(xiàn)】 if (ballMove) { // if () { += dx。 dy = 3。locXamp。 break。locX[j].xamp。 判斷子彈與磚塊的碰撞:因為子彈是沿著 Y軸豎直運動,所以只要子彈在磚塊左右兩端之間且與磚塊下 邊接觸,即可判斷碰到當前磚塊,如圖 411 圖 411 子彈與磚塊碰撞判斷 子彈與磚塊碰撞后會反彈 buldy=buldy,擋板碰到反彈回來的子彈會縮短長度 buldy=buldy 【代碼實現(xiàn)】 public void hit(){ for(int j=0。 (location[i].x, location[i].y, , )。 (location[i].x, location[i].y, , )。 (location[i].x, location[i].y, , )。 i++) { if (exist[i] == true) { (image, location[i].x, location[i].y, , , null)。 for(boolean i:exist) { i = true。 i++) for(int j = 0。 } size = new Point(50,20)。 if( == 1) { blockNumber = 32。 j++) { location[i * + j] = new Point(()/2 + j * (), (i + 1) * 30 + 50) 。 //設置磚塊的位置 for(int i = 0。 } if( == 2) { blockNumber = 54。定義數(shù)組存放磚塊的左 上角坐標,再定義一個 Point型變量存放磚塊的長寬。 } Block 類 Blocl 類為磚塊類,功能主要是磚塊初始的排列和磚塊的寶物功能 ( 1) 磚塊位置初始化 。 } } } ( 3) 畫擋板 , GradientPaint的作用是填充漸變顏色,此處填充上方灰色到下方黑色顏色逐漸加深的漸變 【代碼實現(xiàn)】 public void draw(Graphics g) { Graphics2D g2 = (Graphics2D) g。 if( == 2) size = new Point(120,20)。 } } } Pad 類 Pad 類是擋板類,主要設計擋板的大小、顏色和移動的速度與方向。 } } ( 5) 鼠標設置 (控制擋板移動),分別設置第一關和第二關的擋板移動速度,設置擋板不能超過邊界 當擋板的坐標超出左邊界時,強制其坐標為 0,擋板超出右邊界時,強制其坐標為(界面寬度 擋板長度) 【代碼實現(xiàn)】 public void mouseMoved(MouseEvent arg0) { if (!gameOver) { if (level == 1) { 基于 Java 的打磚塊游戲開發(fā) 16 = () 75。 ballNumber = 2。 reSetGame()。 i ballnum。 =。 if(keycode==){ if(!gameOver) { Bullet bul=new Bullet(this,pad,block)。 } } fail()。 level = 2。 ballMove = false。 i = 。 (Press R to restrart, width/270, height/2 + 40)。 if(fallTimes = 4) { ()。 i++) { GradientPaint whiteToGray = new GradientPaint(i*40,20,i*40+20,40,)。 (等級 + level, 400, 37)。 } ( 2)游戲界面的設置 在游戲界面上顯示生命值、得分、等級的信息。 if (tips == true) { (Use mouse or keyboard to control the pad, width / 2 200, height / 2 + 40)。 } public static void main(String args[]) { new GameFrame()。 (gamePanel,)。 (new WindowAdapter() { public void windowClosing(WindowEvent e) { (0)。 類的設計 本 論 文 共 設 計 了 7 個 類 , 分 別 是 GameFrame, GamePanel, Pad,Block,Bullet,Ball,SoundPlayer 類,每個類具體如下: 基于 Java 的打磚塊游戲開發(fā) 9 ( 1) GameFrame 類:游戲窗口類,如圖 42; 圖 42 GameFrame類的方法 ( 2) GamePanel 類:游戲界面類 ,如圖 43; 圖 43 GamePanel類的方法 ( 3) Pad 類:擋板類,如圖 44; 圖 44 Pad類的方法 ( 4) Block 類:磚塊類,如圖 45; 基于 Java 的打磚塊游戲開發(fā) 10 圖 45 Block類的方法 ( 5) Bullet 類:子彈類,如圖 46; 圖 46 Bullet類的方法 ( 6) Ball 類:小球類,如圖 47; 圖 47 Ball類的方法 (7) SoundPlayer:聲音控制類,如圖 48; 圖 48 SoundPlayer聲音類 GameFrame 類是游戲窗口啟動類,在啟動時會調用 GamePanel 類,繪制游戲啟動界面, GamePanel 類繼續(xù)調用其他類,最終實現(xiàn)游戲功能。要特別注意小球與擋板移動后會不會超出操作區(qū)域等問題。 游戲模塊設計 游戲界面繪制模塊 界面繪制模塊的作用是負責游戲界面的顯示。 ( 7)游戲能流暢的運行 游戲啟動后,點擊鼠標或者按空格鍵,發(fā)射小球,小球碰到磚塊會將磚塊消除,并同時增加得分,清除掉所有磚塊,進入下一關,通過最后一關后游戲 勝利,如果擋板沒有在小球下落時擋住小球,小球生命值減少,小球生命值為 0 時,游戲結束。 ( 3)游戲隨關卡等級提升使難度有所增加。 打磚塊游戲非常經典,但是版本也很多,某些規(guī)則可能不同,但最基本的規(guī)則是不會改變的。 ( 4)小球會在界面上、左、右邊界和擋板、磚塊之間來回彈跳,小球碰到邊界和擋板會反彈,碰到磚塊會將磚塊消除再反彈。基于 Java 的打磚塊游戲開發(fā) 5 第 三 章 打磚塊游戲介紹 打磚塊游戲(英文: Arkanoid)是一款堪稱經典的小游戲,曾經流行在老式掌上游戲機上面。 圖形界面相對于命令行界面,更加簡單直觀,更容易使用戶在視覺上接受。 另外 Thread 類實現(xiàn)了 Run able 接口, 所以 , 每 個線程均有它 獨自的 run 方法, run 方法中包含了 運行線程所需代碼 。 Java 程序在 Java 平臺上被編譯為字節(jié)碼格式( class 文件) ,然后 就可以 在實現(xiàn) Java 平臺的 所有 系統(tǒng)中 運作 。 Java 可移植性源于體系結構 的 中立 。 Java 會 強類型 , 異常處理 和 垃圾的自動收集等是Java 程序健壯性的重要保證。 開發(fā)環(huán)境 操作系統(tǒng): Microsoft Windows7 開發(fā)語言: Java JDK 版本: build – b13 Java 語言特點 1. Java 語言是強制面向對象的。 如果 利用游戲知識庫 的話 ,我們 能更 好的實現(xiàn)游戲規(guī)則處理。 游戲產業(yè)的發(fā)展現(xiàn)狀 游戲 的 產業(yè) 是新時代發(fā)展起來的行業(yè) , 它的獨特的力量使它在當今的娛樂領域占有一塊非常大的比重 , 當前的種種原因使得用戶可以選擇的娛樂活動變少,這是游戲產業(yè)發(fā)展起來的一個原因,但是更大的原因是游戲具有非常大的吸引力,它可以讓玩家消磨時間,可 以讓玩家在緊張
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1