C語言簡單遊戲程式設計學習入門之fluppybird

2021-09-25 03:26:17 字數 2089 閱讀 2584

#include#include#include#include//遊戲地圖資訊,行、列、地圖 

#define row 15

#define col 19

int map[row][col];

//玩家結構,橫座標、縱座標、下落速度

typedef struct player

player;

player p;

//障礙物結構,縱座標、和地圖頭部的距離、空處長度、左移速度

typedef struct obstacle

obstacle;

obstacle o;

//初始化地圖資訊

void initializemap();

//初始化玩家

void initializeplayer();

//初始化障礙物

void initializeobstacle();

//和玩家無關的重新整理

void printwithoutplayer();

//和玩家有關的重新整理

void printwithplayer();

//列印地圖

void printmap();

//gotoxy函式的實現,到指定位置輸出

void gotoxy(int x,int y);

int main()

return 0;

}//初始化地圖資訊

void initializemap()

break;

} o.y=col-1;

o.yv=1;

}//和玩家無關的重新整理

void printwithoutplayer()

//障礙物自動左移

o.y-=o.yv;

//障礙物移出介面了,則在右邊重新生成

if(o.y<=-1)

if(o.y==p.y&&!(p.x>=o.distancetotop&&p.x<=o.distancetotop+o.length)) }

//和玩家有關的重新整理

void printwithplayer() }}

//列印地圖,玩家@、邊框#、障礙物*

void printmap()

printf("\n");

for(i=0;i=o.distancetotop+o.length)

else

}else

}printf("#\n");

} for(i=1;i<=col+2;i++)

printf("\n");

} //gotoxy函式的實現,把游標移到到指定位置

void gotoxy(int x,int y)

fluppybird的遊戲介面由乙個邊框、乙個玩家、乙個障礙物構成。邊框可以包裹在玩家和障礙物外部而不需要額外定義。

首先定義乙個二維整形陣列作為地圖,15行19列全部元素置零。

其次我們定義玩家結構並初始化它在地圖的左右的最左邊、上下的中間位置。

然後我們讓障礙物的空缺長度定義為地圖上下寬度的三分之一,也就是5行左右的空缺給玩家反應時間。

接下來就得讓玩家和障礙物動起來,為了實現動畫效果,我們讓玩家每隔一定時間就往下落乙個單位的長度,障礙物則每隔一定時間向左移乙個單位的長度,當玩家撞到障礙物或者邊框,則遊戲結束;如果障礙物到達地圖最左端了,則在最右端重新生成。

除此之外,我們得給玩家操作的功能。按下空格鍵,玩家會上公升。這樣乙個簡單的fluppy bird就完成了。

這次fluppy bird 的實現,我們可以更加熟練運用隨機生成函式rand了,同時不能忘了它的**搭檔隨機數種子函式srand;而在其中我們獲得更多的則是對畫面抽象為字元的思考。我們可以回想之前在安卓或蘋果手機玩的高畫質的fluppy bird,其實略加思考我們便能發現:它一點也不難,只要善於思考和抽象,問題就會變得越來越趨向本質。給自己加油,繼續努力實現或創新新型的小遊戲,鍛鍊邏輯思維和抽象法解決實際複雜問題的能力。

C語言簡單遊戲程式設計學習入門之2048

include include include include include 過關數字 define win number 2048 定義地圖行 列 以及本身 define row 4 define col 4 int map row col 初始化地圖 void initializemap 列印...

C語言簡單遊戲程式設計學習入門之猜數字

標頭檔案引用 include include include 主函式 int main else if guess number else 猜中了 還沒有猜中,判斷猜測次數是否已經是最大次數次了,超過則遊戲失敗,退出死迴圈 if count guess max count return 0 猜數字遊...

C語言簡單遊戲程式設計學習入門之推箱子

include include include 定義地圖資訊 define row 8 define col 8 int map row col 人物位置 int person x 4 int person y 4 定義代號 define person 5 注意 人進了空地也顯示人,所以9也是人的代...