程序的编写大概花去了我一个多星期的时间,程序有很多细节没有考虑也还很不完善。以后有时间或有心情的时候我会考虑把代码移植到win下,不过如果大家有兴趣的话,也可以尝试自己移植一下,我会非常感谢谢,呵呵
由于工作一直很忙,等有时间会给代码加上注释。
为了方便大家看代码,这里简单说一下移植的原理。
在程序里,我对输入输出采用了重定向的方法,网络功能时把输入输出重定向到远端,本地显示时就重定向到本地。
在本地进行显示的时我没有直接对X进行读写,而是通过了中间层对显示buf进行操作,所以在linux下我用x11给中间层提供了一个显示buf.
位图的拷贝填充两个函数都是自己写的,另外显示的分数也是自己写的,所以在移植的过程中都不需要考虑这些问题, 因此移植的过程中对显示方面给程序提供一个win下的显示buf就可以了, 当然要移植到win下还需要再考虑消息机制的问题.
用法:
解开压缩包直接make
./block 单机
./block -w 单机双人.
./block -s [IP]服务端.
./block -c [IP] 客户端
运行的时候一定要起X,linux新手只要知道进入图形界面就可以了。
网络功能客户端需要按空格做准备.
[ 本帖最后由 bierdaci 于 2006-10-19 16:30 编辑 ]
block
block
russia.tar.gz
russia.tar.gz
mq110 回复于:2006-07-22 13:40:25
不GPL?
bierdaci 回复于:2006-07-22 13:40:28
对了最重要的忘说了,要用linux系统还要起X才能玩,如果找不到libX11库可以自己指定下,用LD_LIBRARY_PATH=[路径名]
bierdaci 回复于:2006-07-22 13:41:10
引用:原帖由 mq110 于 2006-7-22 13:40 发表
不GPL?
哈哈,就是写着玩,没啥GPL的
bierdaci 回复于:2006-07-22 13:52:22
引用:原帖由 mq110 于 2006-7-22 13:40 发表
不GPL?
能玩吗?帮我测试下
bierdaci 回复于:2006-07-22 14:32:00
没人帮我测试吗?刚才有人说在fedora 3下不能玩,我的环境是redhat 4 和fedora 5
liubinbj 回复于:2006-07-22 16:01:07
能玩!也好像没什么bug,建议楼主增加颜色,看着都一样的灰色有点疲劳。还有当前级别显示积分显示,多少分过级后速度加快等等...
鼓励。当然要放出代码来,否则就不够厚道了。
dozec 回复于:2006-07-22 19:50:13
fc5环境下可以玩
bierdaci 回复于:2006-07-22 20:59:34
引用:原帖由 liubinbj 于 2006-7-22 16:01 发表
能玩!也好像没什么bug,建议楼主增加颜色,看着都一样的灰色有点疲劳。还有当前级别显示积分显示,多少分过级后速度加快等等...
鼓励。当然要放出代码来,否则就不够厚道了。
代码是一定要放的,但不是现在.工作够烦的, 加了一天的班, 刚才抽空改了一个大BUG,再重新发给大家呵呵
[ 本帖最后由 bierdaci 于 2006-7-22 21:02 编辑 ]
block
bierdaci 回复于:2006-07-22 21:04:52
引用:原帖由 liubinbj 于 2006-7-22 16:01 发表
能玩!也好像没什么bug,建议楼主增加颜色,看着都一样的灰色有点疲劳。还有当前级别显示积分显示,多少分过级后速度加快等等...
鼓励。当然要放出代码来,否则就不够厚道了。
显示分数还有上一个方块今天晚上如果来的及就加上,目前我设的是5分过级速度加快
liubinbj 回复于:2006-07-22 22:51:29
发现一个BUG,最大化有问题。
希望下一个版本相对完善!
rushrush 回复于:2006-07-23 12:59:00
不放代码.. 偶们怀疑你文件里有后门... 哈哈
就先不下载了...
deiney 回复于:2006-07-23 19:03:37
怎么打开啊?
gothicane 回复于:2006-07-24 09:23:47
呵呵 好玩 我记得QT里也有个俄罗斯方块的例子
bierdaci 回复于:2006-07-24 12:37:08
更新啦
deiney 回复于:2006-07-24 13:10:43
要用什么打开来啊???
bierdaci 回复于:2006-07-24 17:07:23
引用:原帖由 deiney 于 2006-7-24 13:10 发表
要用什么打开来啊???
晕,不会用linux啊
可以直接双击打开,或者在虚拟终端里输入./block,如果提示权限不够,可以chmod +x block
bierdaci 回复于:2006-08-21 11:01:27
up
coco520 回复于:2006-08-21 13:14:47
可以玩
net_robber 回复于:2006-08-21 14:16:14
上班的时候不能玩
下班回家没有网络,不能下载
bierdaci 回复于:2006-08-21 16:33:34
好像没几个人玩
epegasus 回复于:2006-08-22 20:17:53
引用:原帖由 rushrush 于 2006-7-23 12:59 发表
不放代码.. 偶们怀疑你文件里有后门... 哈哈
就先不下载了...
很难说,以前我的机子还好的,自从运行了这个后,就成了肉机,被用来攻击公司的总网关服务器,搞的上面的都找我了,不过可能与这哥们的程序无关,但是这东西,很难讲清楚
[ 本帖最后由 epegasus 于 2006-8-22 20:19 编辑 ]
bierdaci 回复于:2006-08-23 09:30:29
引用:原帖由 epegasus 于 2006-8-22 20:17 发表
很难说,以前我的机子还好的,自从运行了这个后,就成了肉机,被用来攻击公司的总网关服务器,搞的上面的都找我了,不过可能与这哥们的程序无关,但是这东西,很难讲清楚
晕,我还没那么牛X呢,代码我发了, 你得替我讲清楚哦
converse 回复于:2006-08-23 12:46:33
good,支持原创.
senfe 回复于:2006-08-23 12:55:21
想下载了看看,但是,不允许
xiaoyao4005 回复于:2006-08-23 19:20:44
我什么时候也能做个游戏玩玩啊
本人是新手,刚学linux编程,努力学习中。。。。。。。。。
引用:原帖由 bierdaci 于 2006-7-22 13:38 发表
花了三天写了个俄罗斯方块先发过来给大家玩玩,现在功能很简单,代码先不发了,等把网络功能加上了,界面完善了再把代码一起发过来.
如果工作不忙,大概一个星期后就可以发过来了:)
由于最近工作一直很忙,已经没 ...
book11 回复于:2006-08-24 10:45:33
我顶你个肺!
bierdaci 回复于:2006-08-24 11:05:05
引用:原帖由 book11 于 2006-8-24 10:45 发表
我顶你个肺!
哈哈,我也顶你个肺
beetleleo 回复于:2006-08-24 15:15:15
辛苦了,呵呵,顶一个
自由骆驼 回复于:2006-09-06 11:49:07
可以学习用
liuke432 回复于:2006-09-27 14:43:28
请问楼主 这么多源程序文件 你是用vi编辑,gdb调试的吗?
bierdaci 回复于:2006-09-27 22:46:09
引用:原帖由 liuke432 于 2006-9-27 14:43 发表
请问楼主 这么多源程序文件 你是用vi编辑,gdb调试的吗?
是啊, 都沉的没影了竟然又被老兄顶上来了,呵呵
bill15963 回复于:2006-09-27 22:58:04
怎么不能下载附件?
wyong 回复于:2006-10-18 13:09:56
下来,研究研究
bierdaci 回复于:2006-10-18 16:36:52
改了下说明,自己顶下
bierdaci 回复于:2006-10-19 16:31:08
加了注释自己顶下
iunotellu 回复于:2006-10-21 18:52:15
为什么提示说我权限不够呢/
sickcat2004 回复于:2006-12-14 17:30:31
我顶你个肺呀,在CU混两年啦,积分还不够下载这个东东。。。。。。寒。。。
2eye 回复于:2006-12-14 19:08:58
说是加了注释,没看到有几行注释啊。
看不太明白。
typedef struct _Player Player;
……
struct _Player {
int type;
int status;
int x, y;
int direct;
int grade, old_grade;
int level;
int solidify;
Shape * cur_shape;
Shape * next_shape;
Mtime time;
Mtime speed;
Mtime slice;
Block blocks[4];
Uchar next_matrix[4][4];
Uchar block_map[BLOCK_MAP_H][BLOCK_MAP_W];
DataBuffer * event_buf;
};
先typedef然后再定义都可以吗?
|