最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言實(shí)現(xiàn)flappy bird游戲

 更新時(shí)間:2018年12月24日 10:37:00   作者:Cielfire  
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)flappy bird小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了C語(yǔ)言實(shí)現(xiàn)flappy bird的具體代碼,供大家參考,具體內(nèi)容如下

#include<stdio.h>
#include<conio.h>
#include<windows.h>
//定義全局變量
int high,width; //邊界 
int bird_x,bird_y; //小鳥坐標(biāo)
int bar_y; //擋板坐標(biāo)
int bar_xTop,bar_xDown; //擋板開(kāi)口上下坐標(biāo) 
int score; //得分 
 
void HideCursor() //隱藏光標(biāo) 
{
 CONSOLE_CURSOR_INFO cursor_info = {1, 0};
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void gotoxy(int x,int y) //光標(biāo)移動(dòng)到(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; //初始化小鳥坐標(biāo) 
 bird_y=width/2;
 
 bar_y=width; //擋板坐標(biāo)
 
 bar_xTop=high/2; //擋板開(kāi)口 
 bar_xDown=bar_xTop+4;
 
 score=0; //得分 
  
 HideCursor(); //隱藏光標(biāo) 
}
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() //與用戶輸入無(wú)關(guān)的更新 
{
 if(bird_y==bar_y-1)    
 {
 if((bird_x>bar_xTop)&&(bird_x<bar_xDown)) //小鳥通過(guò)擋板開(kāi)口加分
 score++;
 else
 {
  printf("小鳥死亡\n"); //小鳥沒(méi)沒(méi)通過(guò)擋板開(kāi)口小鳥死亡 
  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() //與用戶輸入有關(guān)的更新 
{
 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(); //與用戶輸入無(wú)關(guān)的更新
 updateWithInpute(); //與用戶輸入有關(guān)的更新 
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出實(shí)例

    C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出實(shí)例

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)單鏈表逆序與逆序輸出,是數(shù)據(jù)結(jié)構(gòu)與算法中比較基礎(chǔ)的重要內(nèi)容,有必要加以牢固掌握,需要的朋友可以參考下
    2014-08-08
  • C語(yǔ)言詳解數(shù)據(jù)結(jié)構(gòu)與算法中枚舉和模擬及排序

    C語(yǔ)言詳解數(shù)據(jù)結(jié)構(gòu)與算法中枚舉和模擬及排序

    枚舉和模擬其實(shí)是沒(méi)什么算法可言的,大多數(shù)都是按照題目意思去寫,這里提供快排和歸并的兩個(gè)模板,感興趣的朋友來(lái)看看吧
    2022-04-04
  • 一篇文章帶你實(shí)現(xiàn)C語(yǔ)言中常用庫(kù)函數(shù)的模擬

    一篇文章帶你實(shí)現(xiàn)C語(yǔ)言中常用庫(kù)函數(shù)的模擬

    這篇文章主要介紹了C語(yǔ)言中常用庫(kù)函數(shù)的模擬,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • C++中用棧來(lái)判斷括號(hào)字符串匹配問(wèn)題的實(shí)現(xiàn)方法

    C++中用棧來(lái)判斷括號(hào)字符串匹配問(wèn)題的實(shí)現(xiàn)方法

    這篇文章主要介紹了C++中用棧來(lái)判斷括號(hào)字符串匹配問(wèn)題的實(shí)現(xiàn)方法,是一個(gè)比較實(shí)用的算法技巧,包含了關(guān)于棧的基本操作,需要的朋友可以參考下
    2014-08-08
  • C語(yǔ)言?模擬實(shí)現(xiàn)strlen函數(shù)詳解

    C語(yǔ)言?模擬實(shí)現(xiàn)strlen函數(shù)詳解

    在 C 語(yǔ)言 中我們要獲取 字符串 的長(zhǎng)度,可以使用strlen 函數(shù),strlen 函數(shù)計(jì)算字符串的長(zhǎng)度時(shí),直到空結(jié)束字符,但不包括空結(jié)束字符,因?yàn)?nbsp;strlen 函數(shù)時(shí)不包含最后的結(jié)束字符的,因此一般使用 strlen函數(shù)計(jì)算的字符串的長(zhǎng)度會(huì)比使用 sizeof 計(jì)算的字符串的字節(jié)數(shù)要小
    2022-04-04
  • C++面向?qū)ο笳Z(yǔ)言自制多級(jí)菜單功能實(shí)現(xiàn)代碼

    C++面向?qū)ο笳Z(yǔ)言自制多級(jí)菜單功能實(shí)現(xiàn)代碼

    菜單類主要負(fù)責(zé)菜單的創(chuàng)建、修改、刪除,是包含菜單結(jié)構(gòu)組織和響應(yīng)函數(shù)的模型,用戶擁有充分的自主性,可根據(jù)需要自定義菜單顯示和響應(yīng)函數(shù),這篇文章主要介紹了C++面向?qū)ο笳Z(yǔ)言自制多級(jí)菜單,需要的朋友可以參考下
    2024-06-06
  • C++實(shí)現(xiàn)希爾排序(ShellSort)

    C++實(shí)現(xiàn)希爾排序(ShellSort)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)希爾排序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • C語(yǔ)言中遞歸和排列組合詳解

    C語(yǔ)言中遞歸和排列組合詳解

    大家好,本篇文章主要講的是C語(yǔ)言中遞歸和排列組合詳解,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C++?Boost?Spirit精通教程

    C++?Boost?Spirit精通教程

    Boost是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱。Boost庫(kù)是一個(gè)可移植、提供源代碼的C++庫(kù),作為標(biāo)準(zhǔn)庫(kù)的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開(kāi)發(fā)引擎之一,是為C++語(yǔ)言標(biāo)準(zhǔn)庫(kù)提供擴(kuò)展的一些C++程序庫(kù)的總稱
    2022-11-11
  • C++實(shí)現(xiàn)字符串元音字母反轉(zhuǎn)的兩種方法

    C++實(shí)現(xiàn)字符串元音字母反轉(zhuǎn)的兩種方法

    在處理字符串問(wèn)題時(shí),我們經(jīng)常需要對(duì)其中的字符進(jìn)行操作,例如反轉(zhuǎn)、替換等,本文將詳細(xì)討論如何在C++中實(shí)現(xiàn)僅反轉(zhuǎn)字符串中的所有元音字母,并返回結(jié)果字符串,需要的朋友可以參考下
    2024-07-07

最新評(píng)論

塘沽区| 思茅市| 清水河县| 凤冈县| 根河市| 策勒县| 会理县| 平阴县| 固原市| 墨玉县| 南宫市| 澄迈县| 南靖县| 乌什县| 玛曲县| 克什克腾旗| 泸水县| 繁昌县| 浦城县| 镇远县| 民丰县| 措勤县| 观塘区| 玉环县| 宜昌市| 宜章县| 合山市| 昭平县| 罗江县| 赤水市| 泰和县| 昌宁县| 崇阳县| 贵溪市| 天全县| 普安县| 四子王旗| 隆昌县| 元江| 黔西县| 依兰县|