項目效果展示和介紹
運行效果圖如下:?
?這個項目最初的時候是一個貪吃蛇,但是因為Java大作業(yè)做貪吃蛇的同學(xué)實在太多了,要是也交個貪吃蛇,肯定有和別的同學(xué)撞車的風(fēng)險,而且老師也肯定看膩了,因此我就根據(jù)原先的貪吃蛇項目進行魔改,以蜘蛛俠和毒液作為項目的背景,把原先的貪吃蛇作為毒液~?
先介紹一下游戲規(guī)則:
游戲開始后,我們操縱的是毒液(就是圖上的貪吃蛇),右下角的蜘蛛俠會根據(jù)毒液的位置,向毒液所在的方向移動(具體的邏輯就是根據(jù)毒液的頭部所在的位置,朝該方向移動),如果蜘蛛俠碰到了毒液的身體,游戲結(jié)束(當(dāng)然如果貪吃蛇碰到了自己的身體也游戲結(jié)束,和原先的貪吃蛇規(guī)則一樣),這里有三種食物,吃掉食物可能會造成分數(shù)score和身體長度的變化,第一種食物(加分加長度),第二種食物(減分加長度,不要吃),第三種食物(加分減長度,多吃),畢竟長度越短越不容易被抓嘛,當(dāng)然這些規(guī)則可以自己改。隨著分數(shù)的增加,界面會出現(xiàn)提示,提示蜘蛛俠加速了,這里蜘蛛俠會根據(jù)分數(shù)的增多一直進行加速。 另外這個項目還帶上了背景音樂:)
分數(shù)到1000,蜘蛛俠加速了:)?
被蜘蛛俠抓到了,游戲結(jié)束了 :(?
另外為了方便直接運行,我還把項目打成了jar包的形式,只要在命令行運行即可啦~
下面是實驗報告節(jié)選:
1.系統(tǒng)總體設(shè)計
一、需求分析
- 三種不同的食物在被毒液吃掉后會在新位置隨機生成。
- 毒液在吃到不同的食物后,長度和所得分數(shù)會發(fā)生相應(yīng)的改變。
- 對于毒液,通過方向鍵實現(xiàn)移動方向的改變,同時,頭部造型也隨方向的改變而做出相應(yīng)的調(diào)整。
- 蜘蛛俠會根據(jù)毒液的移動方向,自動做出移動方向的調(diào)整,去追趕毒液。
- 毒液分數(shù)超過一定值時,蜘蛛俠移動速度加快,并且在游戲區(qū)給出相應(yīng)的警告。
- 毒液被蜘蛛俠抓到或者毒液的頭部觸碰了身體時,游戲結(jié)束。
- 添加了游戲背景音樂,并且在游戲過程中可以循環(huán)播放。
- 添加了控制按鈕(空格),可以實現(xiàn)對游戲及音樂的暫停,以及在游戲結(jié)束后的重新開始。
- 在標(biāo)題界面畫出了三種不同食物對應(yīng)的屬性和提示,并實時更新毒液的長度和游戲分數(shù)。
- 打包成jar文件,方便使用。
二、概要設(shè)計
- 編寫一個MPanel類,將對應(yīng)功能的實現(xiàn)都放入這個類中。
- 通過該類的構(gòu)造函數(shù),實現(xiàn)游戲初始化,圖片和音樂的加載。
- 在該類中通過方法paintComponent(Graphics g)來調(diào)用該類中的所有paint方法,進行繪圖。
- 在該類中通過方法keyPressed(KeyEvent e)來調(diào)用該類中的所有Response方法,進行對鍵盤的監(jiān)聽和響應(yīng)。
- 在該類中通過方法actionPerformed(ActionEvent e)來調(diào)用該類中的所有Movement方法和judgeFailed方法,來實現(xiàn)內(nèi)容的移動和游戲結(jié)束判斷。
2.功能模塊劃分
?3.系統(tǒng)詳細設(shè)計
(1)類的設(shè)計及類繼承關(guān)系
(2)系統(tǒng)流程圖
(3)方法調(diào)用關(guān)系
4.各個功能模塊的實現(xiàn)方法描述
代碼風(fēng)格如下:
//對空格進行響應(yīng) 實現(xiàn)暫停和重新開始
private void spaceResponse(KeyEvent e) {
int keyCode=e.getExtendedKeyCode();//獲取所敲的鍵盤對應(yīng)的數(shù)字
if(keyCode==KeyEvent.VK_SPACE) {//如果敲擊的是空格鍵
if(isFailed) {//游戲結(jié)束后再次敲擊空格 重新開始
isFailed=false;//游戲重新開始時將isFailed置false
initSnake();
}
else {
isStarted=!isStarted;//取反狀態(tài) 開始-暫停 暫停-開始
}
repaint(); //修改isStarted參數(shù)后重新調(diào)用方法
//重新畫一遍 使得效果展示出來
if(isStarted) {//在空格響應(yīng)事件中實現(xiàn)聲音的播放和暫停
playBGM();
}else {
stopBGM();
}
}
}
全部源碼+完整的實驗報告(20r),可以郵箱私信我yangsober@163.com文章來源:http://www.zghlxwxcb.cn/news/detail-490333.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-490333.html
到了這里,關(guān)于Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!