C是編程基礎,好多現在常用軟件都是C來實現,比如nginx、redis等,他們,代碼簡潔高效,是互聯網常用軟件。之前基礎還算可以,方向是跟嵌入式相關的。重新拾起C是有必要的。這個貪吃蛇是之前寫的一個練手的代碼,C實現,使用了鏈表,多線程,ncurses庫,鎖,信號量,編寫簡單的Makefile,進行編譯。運行在終端裏。
1.使用ncurses來描點,可以設置步長,基本就是把終端設計成一個網格,一步一個格。+標識蛇頭,第一個食物點是rand出x和y座標。
2.使用單鏈表表示蛇,結構體如下
struct point{
int x;
int y;
char c;
char dir;
struct point * next;
};
x、y是座標,c是當前字符,dir是方向,point是下一個節點的指針。
3.兩個線程,一個刷新terminal,一個接收輸入改變鏈表數據
4.運行
yum install ncurses ncurses-devel
make clean
make
./snake
wasd來控制上下左右,碰到邊框就死掉了。
代碼在github https://github.com/ghoiufyia/c_learn.git snake目錄。
有想法,實現了纔是真的。