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目录。
有想法,实现了才是真的。