国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

這篇具有很好參考價值的文章主要介紹了Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

項目效果展示和介紹

運行效果圖如下:?

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

?這個項目最初的時候是一個貪吃蛇,但是因為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,蜘蛛俠加速了:)?

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

被蜘蛛俠抓到了,游戲結(jié)束了 :(?

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

另外為了方便直接運行,我還把項目打成了jar包的形式,只要在命令行運行即可啦~

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

下面是實驗報告節(jié)選:

1.系統(tǒng)總體設(shè)計

一、需求分析

  1. 三種不同的食物在被毒液吃掉后會在新位置隨機生成。
  2. 毒液在吃到不同的食物后,長度和所得分數(shù)會發(fā)生相應(yīng)的改變。
  3. 對于毒液,通過方向鍵實現(xiàn)移動方向的改變,同時,頭部造型也隨方向的改變而做出相應(yīng)的調(diào)整。
  4. 蜘蛛俠會根據(jù)毒液的移動方向,自動做出移動方向的調(diào)整,去追趕毒液。
  5. 毒液分數(shù)超過一定值時,蜘蛛俠移動速度加快,并且在游戲區(qū)給出相應(yīng)的警告。
  6. 毒液被蜘蛛俠抓到或者毒液的頭部觸碰了身體時,游戲結(jié)束。
  7. 添加了游戲背景音樂,并且在游戲過程中可以循環(huán)播放。
  8. 添加了控制按鈕(空格),可以實現(xiàn)對游戲及音樂的暫停,以及在游戲結(jié)束后的重新開始。
  9. 在標(biāo)題界面畫出了三種不同食物對應(yīng)的屬性和提示,并實時更新毒液的長度和游戲分數(shù)。
  10. 打包成jar文件,方便使用。

二、概要設(shè)計

  1. 編寫一個MPanel類,將對應(yīng)功能的實現(xiàn)都放入這個類中。
  2. 通過該類的構(gòu)造函數(shù),實現(xiàn)游戲初始化,圖片和音樂的加載。
  3. 在該類中通過方法paintComponent(Graphics g)來調(diào)用該類中的所有paint方法,進行繪圖。
  4. 在該類中通過方法keyPressed(KeyEvent e)來調(diào)用該類中的所有Response方法,進行對鍵盤的監(jiān)聽和響應(yīng)。
  5. 在該類中通過方法actionPerformed(ActionEvent e)來調(diào)用該類中的所有Movement方法和judgeFailed方法,來實現(xiàn)內(nèi)容的移動和游戲結(jié)束判斷。

2.功能模塊劃分

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

?3.系統(tǒng)詳細設(shè)計

(1)類的設(shè)計及類繼承關(guān)系

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

(2)系統(tǒng)流程圖Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

(3)方法調(diào)用關(guān)系

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

4.各個功能模塊的實現(xiàn)方法描述

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)

代碼風(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

Java畢業(yè)設(shè)計(Java大作業(yè)課程設(shè)計)——貪吃蛇魔改版(附源代碼和完整實驗報告)文章來源地址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)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包