用C語言實現FlappyBird

2021-09-03 03:49:24 字數 3219 閱讀 6801

在開始遊戲之前,我們先了解一些輔助函式

void

gotoxy

(int x,

int y)

//將游標調整到(x,y)的位置

void

hidecursor()

//隱藏游標

;setconsolecursorinfo

(getstdhandle

(std_output_handle)

,&cursor_info)

;}

我們使用乙個簡單的遊戲框架,來減小遊戲實現的難度

int

main()

return0;

}

//遊戲畫面大小

int high;

//行int width;

//列//小鳥的座標

int bird_x;

//行int bird_y;

//列//障礙物的相關座標

int bar1_y;

//障礙物與左邊界的距離

int bar1_xtop;

//上邊障礙物底部與上邊界的距離

int bar1_xdown;

//下邊障礙物頂部與上邊界的距離

int score;

//得分

//遊戲介面大小 

high =

15;

width =25;

//小鳥的初始位置

bird_x = high /2;

bird_y = width /4;

//障礙物的初始位置

bar1_y = width -1;

bar1_xtop = high /4;

bar1_xdown = high /2;

//得分

score =

0;

每一次迴圈,都需要重新輸出一次畫面,在這裡,我們使用 @ 表示小鳥, * 表示障礙物

for

(i =

0; i < high; i++

)//行

elseif(

(j == bar1_y)&&(

(i < bar1_xtop)

||(i > bar1_xdown)))

//輸出障礙物

else

}printf

("\n");

}printf

("得分:%d\n"

, score)

;

實現小鳥的下落和障礙物的移動
bird_x++

;//小鳥向下落

bar1_y--

;//小鳥只是在上下移動,障礙物向左移動

判斷遊戲的得分與失敗
if

(bird_y == bar1_y)

//障礙物與小鳥在同一列

else

//不能撞牆

}else

}

重新生成障礙物
if

(bar1_y <=0)

//新生成乙個障礙物

}

遊戲在執行的過程中,使用者需要輸入空格來使小鳥向上跳動

if

(_kbhit()

)}

#include

#include

#include

#include

#include

//輔助函式

void

gotoxy

(int x,

int y)

//將游標調整到(x,y)的位置

void

hidecursor()

//隱藏游標

;setconsolecursorinfo

(getstdhandle

(std_output_handle)

,&cursor_info);}

//全域性變數的定義

//遊戲畫面大小

int high;

int width;

//小鳥的座標

int bird_x;

int bird_y;

//障礙物的相關座標

int bar1_y;

int bar1_xtop;

int bar1_xdown;

int score;

void

startup()

//資料初始化

void

show()

//顯示畫面

elseif(

(j == bar1_y)&&(

(i < bar1_xtop)

||(i > bar1_xdown)))

//輸出障礙物

else

}printf

("\n");

}printf

("得分:%d\n"

, score);}

intupdatewithoutinput()

//與使用者無關的更新

else

}else}if

(bar1_y <=0)

}sleep

(150);

return0;

}void

updatewithinput()

//與使用者輸入有關的更新}}

intmain()

else

return0;

}updatewithinput()

;//與使用者輸入有關的更新

}return0;

}

在這裡,我們從遊戲失敗之後重新開始演示

C語言 用C語言實現快速排序

快速排序時間複雜度為o nlogn 是陣列相關的題目當中經常會用到的演算法。在c語言中,陣列作為引數傳遞時會轉換為指向陣列起始位址的指標,非陣列形式的資料實參均以傳值形式呼叫。下列兩種形式的傳參時等價的,他們均指向陣列a的初始位址。void test int a void test int a 因此...

用c語言實現佇列 FIFO

佇列是一種先進先出的資料結構,它的儲存表示方式有兩種 順序儲存和鏈式儲存 順序儲存由於要考慮假溢位的情況,所以採用迴圈佇列形式 c語言實現 define queuesize 100 定義佇列的大小 typedef int datatype 定義佇列元素型別 typedef struct circle...

用C語言實現(掃雷遊戲)

include include include include pragma warning disable 4996 define rows 8 define cols 8 define mines 62 void menu 列印選單 void init mine char mine cols 2...