[gmeadon@MIT.EDU: Re: PS 2b]

Tomas Lozano-Perez (tlp@ai.mit.edu)
Sat, 14 Feb 1998 10:19:40 -0500 (EST)

------- Start of forwarded message -------
Hi,

The bug pointed out below is real and actually there's an even worse
one related to this right above it. This means that all the dumped
game files are incorrect.

I've "fixed" the robots.c and netinput.c files to try to correct this
and I'll be dumping new binaries and game files and training new
neural nets. This will take me some time to do.

If you've already done the assignment, that's fine. If you haven't
you might want to wait till I send out a message saying everything is
clear.

My apologies for this; that'll teach me to program when I'm running a
fever...

Tomas
---------------------------------------------------------------------
From: gmeadon@MIT.EDU
To: Tomas Lozano-Perez <tlp@ai.mit.edu>
Subject: Re: PS 2b
In-Reply-To: Your message of "Fri, 13 Feb 1998 11:37:33 EST."
<199802131637.LAA23232@soggy-fibers.ai.mit.edu>
Date: Fri, 13 Feb 1998 19:17:31 EST

> Please let me know of any bugs (or suspected bugs).
>
> Tomas

I think there's a little bug in nn-robots.c

In function void move_robot(struct board *b, int r_i):

if (mark > 0 && mark <= b->n_R) { /* A Robot */
/* Create a Pile */
record_move(b, b->R_pos[r_i], i, j, P_MARK);
/* Both colliding robots die */
b->R_pos[r_i][0] = - (b->R_pos[r_i][0]);
b->R_pos[mark-1][0] = - (b->R_pos[mark-1][0]);
b->n_live_R -= 2;
}

The following two lines are used to 'kill' the coliding robots, but if
they're already in the 0th column, there is no effect:
b->R_pos[r_i][0] = - (b->R_pos[r_i][0]);
b->R_pos[mark-1][0] = - (b->R_pos[mark-1][0]);

I replaced those lines with:
b->R_pos[r_i][0] = -1;
b->R_pos[mark-1][0] = -1;

and I haven't gotten any more 'could not find enough robots' errors...

George
------- End of forwarded message -------