在開始遊戲之前,我們先了解一些輔助函式
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...