C語言實現(xiàn)flappy bird游戲
更新時間:2018年12月24日 10:37:00 作者:Cielfire
這篇文章主要為大家詳細介紹了C語言實現(xiàn)flappy bird小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C語言實現(xiàn)flappy bird的具體代碼,供大家參考,具體內容如下
#include<stdio.h>
#include<conio.h>
#include<windows.h>
//定義全局變量
int high,width; //邊界
int bird_x,bird_y; //小鳥坐標
int bar_y; //擋板坐標
int bar_xTop,bar_xDown; //擋板開口上下坐標
int score; //得分
void HideCursor() //隱藏光標
{
CONSOLE_CURSOR_INFO cursor_info = {1, 0};
SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void gotoxy(int x,int y) //光標移動到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
void startup() //數(shù)據(jù)初始化
{
high=18; //初始化邊界
width=26;
bird_x=high/2; //初始化小鳥坐標
bird_y=width/2;
bar_y=width; //擋板坐標
bar_xTop=high/2; //擋板開口
bar_xDown=bar_xTop+4;
score=0; //得分
HideCursor(); //隱藏光標
}
void show() //顯示界面
{
int i,j;
gotoxy(0,0);
for(i=0;i<=high+1;i++)
{
for(j=0;j<=width;j++)
{
if((i==bird_x)&&(j==bird_y))//輸出小鳥@
printf("@");
else if(i==high+1) //輸出下邊界
printf("_");
else if(j==width) //輸出右邊界
printf("|");
else if((j==bar_y)&&((i<=bar_xTop)||(i>=bar_xDown))) //輸出擋板
printf("|");
else printf(" ");
}
printf("\n");
}
printf("得分:%d\n",score);
}
void updateWithoutInput() //與用戶輸入無關的更新
{
if(bird_y==bar_y-1)
{
if((bird_x>bar_xTop)&&(bird_x<bar_xDown)) //小鳥通過擋板開口加分
score++;
else
{
printf("小鳥死亡\n"); //小鳥沒沒通過擋板開口小鳥死亡
exit(0);
}
}
if(bar_y>0)
bar_y--;
else
{
bar_y=width;
bar_xTop=rand()%(high-4);
bar_xDown=bar_xTop+4;
}
if(bird_x<high+1)
bird_x++;
else
{
printf("小鳥死亡\n");
exit(0);
}
Sleep(200);
}
void updateWithInpute() //與用戶輸入有關的更新
{
char input;
if(kbhit())
{
input=getch();
if((input==' ')&&(bird_x>0)&&(bird_x<=high) ) //小鳥向上跳
bird_x=bird_x-2;
}
}
int main()
{
startup(); //數(shù)據(jù)初始化
while(1)
{
show(); //顯示界面
updateWithoutInput(); //與用戶輸入無關的更新
updateWithInpute(); //與用戶輸入有關的更新
}
}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
C語言詳解數(shù)據(jù)結構與算法中枚舉和模擬及排序
枚舉和模擬其實是沒什么算法可言的,大多數(shù)都是按照題目意思去寫,這里提供快排和歸并的兩個模板,感興趣的朋友來看看吧2022-04-04
一篇文章帶你實現(xiàn)C語言中常用庫函數(shù)的模擬
這篇文章主要介紹了C語言中常用庫函數(shù)的模擬,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09

