C語言簡易版小遊戲 flappy bird

2021-08-15 13:52:52 字數 1941 閱讀 4580

假期在家無聊,想隨便碼點東西,故有此簡陋的小遊戲誕生。覺著可能對初學c語言的小夥伴練習有點幫助,故寫此部落格。遊戲介面如下:

首先,先畫出整個小遊戲實現的流程圖,如下:

思路很簡單,整個遊戲介面是由乙個大的char型別陣列構成,更新陣列的值然後不停的列印出來就形成了動態效果。

由上圖看,大迴圈是保證遊戲一直不斷的進行下去,小迴圈是讓小鳥的速度大於遊戲介面裡背景(由#構成的柱子)的速度(小鳥動四下柱子才動一下)。

下面是具體**(水平有限大家多多見諒,但是效果還是有的!)

bird.c檔案

#include

#include

#include "inte***ce.h"

int main(void)

}return

0;}

inte***ce.h檔案

#ifndef inte***ce_h

#define inte***ce_h

#define m 20

#define n 36

void initialinte***ce(void);

void newinte***ce(void);

void birdmove(void);

void scoring(void);

void draw(void);

#endif

inte***ce.c檔案

#include

#include

#include

#include "inte***ce.h"

char interf[m][n] =

, ,,,

,,,,

,,,,

,,,,

,,,, };

//初始介面矩陣,ascii碼中「 」是32,「&」是38表示小鳥,「#」是35用來畫柱子

intnum = 0;//用於計數輸出併排兩列黑柱子同一位置

intblack;//黑方塊位置

intp= m/2 ;//小鳥初始位置

intscore = 0;//分數

/*初始化介面*/

void

initialinte***ce(void)

printf("\n");

}}/*更新介面各個柱子*/

void

newinte***ce(void)

for (int

i = 0; i

< m; i++)

if(interf[0][0] == 35 && (i

< black || i>(black + 5)))//此時上面的第二列變成了第一列,更新下乙個黑柱子,有了黑柱子上半部分位置+5即是下半部分的起始位置

else}if

(num > 0)

num--;

}/*更新小鳥位置*/

void

birdmove(void)

if(_kbhit())}}

}/*計分*/

void

scoring(void)

if(interf[0][0] == 35 && interf[0][1] == 32 )

score++;

}/*重畫介面*/

void

draw(void)

printf("\n");

}printf(" 得分:%d \n", score);

}

c語言小遊戲 精簡 簡易版C語言貪吃蛇小遊戲

c 庫 include include include include include 遊戲活動區域 define game w 20 define game h 14 方向 define up 72 define down 80 define left 75 define right 77 def...

c語言小遊戲 精簡 簡易版C語言貪吃蛇小遊戲

c 庫 include include include include include 遊戲活動區域 define game w 20 define game h 14 方向 define up 72 define down 80 define left 75 define right 77 def...

簡易版貪吃蛇小遊戲。

以上就是我測試的結果,能完成基本的功能。ifndef game h define gamae h include include include include define rows 20 define cols 20 define snake length 20 20 define sleep ...