On Thu, 2004-07-15 at 15:18, Tom Copeland wrote:
> On Thu, 2004-07-15 at 13:53, Peter Thoman wrote:
> > I did the first 2 of that list (with RUDL, which I think is superior to 
> > PyGame btw.)
> > Screenshots: http://rudl.sourceforge.net/screenshots/
> > 
> > The Tetris game is included in the RUDL distribution if I remember 
> > correctly. It's about 500 lines, but that includes the interface, music, 
> > and all the block types specified as arrays. Oh, and support for up to 8 
> > (n, basically, but you'd need a huge keyboard...) players and saving and 
> > loading of all the options.
> > Note that the code is from a long time ago when I just started using 
> > Ruby, so it's not really a great example to learn from.
> 
> I got Rudl 0.7.1 to compile, but regrettably urlaubtris segfaulted when
> I gave it a whirl.  The same thing happened on about half the samples,
> though, so perhaps my setup is not good (Ruby 1.8.1, SDL 1.2.7).

Another note on this discussion from several weeks ago - urlaubtris runs
nicely if one applies this little patch to rudl_video_surface.c:

[tom@hal rudl]$ cvs diff rudl_video_surface.c
Index: rudl_video_surface.c
===================================================================
RCS file: /cvsroot/rudl/rudl/rudl_video_surface.c,v
retrieving revision 1.35
diff -r1.35 rudl_video_surface.c
1329a1330,1335
> static VALUE surface_method_missing(int argc, VALUE* argv, VALUE self)
> {
>                               // printf("Whoa, method_missing!");
>                               return -1;
> }
>
1459a1466
>
1526a1534
>     rb_define_method(classSurface, "method_missing",
surface_method_missing, -1);
[tom@hal rudl]$

There's some oddness going on there that's beyond me - seems like the
RUDL Ruby classes should inherit method_missing() from Object - but I'm
pretty far out of my depth on this one.

Yours,

tom