summaryrefslogtreecommitdiff
path: root/README
blob: ac2c77b47b4ea516018bd83d20f551b4ff058331 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76

Introduction
============

GNU Robots is a game/diversion where you construct a program for a
little robot, then set him loose and watch him explore a world on his
own.  The robot program is written in Scheme, and is implemented using
GNU Guile.

Installing GNU Robots
======================

(0) To build GNU Robots, you *first* need to have already compiled and
    installed the GNU Guile library.  GNU Robots was built using Guile
    1.3.

    Guile 1.2 will also work, but you will need to provide your own
    scm_random() function.  See src/random.c

(1) Type:

    ./configure

    To specify an unusual location for GNU Guile, you can use the
    `--with-guile=' option, like this:

    ./configure --with-guile=/home/user

(2) Look at the generated `Makefile', and check that everything is
    okay.  Then type:

    make

Notes
=====

* There is really one key missing piece in GNU Robots: I had
* originally envisioned a "visual" programming interface for GNU
* Robots, one where you could create a robot program by dropping into
* place icons that represent the robot's actions.  There would be one
* icon to tell the robot to move forward, another to have him turn to
* the left or right, and another to have him pick up things or fire
* his little gun.
*
* This programming interface would really just act as a kind of code
* generator; it would write a Scheme program that you could then load
* into GNU Robots.
*
* This will hopefully be in the next release!


To run GNU Robots, run "gnurobots"

--

The sample map that is provided as "maps/small.map" is just a single
room, with prizes all along the four walls.  The sample robot program
"scheme/simple.scm" knows how to pick up all these prizes and then
quit.  Other map files can be found in the maps/ directory, and other
robot programs are in the scheme/ directory.

The usage for gnurobots is as follows:

  gnurobots [OPTION]... [FILE]

Options are:

    -f, --map-file=FILE    Load map file
    -s, --shields=N        Set initial shields to N
    -e, --energy=N         Set initial energy to N
    -V, --version          Output version information and exit
    -h, --help             Display this help and exit

    Note: FILE refers to a scheme file and ./bin/gnurobots enters into
          interactive mode if it is not specified.