这个例子取自Bruce Molay的Understanding Unix/Linux Programming,原书中给出了框架与实现方式,本人实现了完整游戏。这个游戏主要使用了curses库的一些基本函数,附加的内容主要有时钟编程与信号处理。
d:加速 X 分量; s:减速 X 分量;
e:加速 Y 分量; w:减速 Y 分量;
Q:退出;
程序中使用了三个信号:SIGINT,SIGALRM,SIGUSR1。程序中屏蔽了SIGINT中断信号,使用SIGALRM时钟信号触发小球运动,使用SIGUSR1用户自定义信号来通知游戏失败。
程序在openSUSE 10.3 中成功编译,编译好的文件(i586)为bgame,若不能执行可自行编译,编译方法:
gcc bgame.c -lncurses -o bgame
若不成功(在RadHat 9下)可试试:
gcc bgame.c -l curses -o bgame
源代码下载:bgame
kissdb 于 2008-04-07 18:46:25发表:
我玩不起来啊!!郁闷