假期在家無聊,想隨便碼點東西,故有此簡陋的小遊戲誕生。覺著可能對初學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 ...