版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
四川師范大學(xué)成都學(xué)院課題報(bào)告圖4-1開場景圖4-2主場景圖4-3游戲結(jié)束場景4.2游戲中界面首先,小鳥在向前飛,其實(shí)是底部的路和水管在向左移動(dòng),相對(duì)的你就感覺小鳥在向右飛了;路循環(huán)移動(dòng)代碼:MainLtotype.groundRun=function(){varaction1=cc.MoveTo.create(0.5,cc.p(-120,0));varaction2=cc.MoveTo.create(0,cc.p(0,0));varaction=cc.Sequence.create(action1,action2);this.ground.runAction(cc.RepeatForever.create(action));}4.3游戲結(jié)束界面該步驟包括碰撞和落地的算法設(shè)計(jì)、分?jǐn)?shù)顯示、是否重來等小模塊。碰撞后,小鳥先下落,游戲結(jié)束場景顯示,碰撞判斷、顯示分?jǐn)?shù)的算法為:MainLtotype.birdFallAction=function(){this.gameMode=OVER;this.bird.stopAllActions();this.ground.stopAllActions();varbirdX=this.bird.getPositionX();varbirdY=this.bird.getPositionY();vartime=birdY/2000;this.bird.runAction(cc.Sequence.create(cc.DelayTime.create(0.1),cc.Spawn.create(cc.RotateTo.create(time,90),cc.MoveTo.create(time,cc.p(birdX,50)))));this.overNode.setVisible(true);}如果發(fā)生了碰撞或者落地,那么游戲結(jié)束,向屏幕彈出游戲結(jié)束和重來畫面、顯示分?jǐn)?shù)、以及分?jǐn)?shù)榜。碰撞后鳥向下落,直到掉到地上。for(c=0;c<3;c++){pillar[c].x-=SPEED;if(pillar[c].x<=-70)pillar[c].x=650;if(pillar[c].x==512){pillar[c].h=(newRandom()).nextInt(200)+200;}}/***************計(jì)算分?jǐn)?shù)************************/for(c=0;c<3;c++){if(pillar[c].x==100)point++;}/****************地面移動(dòng)***********************/a-=SPEED;如果玩家點(diǎn)擊了重來按鈕,游戲又重新開始。就構(gòu)成了一個(gè)循環(huán),小鳥碰撞后,玩家不想玩了,點(diǎn)擊結(jié)束就可以結(jié)束游戲7效果圖圖5-1游戲加載和開始.圖5-2游戲運(yùn)行和小鳥落地8結(jié)束語經(jīng)過近兩個(gè)月的學(xué)習(xí),使我對(duì)JAVA語言有了更進(jìn)一步的認(rèn)識(shí)和了解,要想學(xué)好它要重在實(shí)踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,通過實(shí)踐,我也發(fā)現(xiàn)我的好多不足之處,首先是自己在指法上還不行,經(jīng)常按錯(cuò)字母,通過學(xué)習(xí)也有所改進(jìn);再有對(duì)JAVA語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對(duì)函數(shù)調(diào)用的正確使用不夠熟悉,還有對(duì)JAVA語言中經(jīng)常出現(xiàn)的錯(cuò)誤也不了解,通過實(shí)踐,使我在這幾個(gè)方面的認(rèn)識(shí)有所提高。通過實(shí)踐的學(xué)習(xí),我知道學(xué)好計(jì)算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)JAVA語言,還是其它的語言,以及其它的計(jì)算機(jī)方面的知識(shí)都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會(huì)更加注視實(shí)踐操作,使自己便好地學(xué)好各門課程。通過課程設(shè)計(jì),普遍感到自己應(yīng)用基礎(chǔ)知識(shí)及專業(yè)知識(shí)解決問題的能力有了很大的提高,以前所學(xué)的許多課程覺得很零散,也不知道有什么用及怎么用,現(xiàn)在也都找到了用武之地。同時(shí),我也學(xué)到了在許多書本上不可能收錄的東西。例如一些設(shè)計(jì)的具體的規(guī)范,和一些設(shè)計(jì)的要求。如何把規(guī)范里的明文規(guī)定運(yùn)用到實(shí)際上去,以及運(yùn)用過程中的把握上。也學(xué)到了如何獨(dú)立思考,如何自己查閱資料,如何與人相處融洽等實(shí)際經(jīng)驗(yàn)。今后走上社會(huì),我主要還是靠在學(xué)校學(xué)到的知識(shí)技能來養(yǎng)活自己,并回報(bào)社會(huì),回報(bào)父母,我也了解到了自己的很多不足,在今后的工作與學(xué)習(xí)中,我會(huì)不斷的提高與改進(jìn)。附錄packagemcnk;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseListener;importjava.awt.image.BufferedImage;importjava.io.IOException;importjava.util.Random;importjavax.imageio.ImageIO;importjavax.swing.JFrame;importjavax.swing.JPanel;importsun.audio.AudioPlayer;importsun.audio.AudioStream;public
class
FlappyBird
{
publicstaticvoidmain(String[]args)throwsException{JFrameframe=newJFrame("我是一只小小小小鳥~!");Worldworld=newWorld();frame.add(world);frame.setSize(432,644+30);frame.setVisible(true);frame.setResizable(false);//是否重設(shè)大小frame.setLocationRelativeTo(null);//設(shè)置位置frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關(guān)閉操作world.action();}}classWorldextendsJPanel{BufferedImagebackground;//圖像緩存區(qū),保存圖片Groundground;Columncolumn1;Columncolumn2;Birdbird;booleangameover;BufferedImagegameoverImage;BufferedImagestartedImage;intscore;booleanstart;.publicWorld()throwsIOException{Background=ImageIO.read(getClass().getResource("bg.png"));gameoverImage=ImageIO.read(getClass().getResource("gameover.png"));Started=ImageImageIO.read(getClass().getResource("start.png"));start();}publicvoidstart()throwsIOException{ground=newGround();column1=newColumn(1);column2=newColumn(2);bird=newBird();gameover=false;score=0;start=false;}-
-
g.drawString(score+"",20,40);Graphics2Dg2d=(Graphics2D)g;g2d.rotate(-bird.alpha,bird.x,bird.y);//旋轉(zhuǎn)坐標(biāo)系g.drawImage(bird.image,bird.x-bird.width/2,bird.y-bird.height/2,null);g2d.rotate(bird.alpha,bird.x,bird.y);if(gameover){//繪制結(jié)束背景g.drawImage(gameoverImage,0,0,null);}if(!start){//繪制開始背景g.drawImage(startedImage,0,0,null);}}publicvoidaction()throwsException{//定義鼠標(biāo)監(jiān)聽器(匿名內(nèi)部類)MouseListenerl=newMouseAdapter(){publicvoidmousePressed(MouseEvente){if(gameover){try{start();}catch(IOExceptione1){e1.printStackTrace();}}else{start=true;bird.flappy();}}};addMouseListener(l);//綁定監(jiān)聽器//添加背景音樂newThread(){publicvoidrun(){AudioStreamas;try{as=newAudioStream(getClass().getResourceAsStream("music.mid"));AudioPlayer.player.start(as);}catch(IOExceptione){e.printStackTrace();}}}.start();while(true){if(!gameover){if(start){column1.step();column2.step();bird.step();}ground.step();bird.fly();if(bird.x==column1.x||bird.x==column2.x){score++;}}if(bird.hit(ground)||bird.hit(column1)||bird.hit(column2)){gameover=true;}repaint();//盡快重新調(diào)用paint()繪圖Thread.sleep(1000/100);}}}/***地面*@authormcnk**/classGround{BufferedImageimage;intx;inty;publicGround()throwsIOException{image=ImageIO.read(getClass().getResource("ground.png"));x=0;y=500;}//地面移動(dòng)publicvoidstep(){x--;if(x<=-108){x=0;}}}/***柱子*@authormcnk**/classColumn{BufferedImageimage;intx;//中心點(diǎn)X坐標(biāo)inty;//中心點(diǎn)Y坐標(biāo)intwidth;intheight;intgap;//柱子縫隙intdistance;//柱子與柱子之間間距Randomrandom=newRandom();PublicColumn(intnum)throwsIOException{image=ImageIO.read(getClass().getResource("column.png"));width=image.getWidth();height=image.getHeight();gap=144;distance=245;x=(num-1)*distance+(432+width/2);y=random.nextInt(250)+132;//[132,132+279]}publicvoidstep(){x--;if(x<=-width/2){x=2*distance-width/2;y=random.nextInt(250)+132;}}}/***小鳥*@authormcnk**/classBird{BufferedImage[]images;//保存鳥的所有活動(dòng)狀態(tài)BufferedImageimage;//保存當(dāng)前鳥的狀態(tài)intx;inty;intwidth;intheight;intsize;doubleg;//重力加速度doubleh;//經(jīng)過時(shí)間t秒后的垂直位移doubles;//經(jīng)過時(shí)間t秒后的水平位移doublet;//時(shí)間doublespeed;//速度(初始速度:V0/經(jīng)過時(shí)間t秒后的速度:Vt)doublealpha;//傾角intindex;//當(dāng)前圖片的下標(biāo)publicBird()throwsIOException{images=newBufferedImage[8];for(inti=0;i<8;i++){//8->images.lengthimages[i]=ImageIO.read(getClass().getResource(i+".png"));}image=images[0];width=image.getWidth();height=image.getHeight();x=132;y=280;size=40;g=4;h=0;s=0;speed=20;t=0.25;alpha=0;index=0;}publicvoidstep(){doublev0=speed;h=v0*t-0.5*g*t*t;doublevt=v0-g*t;s=v0*t;y=y-(int)h;speed=vt;alpha=Math.atan(h/8);}//鳥翅膀揮動(dòng)publicvoidfly(){index++;image=images[(index/8)%8];//0123456789101112///8//0000000011111...//%8//0000000011111}publicvoidflappy(){speed=20;}//鳥撞擊地面檢查publicbooleanhit(Groundground){booleanhit=(y+size/2>=ground.y);if(hit){alpha=-Math.PI/2;}returnhit;}//鳥撞擊到柱子的檢查publicbooleanhit(Columnco
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上半年七臺(tái)河市事業(yè)單位公開招聘工作人員132人備考考試題庫附答案解析
- 2026年聊城市中醫(yī)醫(yī)院“水城優(yōu)才”青年人才引進(jìn)參考考試題庫附答案解析
- 2026河南師范大學(xué)招聘科研助理1人備考考試試題附答案解析
- 2026云南省人力資源和社會(huì)保障廳所屬事業(yè)單位招聘12人備考考試試題附答案解析
- 2026廣東廣州市越秀區(qū)安全生產(chǎn)巡查員招聘參考考試題庫附答案解析
- 2026綿陽農(nóng)商銀行寒假實(shí)習(xí)生招聘備考考試題庫附答案解析
- 2026浙江紹興市產(chǎn)融科技服務(wù)有限公司項(xiàng)目制人員招聘2人參考考試試題附答案解析
- 2026上海復(fù)旦大學(xué)基礎(chǔ)醫(yī)學(xué)院招聘實(shí)驗(yàn)室管理員崗位1人參考考試試題附答案解析
- 2026上海交通大學(xué)醫(yī)學(xué)院尚思神經(jīng)與視覺研究院招聘教學(xué)科研人員6人參考考試題庫附答案解析
- 2026青海西寧市沈那中學(xué)招聘5人備考考試試題附答案解析
- 項(xiàng)目二 模塊四 波音737-800飛機(jī)乘務(wù)員控制面板及娛樂系統(tǒng)的操作方法課件講解
- 2022年新疆維吾爾自治區(qū)新疆生產(chǎn)建設(shè)兵團(tuán)中考數(shù)學(xué)試題(無答案)
- 游戲你來比劃我來猜的PPT
- 福建省福州市2023-2024學(xué)年高一上學(xué)期期末考試物理試卷2
- 鋼結(jié)構(gòu)生產(chǎn)工藝流程
- 譯林版英語六年級(jí)上冊(cè)第八單元ChineseNewYear課件
- 2022-2023學(xué)年四川省宜賓市高一(下)期末數(shù)學(xué)試卷(含解析)
- 教你填《廣東省普通高中學(xué)生檔案》精編版
- 大學(xué)生兼職家教個(gè)人簡歷
- 轉(zhuǎn)動(dòng)極板技術(shù)簡介
- 《人類行為與社會(huì)環(huán)境》課件
評(píng)論
0/150
提交評(píng)論