还是实验楼的小实验,利用了信号机制和curses绘图库,先把代码贴出来,回头再写注释。
#include<stdio.h>
#include<stdlib.h>
#include<signal.h>
#include<sys/time.h>
#include<curses.h>
#include<time.h>
#define CHAR_BIRD '0'
#define CHAR_STONE '*'
#define CHAR_BLANK ' '
typedef struct node{
int x,y;
struct node *next;
}node, *Node;
Node head,tail;
int bird_x,bird_y;
int ticker;
void init();
void init_bird();
void init_draw();
void init_head();
void init_wall();
void drop(int sig);
int set_ticker(int n_msec);
int set_ticker(int n_msec)
{
struct itimerval timeset;
long n_sec,n_usec;
n_sec = n_msec / 1000;
n_usec = (n_msec % 1000) * 1000L;
timeset.it_interval.tv_sec = n_sec;
timeset.it_interval.tv_usec = n_usec;
timeset.it_value.tv_sec = n_sec;
timeset.it_value.tv_usec = n_usec;
return setitimer(ITIMER_REAL, ×et,NULL);
}
void drop(int sig)
{
int j;
Node tmp,p;
move(bird_y,bird_x);
addch(

这篇博客介绍了一次在Linux环境下使用C语言和curses库制作FlappyBird游戏的实验。作者通过信号机制和curses进行图形绘制,虽然没有立即提供详细注释,但计划后续补充。

532

被折叠的 条评论
为什么被折叠?



