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

正文內(nèi)容

基于java的打磚塊游戲畢業(yè)論文(參考版)

2024-11-11 22:00本頁(yè)面
  

【正文】 所撰寫(xiě)的畢業(yè)論文或畢業(yè)設(shè)計(jì)是在指導(dǎo)老師的指導(dǎo)下自主完成,文中所有引文或引用數(shù)據(jù)、圖表均注解并說(shuō)明來(lái)源,本人愿意為由此引起的后果承擔(dān)責(zé)任。 感謝答辯小組的老師們,您們辛苦了。 感謝這篇論文中所用到的資料的作者,他們的書(shū)籍給了我許多的思路,給了我很多的啟發(fā)。在論文的寫(xiě)作中,我遇到了許多的困難和障礙,在不懈的努力下,同學(xué)和老師的幫助下,終于解決了各種問(wèn)題,完成了任務(wù)。 基于 Java 的打磚塊游戲開(kāi)發(fā) 34 參考文獻(xiàn) [1] (美 )David M? Geary. Java 2 圖形設(shè)計(jì)――卷Ⅰ: AWT [M]. 機(jī)械工業(yè)出版社 . 202001 [2] 李鐘尉 . Java 開(kāi)發(fā)實(shí)戰(zhàn) 1200 例 [M]. 清華大學(xué)出版社 . 2020. [3] 李剛 .瘋狂 Java 講義 [M].電子工業(yè)出版社 .2020. [4] [美 ]IanCinnamon. 電玩游戲 Java 實(shí)戰(zhàn) [M]. 科學(xué)出版社 .2020. [5] 百度百科 .打磚塊 . [6] 百度百科 .Java . [7] 張小龍 .Java 程序設(shè)計(jì)基礎(chǔ) [M].清華大學(xué)出版社 .2020. [8] [美 ] 戴特爾 . Java 大學(xué)簡(jiǎn)明教程 ―― 實(shí)例程序設(shè)計(jì) [M]. 電子工業(yè)出版社 。 4 )系統(tǒng)完成后感覺(jué)有一些地方可以用更好的算法可以實(shí)現(xiàn)。一個(gè)打磚塊游戲的開(kāi)發(fā),貫穿了整個(gè)軟件工程的過(guò)程,從開(kāi)始的項(xiàng)目選定,到需求分析,到算法的設(shè)計(jì)和實(shí)現(xiàn),直到最后的軟件測(cè)試,把整個(gè)大學(xué)里學(xué)習(xí)的很多專(zhuān)業(yè)知識(shí)綜合起來(lái),構(gòu)成了一個(gè)完整的體系。 從最初學(xué)習(xí) java 環(huán)境的配置,到現(xiàn)在完成簡(jiǎn)單的打 磚塊游戲,我感覺(jué)到了自己在進(jìn)步,學(xué)習(xí)和編程的能力都有很大的增強(qiáng),同時(shí),這也增加了我對(duì)游戲項(xiàng)目的實(shí)戰(zhàn)經(jīng)驗(yàn)和技巧,相信以后可以更輕松的完成此類(lèi)項(xiàng)目。 Java 語(yǔ)言是一種面向?qū)ο蟮恼Z(yǔ)言,非常符合我們平時(shí)的思維習(xí)慣,所以只要思考了游戲的流程,游戲的算法實(shí)現(xiàn)并不困難。之前學(xué)過(guò) Java,但是沒(méi)用它做過(guò)游戲,這次設(shè)計(jì)使我從另一個(gè)方面了解了 java,也是對(duì)學(xué)習(xí)的進(jìn)一步加深。 小球運(yùn)動(dòng)檢測(cè) ( 1)小球發(fā)射檢測(cè) 輸入:進(jìn)入游戲后按下“空格” 輸出:小球開(kāi)始運(yùn)動(dòng) 結(jié)果:正常 輸入:進(jìn)入游戲后點(diǎn)擊鼠標(biāo)“左鍵” 輸出:小球開(kāi)始運(yùn)動(dòng) 結(jié)果:正常,如圖 57 圖 57 小球發(fā)射 ( 2)小球碰撞檢測(cè) ①測(cè)試小球與墻壁、擋板碰撞 輸入:開(kāi)始游戲觀察碰撞 輸出:小球碰撞后進(jìn)行反彈 結(jié)果:正常 ②測(cè)試小球與磚塊碰撞 輸入:開(kāi)始游戲觀察碰撞 輸出:小 球與碰撞后,消除磚塊并正常反彈 結(jié)果:正常 寶物功能測(cè)試 ( 1)小球加速寶物 輸入:小球與藍(lán)色磚塊碰撞 輸出:小球速度加快 結(jié)果:正常 基于 Java 的打磚塊游戲開(kāi)發(fā) 31 ( 2)小球減速寶物 輸入:小球與粉色磚塊碰撞 輸出:小球速度減慢 結(jié)果:正常 ( 3)擋板變長(zhǎng)寶物 輸入:小球與紅色磚塊碰撞 輸出:擋板長(zhǎng)度增加 結(jié)果:正常,如圖 59 ( 4)擋板變短寶物 輸入:小球與綠色磚塊碰撞 輸出:擋板長(zhǎng)度減少 結(jié)果:正常,如圖 59 圖 59 擋板初始長(zhǎng)度和變化后長(zhǎng)度 游戲聲音測(cè)試 ( 1)球與磚塊碰撞聲音測(cè)試 輸入:小球 與磚塊碰撞 輸出:聲音“ ” 結(jié)果:正常 ( 2)球與擋板碰撞聲音測(cè)試 輸入:小球與擋板碰撞 輸出:聲音“ ” 基于 Java 的打磚塊游戲開(kāi)發(fā) 32 結(jié)果:正常 ( 3)游戲升級(jí)聲音測(cè)試 輸入:游戲升級(jí) 輸出:聲音:“ ” 結(jié)果:正常 測(cè)試結(jié)果分析 測(cè)試過(guò)程中,程序出現(xiàn)了一些錯(cuò)誤,界面不能正常加載、小球不能移動(dòng)、操作命令無(wú)響應(yīng)等,測(cè)試和調(diào)試后,解決了這些問(wèn)題,完成了這個(gè)可以正常運(yùn)行的版本,當(dāng)前游戲的開(kāi)發(fā)結(jié)束。 異常原因:擋板長(zhǎng)度沒(méi)有計(jì)算如圖 55 異常處理: if ( + ) { += 8。 游戲界面顯示測(cè)試 圖 51 游戲初始界面 圖 52 小球生命值顯示 基于 Java 的打磚塊游戲開(kāi)發(fā) 28 ( 1)游戲初始界面顯示 輸入:進(jìn)入游戲 輸出:游戲初始界面,如圖 51 結(jié)果:正常 ( 2)小球生命值顯示 初始狀態(tài):顯示四條生命 輸入:擋板沒(méi)有擋住小球 輸出:生命值顯示減少,如圖 52 結(jié)果:正常 ( 3) 游戲等級(jí)升級(jí)顯示 初始狀態(tài):等級(jí)顯示為 1 輸入:清除第一關(guān)所有磚塊 輸出:等級(jí)顯示為 2,如圖 54 結(jié)果:正常 (4) 游戲升級(jí)后磚塊的顯示 輸入:清空第一關(guān)磚塊進(jìn)入第二關(guān) 輸出:如圖 54 結(jié)果:正常 ( 5)游戲通關(guān)后界面顯示 輸入:通過(guò)所有關(guān)卡 輸出:“ You Win,Press R To Restart”,如圖 53 結(jié)果:正常 基于 Java 的打磚塊游戲開(kāi)發(fā) 29 圖 53 游戲通關(guān)顯示 圖 54 第二關(guān)界面 擋板移動(dòng)控制 ( 1)按鍵控制擋板 輸入:分 別按下“左”、“右”按鍵 輸出:擋板按照游戲規(guī)則移動(dòng),擋板左側(cè)正常,右側(cè)超出游戲窗口。 ( 5)多人測(cè)試,增強(qiáng)測(cè)試的全面性。 ( 3)測(cè)試計(jì)劃必須嚴(yán)格執(zhí)行。 根據(jù)測(cè)試目的,本測(cè)試的測(cè)試原則如下: ( 1)測(cè)試用例的設(shè)計(jì),要同時(shí)包含合理的和不合理的條件輸入。要想開(kāi)發(fā)的游戲被 玩家接受與喜愛(ài),最基本的是游戲能正確合理運(yùn)行,所以,游戲的測(cè)試就變得非常重要了。 } catch (LineUnavailableException ex) { } catch (IOException ex) { } ()。 try { clip = (Clip) (info)。 } catch (UnsupportedAudioFileException ex) { } catch (IOException ex) { } format = ()。 } } 基于 Java 的打磚塊游戲開(kāi)發(fā) 26 SoundPlayer 類(lèi) SoundPlayer 類(lèi)為聲音配置類(lèi),主要是導(dǎo)入添加聲音 【代碼實(shí)現(xiàn)】 public void loadSound(String fileName) { file = new File(fileName)。 ballMove = false。 } if ( ) { //當(dāng)小球超出下邊界時(shí),小球失去生命值 = + 1。 } if ( 0) { dy = dy。 基于 Java 的打磚塊游戲開(kāi)發(fā) 25 圖 413 小球與墻壁碰撞處理 【代碼實(shí)現(xiàn)】 public void wallBounced() { if (( diameter) || ( 0)) { dx = dx。 size3 = new Point( * 1 / 10, )。 size2 = new Point( * 8 / 10, )。 size1 = new Point( * 1 / 10, )。 i++) { if ([i] == false) continue。 for (int i = 0。 } else { return false。amp。amp。amp。 當(dāng)小球碰到磚塊左邊界或右邊界時(shí), dx=dx;當(dāng)小球碰到磚塊上邊界或下邊界時(shí), dy=dy。 else location = new Point( + * 2 / 5 + 3, )。 } else { if (lor == 0) 基于 Java 的打磚塊游戲開(kāi)發(fā) 23 location = new Point( + * 1 / 3 20, )。 blockBounced()。 += dy。 } } (2) 小球的位置,小球移動(dòng)時(shí)小球位 置為( x, y),第一關(guān)時(shí)小球有兩個(gè),在擋板上的初始位置為擋板左端三分之一處和右端三分之一處,第二關(guān)時(shí)又增加了一個(gè)在擋板正中間的小球,如圖 412。 } else if ( == 2) { dx = 4。 基于 Java 的打磚塊游戲開(kāi)發(fā) 22 } Ball 類(lèi) Ball 類(lèi)是小球類(lèi),主要實(shí)現(xiàn)小球的顏色,大小,速度,位置,小球碰撞和碰到寶物磚塊后的變化 ( 1)小球速度,第一關(guān)速度設(shè)置為 3,第二關(guān)設(shè)置為 4 【代碼實(shí)現(xiàn)】 if ( == 1) { dx = 3。amp。amp。 } } //子彈超出邊界停止運(yùn)動(dòng) if(locY|| locY0){ isActive=false。 buldy=buldy。amp。amp。j。 } } } } } Bullet 類(lèi) Bullet 類(lèi)為子彈類(lèi),增加子彈功能,從擋板的兩端發(fā)射子彈,子彈也可以基于 Java 的打磚塊游戲開(kāi)發(fā) 21 消除磚塊,屬于一個(gè)輔助功能,增加游戲樂(lè)趣 ( 1)子彈消除磚塊的實(shí)現(xiàn) 把子彈定義為數(shù)組。 } if (i == 40) {// 綠色變短 (new Color(0, 250, 0))。 } if (i == 28 || i == 26) {// 粉色變慢 ()。 } if (i == 15 || i == 44) {// 藍(lán)色變快 (new Color(0, 0, 250))。 } } if ( == 2) { if (i == num 12 || i == 45 || i == 10) {// 紅色變長(zhǎng) (new Color(250, 0, 0))。 } 基于 Java 的打磚塊游戲開(kāi)發(fā) 20 if (i == num / 2 5) {// 變短 (new Color(0, 250, 0))。 } if (i == num 15) {// 加速 (new Color(0, 0, 250))。 if ( == 1) { if (i == num 2) {// 變長(zhǎng) (new Color(250, 0, 0))。 i num。 } } public void draw(Graphics graphics) ( 2) 寶物設(shè)置 ,設(shè)置 具有不同功能的磚塊,小球碰到這些磚塊會(huì)得到不同的效果,效果有小球速度加快和減慢,擋板長(zhǎng)度增加和減少,寶物設(shè)置在固定的位置 【代碼實(shí)現(xiàn)】 public void draw(Graphics g) { Image image = (Images/)。 } exist = new boolean[blockNumber]。 j 。 i 。 location = new Point[blockNumber]。 allocate = new Point(9,5)。 allocate = new Point(8,4)。 } } //public Block(GamePanel panel) { = panel。 } exist = new boolean[blockNumber]。 j 。 i 。
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1