大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java培訓(xùn) Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

更新時間:2020-06-09 13:46:57 來源:動力節(jié)點 瀏覽2645次

植物大戰(zhàn)僵尸這款游戲相信大家或多或少都玩過,那么大家有沒有想過自己嘗試著做一下植物大戰(zhàn)僵尸的游戲設(shè)計呢。本文將基于Java語言為大家展示如何開發(fā)出植物大戰(zhàn)僵尸游戲的簡易版本,主要內(nèi)容包括規(guī)則、對象、功能和背景音樂的相關(guān)內(nèi)容設(shè)計,如果大家對此有興趣的話,就接著看下去吧

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

一、游戲設(shè)計—規(guī)則

植物大戰(zhàn)僵尸中有一個小游戲關(guān)卡,屏幕的正上方有一個滾輪機,會隨機生成植物,玩家可以選中植物后自由選擇草坪來進(jìn)行安放。基于此游戲模式,本文將該關(guān)卡抽取出來,單獨做成了一個簡易版的植物大戰(zhàn)僵尸。屏幕左側(cè)會自動生成植物的卡牌,單擊選中后可以放置在草坪上。右側(cè)會自動生成僵尸,不同的僵尸移動速度不同,血量不同,還有的僵尸有隱藏獎勵,比如:全屏僵尸靜止、全屏僵尸死亡等。這里先說一下游戲暫停的功能應(yīng)該怎么做。最簡單的一種暫停方式是鼠標(biāo)移出屏幕,游戲暫停。所以這里需要引入一個鼠標(biāo)監(jiān)聽器事件。如下圖所示:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

當(dāng)然,這只是一個簡單的通過監(jiān)聽鼠標(biāo)的位置來改變游戲狀態(tài)方法。還可以使用鍵盤監(jiān)聽器,當(dāng)按下某個鍵時游戲暫停,這樣的用戶體驗更好,但原理是一樣的。

2、游戲設(shè)計—對象

首先分析一下游戲中有哪些對象。各式各樣的植物,各式各樣的僵尸,各式各樣的子彈。那么這里就可以抽出三個父類,分別是植物、僵尸、子彈。在面向?qū)ο笾校宇悓⒗^承父類所有的屬性和方法。所以可以將三大類中,共有的屬性和方法抽到各自的父類中。比如僵尸父類,如圖所示:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

植物父類、子彈父類就同理可得了。上面說到子類共有的方法需要抽到父類中,那么部分子類共有的方法該如何處理呢?比如,豌豆射手、寒冰射手可以發(fā)射子彈,堅果墻就沒有射擊的這個行為。所以這里就需要用到接口。如圖所示:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

到此為止,游戲?qū)ο蟮膶傩浴⒎椒ɑ径级x完了,至于圖片的顯示以及如何將圖片畫出來,只需要使用相應(yīng)的API即可,這里就不做描述了。

3、游戲設(shè)計—功能

現(xiàn)在我們有了游戲的對象,該開始讓對象加入到游戲中來,接著讓他們動起來,最后還得讓他們打起來。首先,讓對象加入到游戲中來我是這么做的,這里還是以僵尸為例,如圖所示:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

首先植物入場時是在滾輪機上的,滾輪機上的移動就會涉及到追擊和停止的問題。追擊的方式當(dāng)然是追前一個植物卡牌,但當(dāng)?shù)谝粋€植物卡牌被選中放置到草地上后,那該如何追擊呢?將植物集合分為滾輪機上的集合和戰(zhàn)場上的集合,如圖所示:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

接下來該讓對象們都動起來了。之前說到在父類中的移動方法是抽象方法,在各自的子類中都進(jìn)行重寫后,不同的對象移動方式就是各式各樣的了。如圖:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

看著代碼中對集合復(fù)雜的遍歷,不得不感概lambda表達(dá)式真是個好東西,如圖:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

如何讓對象們打起來呢?下面以僵尸攻擊植物為例:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

結(jié)合圖片來看,黑框P代表植物,黑框Z代表植物,虛線是指兩者接觸的極限距離,當(dāng)僵尸進(jìn)入虛線內(nèi),就保證可以攻擊到植物。至此,游戲的基本功能基本實現(xiàn)了。Java是一門面向?qū)ο蟮恼Z言,萬物皆對象,特征皆屬性,行為皆方法。肉眼能看到的僵尸、植物、草坪都是對象,對象的特性比如血量、移動速度都是屬性,對象的行為比如移動、攻擊、死亡都是方法。

4、游戲設(shè)計—背景音樂

bgm是一個游戲的靈魂之一。這里給游戲添加背景音樂,可以新建一條線程專門用來執(zhí)行音樂的解析和播放,如圖:

Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程

這里需要注意的是,Java中解析音樂的API只支持WAV格式的文件,文件格式的轉(zhuǎn)換大多數(shù)音樂播放器都可以做到。

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java軟件項目實戰(zhàn)培訓(xùn)教程之游戲小編程”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久99亚洲精品久久久久99 | 欧美毛片| 4huh34四虎最新 | 国产午夜爽爽窝窝在线观看 | 亚洲一级毛片免观看 | 草草在线观看视频 | 日本在线观看不卡 | 国产成+人+亚洲+欧美+日韩 | 免费h片在线观看网址最新 免费v片在线观看无遮挡 | 久久久鲁 | 天天操天天干天天 | 亚洲综合一区二区 | 深夜成人在线 | 国产午夜精品久久理论片 | 日韩深夜视频 | 97免费在线观看 | 国产成人精品一区二区免费视频 | 成人免费一区二区三区在线观看 | 中文字幕一二三区乱码老 | 涩涩在线 | 欧美国产综合日韩一区二区 | 宅男影院在线观看 | 日韩综合区 | 亚洲乱码视频在线观看 | 成年激情网 | 日本中文一二区有码在线观看 | 一本久道综合久久精品 | 在线成人tv天堂中文字幕 | 亚洲欧美久久精品 | 久久日精品 | 亚洲精品国产一区二区 | 久久精品国产在热久久2019 | 国产精品久久久久影院色 | 五月婷婷激情五月 | 夜夜躁日日躁狠狠 | 日日摸夜夜爽人人添 | 久久久精品影院 | 热久久影院 | 在线免费观看国产精品 | 亚洲精品久久久久久下一站 | 欧美80岁老妇一级毛片 |