flappybird源程序設(shè)計_第1頁
flappybird源程序設(shè)計_第2頁
flappybird源程序設(shè)計_第3頁
flappybird源程序設(shè)計_第4頁
flappybird源程序設(shè)計_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、四川師范大學(xué)成都學(xué)院高級語言程序課程設(shè)計Flappy bird游戲程序設(shè)計 學(xué)生姓名彭 強學(xué) 號2012101221所在學(xué)院通信工程學(xué)院專業(yè)名稱移動通信班 級2012級移動通信方向1班指導(dǎo)教師周小麗成 績 四川師范大學(xué)成都學(xué)院二一四年十二月課程設(shè)計任務(wù)書學(xué)生姓名彭強學(xué)生學(xué)號2012101221學(xué)生專業(yè)通信工程學(xué)生班級2012級移動通信方向1班指導(dǎo)教師周小麗職 稱助教發(fā)題日期2014年10月20日完成日期 2014 年11月3日設(shè)計題目Flappy bird游戲程序設(shè)計設(shè)計目的:1、掌握c語言編程2、了解簡單游戲設(shè)計思路及方法3、學(xué)習(xí)用c語言編寫簡單程序4、了解用c語言處理圖片具體任務(wù)及要求:1

2、、用c/c+完成flappy bird程序設(shè)計2、游戲包括加載、引導(dǎo)、開始、游戲、結(jié)束環(huán)節(jié)3、記分牌、記錄等設(shè)計4、游戲分為白天和黑夜兩個場景課程設(shè)計進度安排:序號內(nèi)容安排時間1圖片素材下載2大概實現(xiàn)框架3開始界面設(shè)計4游戲畫面設(shè)計5結(jié)束畫面設(shè)計課程設(shè)計參考文獻:1 仇芒仙、朱蓉:C/C+程序設(shè)計案例教程,清華大學(xué)出版社,2012.8,P20-P1002 錢能等:C+程序設(shè)計教程(第2版),北京郵電大學(xué)出版社,2005.1,P65-P773 趙真、劉文:C語言簡易動畫設(shè)計,陜西電子科技大學(xué)出版社,2008.4,P 201-P264指導(dǎo)教師簽字院長審核簽字Flappy bird游戲程序設(shè)計內(nèi)容摘

3、要:flappy bird 是一款形式簡易但難度極高的休閑游戲。玩家需要不斷控制點擊屏幕的頻率來調(diào)節(jié)小鳥的飛行高度和降落速度,讓小鳥順利通過畫面右方的管道縫隙。如果小鳥不小心擦碰到了管子的話,游戲便宣告結(jié)束。本設(shè)計介紹了電腦版的該游戲的大概框架以及具體源程序代碼。關(guān)鍵詞:游戲 設(shè)計 程序Flappy bird game programmingAbstract: Flappy bird is a form of simple but very casual games. Players need to keep control of the frequency of the click on t

4、he screen to adjust the flying height of the birds and landing speed, and let the bird pipe aperture pass the picture to the right. If the bird accidentally brush against the pipe, the game has ended.This design introduced the computer version of the game about framework and specific source program

5、code.Keywords:Game Design Program 目 錄前言11 圖片素材下載22 加載界面設(shè)計33 主頁面設(shè)計34 游戲界面設(shè)計54.1 游戲前界面54.2 游戲中界面54.3 游戲結(jié)束界面65 各步驟圖片96 結(jié)束語10附錄11參考文獻24Flappy bird游戲程序設(shè)計前言flappy bird是由來自越南的獨立游戲開發(fā)者Dong Nguyen所開發(fā)的作品,該游戲于2013年5月上線,2014年年初迎來火爆之勢。目前,該游戲全球下載或已超過5千萬次。由于本游戲的成功受到質(zhì)疑,研發(fā)者迫于壓力,于2014年2月8日意外宣布游戲下線。游戲中玩家必須控制一只小鳥,跨越由各種不

6、同長度水管所組成的障礙,而這只鳥其實是根本不會飛的所以玩家每點擊一下小鳥就會飛高一點,不點擊就會下降,玩家必須控制節(jié)奏,拿捏點擊屏幕的時間點,讓小鳥能在落下的瞬間跳起來,恰好能夠通過狹窄的水管縫隙,只要稍一分神,馬上就會失敗陣亡。該程序由c-free編程軟件編寫,用到了網(wǎng)上下載的EGG庫函數(shù)。C-Free是一款支持多種編譯器的C/C+集成開發(fā)環(huán)境(IDE)。利用C-Free,使用者可以輕松地編輯、編譯、連接、運行、調(diào)試C/C+程序。C-Free是一款C/C+集成開發(fā)環(huán)境(IDE)。目前有兩個版本,收費的C-Free 5.0 專業(yè)版和免費的C-Free 4.0 標(biāo)準(zhǔn)版。C-Free中集成了C/C

7、+代碼解析器,能夠?qū)崟r解析代碼,并且在編寫的過程中給出智能的提示。C-Free提供了對目前業(yè)界主流C/C+編譯器的支持,你可以在C-Free中輕松切換編譯器。可定制的快捷鍵、外部工具以及外部幫助文檔,使你在編寫代碼時得心應(yīng)手。完善的工程/工程組管理使你能夠方便的管理自己的代碼。EGE1(Easy Graphics Engine),是windows下的簡易繪圖庫,是一個類似BGI(graphics.h)的面向C/C+語言新手的圖形庫,它的目標(biāo)也是為了替代TC的BGI庫而存在。它的使用方法與TC中的graphics.h相當(dāng)接近,對新手來說,簡單,友好,容易上手,免費開源,而且因為接口意義直觀,即使

8、是之前完全沒有接觸過圖形編程的,也能迅速學(xué)會基本的繪圖。 目前,EGE圖形庫已經(jīng)完美支持VC6, VC2008, VC2010, C-Free, DevCpp, Code:Blocks, wxDev, Eclipse for C/C+等IDE。1 圖片素材下載在編寫程序之前,我們必須搜集相應(yīng)的素材??梢栽诰W(wǎng)上收索,當(dāng)然也可以自己畫。完整的flappy bird游戲需要圖片有:背景2張(黑白場景)、小鳥、地面、上下管道以及記分牌等。注:為了讓畫面像素更高,須收集更多的運動的小鳥照片。在我們建的主文件夾下建一個新文件夾,并命名為“依賴包”,然后將收集到的照片分類命名放在新建的依賴包下備用,具體素材

9、如下圖所示: 圖1-1 背景和正反管道圖1-2 獎牌圖1-3 小鳥圖1-4 其他2 加載界面設(shè)計此界面是游戲的引導(dǎo)界面,相當(dāng)于是一個叫玩家等待界面。1秒過后進入游戲主界面。首先程序界面初始化,然后int ini(void);int game(void);int show(void); 然后獲得窗口句柄HWND hWnd = getHWnd(); 設(shè)置主頁面的寬和高initgraph(384,512); 在Windows中,句柄是一個系統(tǒng)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的引用。例如當(dāng)你操作一個窗口,或說是一個Delphi窗體時,系統(tǒng)會給你一個該窗口的句柄,系統(tǒng)會通知你:你正在操作142號窗口,就此你的應(yīng)用程序就能要

10、求系統(tǒng)對142號窗口進行操作移動窗口、改變窗口大小、把窗口最小化等等。實際上許多Windows API函數(shù)把句柄作為它的第一個參數(shù),如GDI(圖形設(shè)備接口)句柄、菜單句柄、實例句柄、位圖句柄等,不僅僅局限于窗口函數(shù)。換句話說,句柄是一種內(nèi)部代碼,通過它能引用受系統(tǒng)控制的特殊元素,如窗口、位圖、圖標(biāo)、內(nèi)存塊、光標(biāo)、字體、菜單等。SetWindowText(hWnd, TEXT("Flappy bird彭強);/ 使用 API 函數(shù)修改窗口名稱最后把依賴包里的“加載”照片調(diào)到屏幕顯示PIMAGE loading=newimage();getimage(loading,"依賴包圖

11、片其他加載.png");3 主頁面設(shè)計主頁面為游戲的入口,包括上下運功的小鳥、向左運動的地面、開始按鈕及分數(shù)榜等主題。首先調(diào)用依賴包的“開始”圖片,getimage(main_interface,"依賴包圖片其他開始.png");然后用用算法實現(xiàn)地面和小鳥的運動(依次快速調(diào)用小鳥的三張不同照片,由于速度很快以及人的視覺停留,欺騙人的眼睛,誤以為是小鳥在動,運動的地面也是如此)。動畫是通過連續(xù)播放一系列靜止的畫面,當(dāng)連續(xù)播放達到一定的速度時,我們用肉眼看到的就是動畫了。它的基本原理與電影,電視一樣,都是利用視覺原理。醫(yī)學(xué)已經(jīng)證明,人的眼睛具有“視覺暫留”特性,就是人

12、的眼睛看到一幅畫面或一個物體后,在1/24秒內(nèi)不會消失,利用這一視覺變化效果。因此電影采用了每秒24幅畫的速度拍攝播放,電視采用了每秒25幅(PAL制)或30幅(NSTC制)畫面的速度拍攝播放,如果以每秒低于24幅畫面的速度拍攝播放,就會出現(xiàn)停頓現(xiàn)象。 幀頻:即每秒播放的幀數(shù)。幀頻的大小直接影響到動畫的快慢。幀頻的單位是“幀/秒”,即“fps”,flash中默認為12fps.由于計算機顯示器的熒光刷新特性,實際看到的相當(dāng)于24幀,剛好達到了動畫的一般要求。算法如下:a-=2;if(a<=0)a=384;putimage(0,0,main_interface);putimage(a,448

13、,ground);putimage(a-384),448,ground);b=a%128;if(b>=0&&b<32)putimage_withalpha(NULL,bird_m,175,220);if(b>=32&&b<64)putimage_withalpha(NULL,bird_u,175,216);if(b>=64&&b<96)putimage_withalpha(NULL,bird_m,175,220);if(b>=96&&b<=128)putimage_withalpha

14、(NULL,bird_d,175,224);如果喜歡的話還可以在屏幕上打印自己的名字,如xyprintf(120,480,"彭強制作 四川師范大學(xué)成都學(xué)院");其中120,480為界面坐標(biāo)。4 游戲界面設(shè)計游戲界面為該游戲的設(shè)計難點,包括動畫、碰撞檢測等等。分為游戲前界面、游戲中界面、以及結(jié)束界面。4.1 游戲前界面此界面與主頁面相似,但沒有開始按鈕,在界面右邊多了2根管道,程序現(xiàn)在就檢測玩家是否在游戲界面內(nèi)點擊了鼠標(biāo),如果是,那么就進入了游戲中界面。if(shijian-b)>1&&keystate(VK_LBUTTON)v=-180;b=shiji

15、an;此時玩家已經(jīng)真正進入游戲,隨著玩家點擊鼠標(biāo)的頻率小鳥高度不斷發(fā)生變化,讓小鳥不至于撞到柱子上和調(diào)到地上。4.2 游戲中界面首先管道依次向左運動,讓人誤以為是小鳥在向右運動。這里用到隨機函數(shù)zhuzic.h=(random(200)+200;檢測用戶鼠標(biāo)算法:if(shijian-b)>1&&keystate(VK_LBUTTON)v=-180;b=shijian;柱子移動的算法:for(c=0;c<3;c+) zhuzic.x-=2; if(zhuzic.x<=-70) zhuzic.x=650;if(zhuzic.x=512)zhuzic.h=(ran

16、dom(200)+200;4.3 游戲結(jié)束界面該步驟包括碰撞和落地的算法設(shè)計、分數(shù)顯示、是否重來等小模塊。碰撞判斷、顯示分數(shù)的算法為:if(zhuzi0.x>=35&&zhuzi0.x<=135&&(zhuzi0.h<(bird_h+27)|(zhuzi0.h-155)>bird_h) break;if(zhuzi1.x>=35&&zhuzi1.x<=135&&(zhuzi1.h<(bird_h+27)|(zhuzi1.h-155)>bird_h) break;if(zhuzi2.x

17、>=35&&zhuzi2.x<=135&&(zhuzi2.h<(bird_h+27)|(zhuzi2.h-155)>bird_h) break;if(bird_h>415)break;setcolor(WHITE);setfont(-50,0,"幼圓"); xyprintf(180,40,"%d",point);如果發(fā)生了碰撞或者落地,那么游戲結(jié)束,向屏幕彈出游戲結(jié)束和重來畫面、顯示分數(shù)、以及分數(shù)榜。碰撞后鳥向下落,直到掉到地上。putimage_withalpha(NULL,bird_mid

18、dle_90,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_90,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_90,100,bird_h);if(a>=12&&a<16)putimage_withalpha(NULL,bird_down_90,100,bird_h);a=shijian%16;if(a>=0&&a<4)putimage_w

19、ithalpha(NULL,bird_middle_90,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_90,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_90,100,bird_h);if(a>=12&&a<16)putimage_withalpha(NULL,bird_down_90,100,bird_h);v+=9.8;bird_h+=(v*2)/77);del

20、ay_fps(60);if(bird_h>430)break;然后根據(jù)分數(shù)算出獎牌類型,從txt文件中讀出記錄,并向屏幕輸出。Txt是我們用來記錄最高記錄的文本,具體程序如下:putimage_withalpha(NULL,gameover,55,60);delay_ms(300);putimage_withalpha(NULL,jifenpai,35,150);delay_ms(300);putimage_withalpha(NULL,again,35,350);putimage_withalpha(NULL,paihangbang,200,350);if(point>=10&a

21、mp;&point<20)putimage(67,200,tong);if(point>=20&&point<30)putimage(67,200,yin);if(point>=30&&point<40)putimage(67,200,gold);if(point>=40)putimage(67,200,bai);setfont(-25,0,"幼圓");xyprintf(270,195,"%d",point);fp=fopen("依賴包記錄.txt",&quo

22、t;r");fscanf(fp,"%d",&point_jilu);fclose(fp);if(point>point_jilu)point_jilu=point;fp=fopen("依賴包記錄.txt","w");fprintf(fp,"%d",point_jilu);fclose(fp);xyprintf(270,260,"%d",point_jilu); PIMAGE ground=newimage(); PIMAGE course_up=newimage(); P

23、IMAGE course_down=newimage(); PIMAGE course_middle=newimage(); PIMAGE zhuzi_z=newimage(); PIMAGE zhuzi_f=newimage(); PIMAGE gameover=newimage(); PIMAGE jifenpai=newimage(); PIMAGE again=newimage(); PIMAGE paihangbang=newimage(); PIMAGE tong=newimage(); PIMAGE yin=newimage(); PIMAGE gold=newimage();

24、PIMAGE bai=newimage(); 如果玩家點擊了重來按鈕,游戲又重新開始。就構(gòu)成了一個循環(huán),小鳥碰撞后,玩家不想玩了,點擊結(jié)束就可以結(jié)束游戲。至此,游戲大概框架已經(jīng)搭建好了,然后加上EGG庫,補全程序,最后調(diào)試修改就可以了。5 各步驟圖片 圖5-1 加載和開始界面 圖5-2 游戲運行和小鳥落地6 結(jié)束語在設(shè)計中遇到了很多編程問題,最后在周老師的辛勤指導(dǎo)下,終于迎刃而解。同時,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝!經(jīng)過近兩個月的學(xué)習(xí),使我對c語言有了更進一步的認識和了解,要想學(xué)好它要重在實踐,要通過不斷的上機操作才能更好地學(xué)習(xí)它,通過實踐,我也發(fā)現(xiàn)我的好多不足之處,

25、首先是自己在指法上還不行,經(jīng)常按錯字母,通過學(xué)習(xí)也有所改進;再有對c語言的一些標(biāo)準(zhǔn)庫函數(shù)不太了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對c語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實踐,使我在這幾個方面的認識有所提高。通過實踐的學(xué)習(xí),我知道學(xué)好計算機要重視實踐操作,不僅僅是學(xué)習(xí)c語言,還是其它的語言,以及其它的計算機方面的知識都要重在實踐,所以后在學(xué)習(xí)過程中,我會更加注視實踐操作,使自己便好地學(xué)好各門課程。通過課程設(shè)計,普遍感到自己應(yīng)用基礎(chǔ)知識及專業(yè)知識解決問題的能力有了很大的提高,以前所學(xué)的許多課程覺得很零散,也不知道有什么用及怎么用,現(xiàn)在也都找到了用武之地。同時,我也學(xué)到了在許多書本上不可能收錄

26、的東西。例如一些設(shè)計的具體的規(guī)范,和一些設(shè)計的要求。如何把規(guī)范里的明文規(guī)定運用到實際上去,以及運用過程中的把握上。也學(xué)到了如何獨立思考,如何自己查閱資料,如何與人相處融洽等實際經(jīng)驗。今后走上社會,我主要還是靠在學(xué)校學(xué)到的知識技能來養(yǎng)活自己,并回報社會,回報父母,我也了解到了自己的很多不足,在今后的工作與學(xué)習(xí)中,我會不斷的提高與改進。附錄#include <stdio.h>#include <graphics.h>int ini(void);int game(void);int show(void);int ini(void)int x,y,a=0,b;initgraph

27、(384,512);randomize();setbkmode(TRANSPARENT); HWND hWnd = getHWnd(); / 獲得窗口句柄SetWindowText(hWnd, TEXT("Flappy bird彭強);/ 使用 API 函數(shù)修改窗口名稱PIMAGE loading=newimage();getimage(loading,"依賴包圖片其他加載.png");putimage(0,0,loading);delay_ms(500);delimage(loading);PIMAGE main_interface=newimage();get

28、image(main_interface,"依賴包圖片其他開始.png");PIMAGE ground=newimage();getimage(ground,"依賴包圖片背景地.png");PIMAGE bird_u = newimage();PIMAGE bird_m = newimage();PIMAGE bird_d = newimage();getimage(bird_u, "依賴包圖片鳥上0.png");getimage(bird_m, "依賴包圖片鳥中0.png");getimage(bird_d, &

29、quot;依賴包圖片鳥下0.png");while(1)a-=2;if(a<=0)a=384;putimage(0,0,main_interface);putimage(a,448,ground);putimage(a-384),448,ground);b=a%128;if(b>=0&&b<32)putimage_withalpha(NULL,bird_m,175,220);if(b>=32&&b<64)putimage_withalpha(NULL,bird_u,175,216);if(b>=64&&

30、;b<96)putimage_withalpha(NULL,bird_m,175,220);if(b>=96&&b<=128)putimage_withalpha(NULL,bird_d,175,224);setcolor(WHITE);xyprintf(120,480," 彭強制作 四川師范大學(xué)成都學(xué)院"); if(keystate(VK_LBUTTON)mousepos(&x,&y);if(x>10&&x<170&&y>350&&y<450) bre

31、ak;delay_fps(77);cleardevice();delimage(main_interface);delimage(ground);delimage(bird_u);delimage(bird_m);delimage(bird_d);int game(void)int bird_h=250;int shijian=0;int a=0,b=0,c=0,point=0;int v=0;FILE *fp;int point_jilu;int x,y;struct zhangaiint x;int h;zhuzi3;PIMAGE bk=newimage();PIMAGE bird_up_

32、20=newimage();PIMAGE bird_middle_20=newimage();PIMAGE bird_down_20=newimage();PIMAGE bird_up_0=newimage();PIMAGE bird_middle_0=newimage();PIMAGE bird_down_0=newimage();PIMAGE bird_up_20=newimage();PIMAGE bird_middle_20=newimage();PIMAGE bird_down_20=newimage();PIMAGE bird_up_90=newimage();PIMAGE bir

33、d_middle_90=newimage();PIMAGE bird_down_90=newimage();PIMAGE ground=newimage();PIMAGE course_up=newimage();PIMAGE course_down=newimage();PIMAGE course_middle=newimage();PIMAGE zhuzi_z=newimage();PIMAGE zhuzi_f=newimage();PIMAGE gameover=newimage();PIMAGE jifenpai=newimage();PIMAGE again=newimage();P

34、IMAGE paihangbang=newimage();PIMAGE tong=newimage();PIMAGE yin=newimage();PIMAGE gold=newimage();PIMAGE bai=newimage(); getimage(bird_up_0,"依賴包圖片鳥上0.png");getimage(bird_middle_0, "依賴包圖片鳥中0.png");getimage(bird_down_0, "依賴包圖片鳥下0.png");getimage(bird_up_20, "依賴包圖片鳥上20.

35、png");getimage(bird_middle_20, "依賴包圖片鳥中20.png");getimage(bird_down_20, "依賴包圖片鳥下20.png");getimage(bird_up_20, "依賴包圖片鳥上-20.png");getimage(bird_middle_20, "依賴包圖片鳥中-20.png");getimage(bird_down_20, "依賴包圖片鳥下-20.png");getimage(bird_up_90, "依賴包圖片鳥上

36、-90.png");getimage(bird_middle_90, "依賴包圖片鳥中-90.png");getimage(bird_down_90, "依賴包圖片鳥下-90.png");getimage(ground,"依賴包圖片背景地.png");getimage(zhuzi_z,"依賴包圖片柱子正.png");getimage(zhuzi_f,"依賴包圖片柱子反.png");getimage(gameover,"依賴包圖片其他gameover.png");ge

37、timage(jifenpai,"依賴包圖片其他記分牌.png");getimage(again,"依賴包圖片其他重來.png");getimage(paihangbang,"依賴包圖片其他排行榜.png");getimage(tong,"依賴包圖片獎牌銅牌.png");getimage(yin,"依賴包圖片獎牌銀牌.png");getimage(gold,"依賴包圖片獎牌金牌.png");getimage(bai,"依賴包圖片獎牌白金牌.png");wh

38、ile(1)if(random(3)=0)getimage(bk,"依賴包圖片背景黑夜.png");getimage(course_up,"依賴包圖片引導(dǎo)晚上上.png");getimage(course_middle,"依賴包圖片引導(dǎo)晚上中.png");getimage(course_down,"依賴包圖片引導(dǎo)晚上下.png");elsegetimage(bk,"依賴包圖片背景白天.png");getimage(course_up,"依賴包圖片引導(dǎo)白天上.png");get

39、image(course_middle,"依賴包圖片引導(dǎo)白天中.png");getimage(course_down,"依賴包圖片引導(dǎo)白天下.png");shijian=0;while(1)/引導(dǎo)界面 shijian+=1;a=shijian%64;if(a>=0&&a<16)putimage(0,0,course_up);if(a>=16&&a<32)putimage(0,0,course_middle);if(a>=32&&a<48)putimage(0,0,cour

40、se_down);if(a>=48&&a<64)putimage(0,0,course_middle);a=shijian%192;a*=-2;putimage(a,448,ground);putimage(a+384),448,ground);delay_fps(77);cleardevice();if(shijian>=30&&keystate(VK_LBUTTON)break;/初始化 shijian=0;bird_h=250;point=0;zhuzi0.x=700;zhuzi1.x=940;zhuzi2.x=1180;v=0;a=0;

41、b=0;c=0;while(1)/游戲界面 shijian+=1;cleardevice();/*檢測用戶操作并執(zhí)行 */if(shijian-b)>1&&keystate(VK_LBUTTON)v=-180;b=shijian;/*計算高度*/ v+=9.8;bird_h+=(v*1.9)/77);/*柱子的移動*/ for(c=0;c<3;c+) zhuzic.x-=2; if(zhuzic.x<=-70) zhuzic.x=650;if(zhuzic.x=512)zhuzic.h=(random(200)+200; /*計算分數(shù)*/for(c=0;c&l

42、t;3;c+)if(zhuzic.x=100)point+;/*顯示圖像*/顯示背景 putimage(0,0,bk);/顯示柱子for(c=0;c<3;c+)putimage_withalpha(NULL,zhuzi_z,zhuzic.x,zhuzic.h);putimage_withalpha(NULL,zhuzi_f,zhuzic.x,(zhuzic.h-400);/顯示地面 a=shijian%192;a*=-2;putimage(a,448,ground);putimage(a+384),448,ground);/顯示鳥 a=shijian%16;if(0)if(a>=0

43、&&a<4)putimage_withalpha(NULL,bird_middle_20,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_20,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_20,100,bird_h);if(a>=12&&a<16)putimage_withalpha(NULL,bird_down_20,100,bird_h);e

44、lse if(1)if(a>=0&&a<4)putimage_withalpha(NULL,bird_middle_0,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_0,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_0,100,bird_h);if(a>=12&&a<16)putimage_withalpha(NULL,bird_down_

45、0,100,bird_h);else if(0)if(a>=0&&a<4)putimage_withalpha(NULL,bird_middle_20,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_20,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_20,100,bird_h);if(a>=12&&a<16)putimage_withalp

46、ha(NULL,bird_down_20,100,bird_h);else if(0)if(a>=0&&a<4)putimage_withalpha(NULL,bird_middle_90,100,bird_h);if(a>=4&&a<8)putimage_withalpha(NULL,bird_up_90,100,bird_h);if(a>=8&&a<12)putimage_withalpha(NULL,bird_middle_90,100,bird_h);if(a>=12&&a<

47、16)putimage_withalpha(NULL,bird_down_90,100,bird_h);/*判斷碰撞*/ if(zhuzi0.x>=35&&zhuzi0.x<=135&&(zhuzi0.h<(bird_h+27)|(zhuzi0.h-155)>bird_h) break; if(zhuzi1.x>=35&&zhuzi1.x<=135&&(zhuzi1.h<(bird_h+27)|(zhuzi1.h-155)>bird_h) break;if(zhuzi2.x>=

48、35&&zhuzi2.x<=135&&(zhuzi2.h<(bird_h+27)|(zhuzi2.h-155)>bird_h) break;if(bird_h>415)break/*顯示分數(shù)*/setcolor(WHITE);setfont(-50,0,"幼圓"); xyprintf(180,40,"%d",point); delay_fps(77);/*游戲結(jié)束畫面*/ while(1)/顯示背景 cleardevice();putimage(0,0,bk);/顯示柱子for(c=0;c<3;c+)putimage_withalpha(NULL,zhuzi_z,zhuzic.x,zhuzic.h);putimage_withalpha(NULL,zhuzi_f,zhuzic.x,(zhuzic.h-400);/顯示地面 a=shijian%192;a*=-2;putimage(a,448,ground);putimage(a+384),448,ground);/顯示鳥 a=shijian%1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論