在終端中使用 `ncurses` 庫繪製一棵會閃爍的聖誕樹,作為平安夜的編程小禮物。涵蓋初始化、座標計算、分層繪製、動畫循環、資源釋放全流程。
void show() {
initscr();
// 第 1 層
move(1, 10); printw("/");
move(1, 11); printw("\\");
// 第 2 層
move(2, 9); printw("/");
move(2, 12); printw("\\");
// ... 後續層省略,邏輯相同
// 樹幹
mvvline(5, 10, '|', 5);
move(20, 20);
refresh();
sleep(1);
endwin();
}
// 閃爍主循環
for (int i = 0; i < 9; ++i) {
if (i % 2 == 0) show();
else print(); // print() 內部將所有 x 座標 +1
}
gcc ChristmasTree.c -o tree -lcurses
./tree
需鏈接 `ncurses` 庫(`-lcurses`)。Windows 下可用 PDCurses 移植。