This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: GNU Robots 0.76 is ready






[Klaus Schilling wrote:]
:> > Please download it, and let me know what you think so far.
:>
:> I briefly looked over your web-pages and noticed that it doesn't have
:> any GUI, right?  You might want to look into gnome-guile and the Gnome
:> canvas widget for this.  Unfortunately, this would mean to install the
:> complete base libraries of Gnome just for using the canvas.
:>
:
:One of the robot proggies has a curses interface, but it is anchored
:in the C part of the code.
:
:So why would this not work for GUI in the place of tty graphics as
:well? I.e. one would access the gtk library only by the C code, not
:by the scheme code.

Hmmm... it appears that I did not write any documentation for GNU Robots
before I released.  :(  Sorry about that.  Here's a stab at a first draft,
and I'll include this on my web site and in the next beta:


To build GNU Robots, you first need to have already compiled/installed the
GNU Guile libraries.  Then, just make sure the root Makefile is okay for
your system (make sure the CC is correct for your system, and that it
matches where you have installed the Guile libraries), and type:

     make

(In future, I will use GNU Autoconf, so your Makefile(s) will be created
for you, just like other GNU programs.)

This will create two programs in the src/ directory:

     run_robot
     curs_robot

The "run_robot" program is a text-only version of the game, suitable for
sending to a log file.  I use "run_robot" for testing, when I want to track
every move of the robot.  This is probably not the program you want to use
when testing GNU Robots.  Instead, you'll want to use "curs_robot".

The "curs_robot" program is a curses-based version of the game, using an
ASCII approximation of the game elements.  Your robot will appear as a "v"
when it points South, "^^" when it points North, and "<" and ">" for West
and East.  Empty spaces are shown as ".", walls (obstructions) as "#",
baddies as "@", and food and prizes as "+" and "$".

The sample map that is provided as "mapfile.map" (other maps can be found
in the src/maps/ directory) is just a single room, with prizes all along
the four walls.  The sample robot program "test.scm" (other robot programs
will be distributed in the scheme/ directory) knows how to pick up all
these prizes and then quit.

Currently, GNU Robots does not let you specify a different map file or
robot program, so if you want to experiment with a different map or
program, you will need to rename your map as "mapfile.map" and your robot
as "test.scm" in teh src/ directory.  Later releases of GNU Robots will
allow you to specify a different map file and robot program.



** on the topic of the interface:

I provided the curses interface and text file version of the GNU Robots
game because I do not know how to write code for X Windows.  However, if
you're interested in looking in the code you'll see I've left "hooks" that
allow me to plug in pretty much any display system that I want.  I would
very much like to have an X Windows version of GNU Robots, but I would need
someone to write the hooks for me.



I hope this helps people in testing GNU Robots.  Thanks for the help so
far.

Oh, I've also posted version 0.77 on my ftp site.  This is just an
incremental update, where the Scheme primitives for "exit" and "quit" are
redefined so the GNU Robots game exits gracefully.  Also, I provide a hack
for the Scheme primitives "random" and "randomize" which appear to be
missing in Guile 1.2.

After I get some more feedback on this release, I'll incorporate any
suggestions into a 0.8 release.

Thanks,

-Jim Hall