双人贪吃蛇java 代码_贪吃蛇课设--个人博客
一.課程設(shè)計(jì)團(tuán)隊(duì)博客鏈接
1.2UML類圖
2.個(gè)人負(fù)責(zé)模塊或任務(wù)說明
黃色劃線部分為我負(fù)責(zé)的功能
3.代碼提交記錄
4.負(fù)責(zé)模塊詳細(xì)說明
蛇的移動(dòng)模塊(使用了Timer類,通過設(shè)計(jì)刷新的時(shí)間,實(shí)現(xiàn)KeyListener和ActionListener接口實(shí)現(xiàn)對(duì)鍵盤按鍵和變量監(jiān)聽的方法,實(shí)現(xiàn)蛇的移動(dòng))
畫出界面模塊
難點(diǎn)是判斷位置的坐標(biāo),使用畫圖Graphics類,實(shí)現(xiàn)了Jpanel的paintComponent方法,用里面的paintIcon,setColor,fillRect等方法實(shí)現(xiàn)
音樂播放模塊
5.課設(shè)感想
一開始不知道怎么實(shí)現(xiàn)蛇的移動(dòng),使用鍵盤監(jiān)聽可以控制蛇的方向,但是怎么讓蛇動(dòng)起來不知道,最后結(jié)合Timer刷新來實(shí)現(xiàn),簡單的說,游戲界面的實(shí)現(xiàn)就是監(jiān)聽鍵盤和變量,控制刷新的時(shí)間來實(shí)現(xiàn)的。在設(shè)置不同難度時(shí),我一開始想直接判定蛇是否撞墻,但是這樣的代碼量太大了,讓我望而生畏,于是我定義一個(gè)wall數(shù)組,在畫墻的同時(shí),把墻的坐標(biāo)輸入wall數(shù)組中,這樣,只要判斷蛇頭是否與墻重合即可,同時(shí),也不能忘了讓食物無法繪制在墻和蛇身上。在音樂播放界面中,我一開始用的不是wav格式,導(dǎo)致無法播放,然后在寫地址時(shí)也不是像圖片那么簡單,只要將圖片放入類的包中即可,而是要指向絕對(duì)路徑,這搞得我一頭霧水,最后實(shí)現(xiàn)了背景音樂和吃東西發(fā)出的聲音后,在自己找bug時(shí)發(fā)現(xiàn),當(dāng)吃了7個(gè)東西之后背景音樂就停止了,我打開任務(wù)管理器查看CPU的占用,發(fā)現(xiàn)應(yīng)該是我實(shí)現(xiàn)音樂的播放方式有問題,導(dǎo)致線程過多,當(dāng)吃了7個(gè)東西時(shí),CPU的占用突然就上升了百分之二十。但是繼續(xù)吃東西還是可以發(fā)出聲音的,這讓我十分疑惑。
6.展望
1.在音樂播放功能上,連吃七個(gè)東西后導(dǎo)致背景音樂的暫停,以后要多學(xué)習(xí)多線程的使用和學(xué)習(xí)問題如何解決。一開始要用javaFX技術(shù)實(shí)現(xiàn),但是在安裝上就花費(fèi)了大量時(shí)間,導(dǎo)致不戰(zhàn)而退。
2.課設(shè)后我要進(jìn)一步學(xué)習(xí)javaFX,用該技術(shù)來實(shí)現(xiàn)貪吃蛇,學(xué)習(xí)數(shù)據(jù)庫編程,存儲(chǔ)登錄信息。同時(shí)增加貪吃蛇的多線程功能,可以實(shí)現(xiàn)雙人貪吃蛇。
總結(jié)
以上是生活随笔為你收集整理的双人贪吃蛇java 代码_贪吃蛇课设--个人博客的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阳历时间转换为农历时间
- 下一篇: Orcad Capture CIS出BO