home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
sources
/
x
/
volume8
/
xlife
/
part02
< prev
next >
Wrap
Internet Message Format
|
1990-07-06
|
72KB
Path: uunet!cs.utexas.edu!sun-barr!newstop!sun!andrew.cmu.edu
From: dl2n+@andrew.cmu.edu (Daniel Edward Lovinger)
Newsgroups: comp.sources.x
Subject: v08i038: Xlife 2.0, Part02/10
Message-ID: <138507@sun.Eng.Sun.COM>
Date: 7 Jul 90 00:01:07 GMT
Sender: news@sun.Eng.Sun.COM
Lines: 4835
Approved: argv@sun.com
Submitted-by: Daniel Edward Lovinger <dl2n+@andrew.cmu.edu>
Posting-number: Volume 8, Issue 38
Archive-name: xlife/part02
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of archive 2 (of 8)."
# Contents: xlife-2.0/data.c xlife-2.0/doc/search_program
# xlife-2.0/patterns/alu.life xlife-2.0/patterns/blockpusher.life
# Wrapped by dl2n@niobe.weh.andrew.cmu.edu on Mon Jul 2 22:48:04 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f xlife-2.0/data.c -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"xlife-2.0/data.c\"
else
echo shar: Extracting \"xlife-2.0/data.c\" \(1374 characters\)
sed "s/^X//" >xlife-2.0/data.c <<'END_OF_xlife-2.0/data.c'
X/*
X * XLife Copyright 1989 Jon Bennett jb7m+@andrew.cmu.edu, jcrb@cs.cmu.edu
X *
X * Permission to use, copy, modify, distribute, and sell this software and its
X * documentation for any purpose is hereby granted without fee, provided that
X * the above copyright notice appear in all copies and that both that
X * copyright notice and this permission notice appear in supporting
X * documentation, and that the name of the copyright holders not be used in
X * advertising or publicity pertaining to distribution of the software without
X * specific, written prior permission. The copyright holders make no
X * representations about the suitability of this software for any purpose. It
X * is provided "as is" without express or implied warranty.
X *
X * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
X * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
X * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
X * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
X * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
X * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
X * PERFORMANCE OF THIS SOFTWARE.
X */
X
X#include <X11/Xlib.h>
X#include <X11/Xutil.h>
X#include <X11/Xos.h>
X
X/* I know this is a hack, but so what? */
X#define GLOBAL
X
X#include "data.h"
X
END_OF_xlife-2.0/data.c
if test 1374 -ne `wc -c <xlife-2.0/data.c`; then
echo shar: \"xlife-2.0/data.c\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/doc/search_program -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"xlife-2.0/doc/search_program\"
else
echo shar: Extracting \"xlife-2.0/doc/search_program\" \(22503 characters\)
sed "s/^X//" >xlife-2.0/doc/search_program <<'END_OF_xlife-2.0/doc/search_program'
XReturn-path: <HUL@PSUVM.PSU.EDU>
XX-Andrew-Authenticated-as: 0;andrew.cmu.edu;Network-Mail
XReceived: from po3.andrew.cmu.edu via trymail
X ID </afs/andrew.cmu.edu/usr14/jb7m/Mailbox/0Zft7HK00UkT8HJU8F>;
X Sat, 13 Jan 90 15:38:45 -0500 (EST)
XMessage-ID: <Added.AZft7Em00UkTQHJU5q@andrew.cmu.edu>
XReceived: from PSUVM.PSU.EDU by po3.andrew.cmu.edu (5.54/3.15) id <AA04945> for jb7m+; Sat, 13 Jan 90 15:38:10 EST
XReceived: from PSUVM.BITNET by PSUVM.PSU.EDU (IBM VM SMTP R1.2.1MX) with BSMTP id 0991; Sat, 13 Jan 90 15:38:55 EST
XReceived: by PSUVM (Mailer R2.03B) id 3407; Sat, 13 Jan 90 15:38:54 EST
XDate: Sat, 13 Jan 90 15:38 EST
XFrom: "Dean Hickerson" <HUL@PSUVM.PSU.EDU>
XSubject: Search program
XTo: jb7m+@andrew.cmu.edu
X
X> A number of time you have said that the patterns you were sending had been
X> found by a search program. I was wondering if you would mind sending me a
X> copy of it too look at.
X
XThe program is written in 6502 assembly language and Applesoft BASIC and
Xruns on an Apple IIe. Unless you have a compatible machine, the program
Xitself probably wouldn't help you much. But here's a fairly detailed
Xdescription of how it works. I encourage you (or anyone else) to write a
Xsimilar program for a faster machine; I'm sure there are things waiting to
Xbe found that my Apple is slow to find.
X
XIf you really want to see the program itself, let me know and I'll try to
Xfind a way to send it. (It's not easy, because of incompatible operating
Xsystems and file structures.)
X========================================================================
XGeneral description of the Life search program (9/6/89)
X
X This is a general description of the program and some discussion of
Xits behaviour. A much more detailed description follows.
X
X I tell the program the desired congruence period T of an object, a
Xrectangle in which generations 0 to T must fit, and an isometry relating
Xgen. 0 to gen. T. The program creates a 3D array in which each cell is
Xeither on, off, or unknown; initially everything's unknown except for any
Xinitial conditions which I specify. It then picks an unknown cell, chooses
Xa value for it, and examines the consequences of its choice, working both
Xforward and backward. If it runs out of consequences, it picks another
Xunknown cell and continues. If it finds a contradiction, it backs up to
Xits most recent choice, reverses it, marks it as a conclusion rather than a
Xchoice, and continues. Eventually it either runs out of unknown cells and
Xreports that it's found something, or tries to back up past its first
Xchoice and reports that the object doesn't exist. (Or it would if I let it
Xrun forever; more often I stop it after a while.) I can have it display
Xthe array at any time; sometimes I can figure out something interesting
Xfrom its partial results. E.g. I built the 25 bit c/3 spaceship from parts
Xit had found in previous searches; the program found it about an hour
Xlater.
X
X One problem I sometimes have is that the program finds things with
Xperiods smaller than I want, like 1. So I usually specify the value of
Xsome particular cell in enough phases to force it to have the desired
Xperiod. (Of course I may miss something interesting that way.) Another
Xproblem is that after the program finds something which is smaller than the
Xspecified rectangle, it then finds the same thing with various stable
Xobjects around the unoccupied edges. So I back it up 'by hand' far enough
Xto get to something new.
X
X I haven't really settled on the best order in which to select unknown
Xcells. I usually work in a rectangle which is wide but not very tall and
Xproceed up the columns from left to right, either just in gen. 0 or doing
Xall phases for each position before moving to the next. I've tried some
Xsearches starting at the center of a square and spiralling
Xoutward, but the program tends to bog down when it's far from the center: a
Xbad choice for a cell may not be detected until the spiral comes back
Xaround to it, so it will try many possibilities for the intervening cells
Xof the spiral before it changes the bad cell. Probably I should use a
Xself-adjusting search order; when a problem is detected, the program should
Xmove nearby cells closer to the front of the search list. My first
Ximplementation of this actually made the program slower, since cells which
Xgot moved to the front of the list stayed near there even when they were no
Xlonger a problem. I have an idea for a better way to do it, but I haven't
Xhad time to implement it yet.
X
X Another thing I'm still experimenting with is how to decide whether to
Xturn an unknown cell on or off. If I'm going to let the search run to
Xcompletion it doesn't matter; both choices will be tried eventually. But
Xfor incomplete searches some heuristics might help. Usually I choose 'off'
Xfirst, in the hope that an object of small population will be found.
XAnother good choice is to make a location have the same value at time t as
Xat other, already assigned, times; this tends to lead to billiard tables.
X
X The program is most effective when the period is small; the forward and
Xbackward conclusions tend to wrap around the ends of time and meet, leading
Xto more conclusions or contradictions. For large periods, that doesn't
Xhappen much, so the program doesn't detect its bad choices soon enough to
Xaccomplish much. The p5 fumarole and one other p5 are the only things
XI've found so far with a congruence period greater than 4.
X----------------------------------------------------------------------
X
XDetailed description of the Life search program (9/24/89)
X
X The program consists of two parts, an assembly language part which
Xdoes the searching and a BASIC program which handles initialization,
Xinterpreting commands from the user, and display. I'll talk mostly about
Xthe assembly language portion.
X
X Three constants describe the size of the space being searched:
X
X TP = time period, length of time until pattern is to reappear;
X XM = width of rectangle to be searched;
X YM = height of rectangle to be searched.
X
XThe set of pairs (X,Y) with 0<=X<XM and 0<=Y<YM will be called "the
Xrectangle".
X
X There are 12 constants which describe how generation 0 is related to
Xgeneration TP: A, B, C, D, E, F, A', B', C', D', E', F'. The cell with
Xcoordinates (X, Y) in generation 0 is mapped to the cell with coordinates
X(AX+BY+C, DX+EY+F) in generation TP. The cell with coordinates (X, Y) in
Xgeneration TP is mapped to the cell (A'X+B'Y+C', D'X+E'Y+F') in generation
X0. The values of A thru F are specified by the user; the others are given
Xby:
X A' = E/Z, B' = -B/Z, C' = (BF-CE)/Z,
X D' = -D/Z, E' = A/Z, F' = (CD-AF)/Z,
Xwhere Z = AE-BD = 1 or -1. The mappings are supposed to be isometries,
Xnot general invertible linear maps, so there are severe restrictions on A,
XB, D, and E which I won't bother to write down. (There is also a boolean
Xvariable, USEMAP, which is normally true. If it is false, then the
Xmappings are ignored, so the program can be used to search for predecessors
Xof whatever the user puts in generation TP.)
X
X The current information about generations 0 to TP is kept in a 3
Xdimensional array CELL, with dimensions 0 to TP, 0 to XM-1, and 0 to YM-1.
XEach entry can have one of 3 values, 0=off, 1=on, or UNK=unknown. (I use a
Xwhole byte for each entry, with UNK=$10. (Here and later, a dollar sign
Xindicates that a number is in base 16.) This makes the computation of the
Xneighborhood easy: just add the values of the 8 neighbors; the high nybble
Xis the number of unknown neighbors, and the low nybble is the number which
Xare on.) Initially the edges (all elements with X=0 or XM-1 or Y=0 or YM-1)
Xare turned off, as are the cells in generation 0 which map outside the
Xrectangle in generation TP and vice versa; everything else is initially
Xunknown. After this initialization, some user-specified cells may be
Xturned on or off, by calling PROCEED (described later).
X
X In addition to CELL, one other large array is used, the setting list.
XThis is a list of quintuples (T, X, Y, VALUE, FREE) where 0<=T=TP, 0<=X<XM,
X0<=Y<YM, VALUE=0 or 1, and FREE=true or false. Whenever an element of CELL
Xis changed from UNK to 0 or 1, an entry is added to the list. FREE is true
Xif the change is a free choice, false if it's forced by some previous
Xchoice. There are 3 pointers into the list:
X STNG points to the beginning;
X NWSTNG points to the end; new entries are put here;
X NXSTNG points to the next setting whose consequences are to
X be examined.
X
X There are also two tables which are used to describe the Life
Xtransition rules. Conceptually, an index into either table consists of a
Xcell value (0, 1, or UNK) and 3 numbers which add up to 8, telling how many
Xneighbors are 0, 1, and UNK; there are 135 (=3*45) possible indices. In
Xpractice, I use a one byte 'neighborhood descriptor' to encode this, so
Xeach table is 256 bytes long, but only partially used. To compute the
Xneighborhood descriptor of a cell, add up the 8 neighbors. If the AND of
Xthe sum and $88 is zero, then the neighborhood descriptor is twice the sum
Xplus the cell. If the AND is nonzero, the descriptor is the sum plus twice
Xthe cell plus $11.
X
X The first table is called TRANSIT and tells what the cell should be in
Xthe next generation. E.g. neighborhood descriptor $25 means that the
Xcell is 1, 5 of its neighbors are 0, 2 are 1, and 1 is unknown,
XTRANSIT[$25] = 1. Of course, most entries in TRANSIT are UNK, 73 to be
Xexact. (And 57 are 0 and 5 are 1.)
X
X The second table is called IMPLIC and contains information about
Ximplications in the other direction. If we know the neighborhood
Xdescriptor and the value of the cell in the next generation, we may be able
Xto conclude that some unknown cells in this generation must be 0 or 1.
XSuch conclusions exist only if the corresponding entry is UNK, so there are
Xonly 73 entries in IMPLIC. There are 8 possible implications, each is
Xgiven by one bit in the IMPLIC entry:
X
X Bit Meaning
X $80 If new cell is 0 then current cell should be 0.
X $40 If new cell is 0 then current cell should be 1.
X $20 If new cell is 1 then current cell should be 0.
X $10 If new cell is 1 then current cell should be 1.
X $08 If new cell is 0 then all unknown neighbors should be 0.
X $04 If new cell is 0 then all unknown neighbors should be 1.
X $02 If new cell is 1 then all unknown neighbors should be 0.
X $01 If new cell is 1 then all unknown neighbors should be 1.
X
X(In Life, bits $40 and $20 are never set, but they may occur for other
Xtransition rules.) For example, bit $80 is set iff the current cell is
Xunknown, exactly 2 of its neighbors are 1, and at most 1 of its neighbors
Xis unknown, i.e. for neighborhood descriptors $14 and $34.
X
X The two tables were created by a BASIC program and are now loaded from
Xdisk as part of the initialization.
X
X The basic operation of the program is as follows: Suppose that CELL is
Xfully consistent; i.e. every cell is consistent with its 9 parents and no
Xcurrently unknown cells have their values forced. (That is, forced
Xdirectly, either by their parents or their children.) In this situation,
XNXSTNG = NWSTNG.
X
XStep 0: ('Pick an unknown cell') If there are no unknown cells left,
Xreport that an object has been found, let the user display it, save it on
Xdisk, print it, or whatever; then go to step 2. Otherwise, pick an unknown
Xcell and a value for it. Change it in CELL and add an entry to the setting
Xlist with FREE=true, updating NWSTNG. Go to step 1.
X
XStep 1: ('Examine consequences') If NXSTNG = NWSTNG, then CELL is fully
Xconsistent; go to step 0. Otherwise, get the values of T, X, Y, and VALUE
Xpointed to by NXSTNG and increment NXSTNG. The fact that CELL[T,X,Y] =
XVALUE may directly force some currently unknown cells to be 0 or 1; for
Xeach of these, set its value in CELL and add an entry to the setting list
Xwith FREE=false, incrementing NWSTNG. Then go to step 1. We may also
Xdetect a contradiction at this point; in that case go to step 2. (The
Xforcing in this step is of 4 types: If T=0 or TP, the mapped cell in
Xgeneration TP or 0 is forced. Some of the parents of (T,X,Y) may be
Xforced. Some of the children of (T,X,Y) may be forced. And some cells may
Xbe forced by additional constraints such as symmetry.)
X
XStep 2: ('Back up'. At this point, either a contradiction has been
Xdetected or we've found an object and wish to look for more.) If NWSTNG =
XSTNG, report that no more objects of the desired type exist and quit.
XOtherwise, decrement NWSTNG and get the values of T, X, Y, VALUE, and FREE
Xpointed to by it. If FREE = false, set CELL[T,X,Y] to UNK and go to step
X2. If FREE = true, then either we've found that this free choice led to a
Xcontradiction or we've already found all objects in which the choice was
Xvalid. So change CELL[T,X,Y] to 1-VALUE, change FREE to false, set NXSTNG
Xto NWSTNG, increment NWSTNG, and go to step 1.
X
X As described here, part of step 0 involves returning control to the
XBASIC part of the program. But on my system it's not convenient to have a
Xmachine language routine call a BASIC routine, so I've rearranged things
Xslightly.
X
X I'll now describe the machine language routines. Unless otherwise
Xindicated, the parameters T, X, Y, VALUE, and FREE are assumed to
Xsatisfy 0<=T<=TP, 0<=X<XM, 0<=Y<YM, VALUE = 0, 1, or UNK, FREE = true
Xor false.
X
X Many of these routines sometimes detect an error; they report this to
Xthe calling routine by setting the carry bit and storing a value in the
Xvariable ERRCODE to tell which error occurred. (Calling these 'errors' is
Xmisleading, since they can occur during the normal course of events and
Xsome are even desirable. But 'exceptional conditions' is too long, so I'll
Xcontinue to call them errors.)
X
XLOOKUP(T,X,Y): Return the address and value of CELL[T,X,Y]. (This routine
Xgets called more often than any other, so should be fast. I actually
Ximplemented it as an assembly language macro rather than as a subroutine.
XThe duplicated code made the program a bit larger, but also made it about
X10% faster. I also have faster versions for the special cases in which the
Xcell being looked up is adjacent to the one previously looked up. This
Xspeeds up the neighborhood calculation in GETNBHD.)
X
XMAP(X,Y): Return the coordinates of the cell in generation TP
Xcorresponding to the cell (0,X,Y). Report an 'out of bounds' error if the
Xmapped coordinates are not in the rectangle.
X
XINVMAP(X,Y): Return the coordinates of the cell in generation 0
Xcorresponding to the cell (TP,X,Y). Report an 'out of bounds' error if the
Xmapped coordinates are not in the rectangle.
X
XNWSET(T,X,Y,VALUE,FREE): Store a quintuple at NWSTNG and increment NWSTNG.
X
XSETCELL(T,X,Y,VALUE,FREE): (Should not be called with VALUE = UNK.) Look
Xup CELL[T,X,Y]. If it equals VALUE, do nothing. If it equals 1-VALUE,
Xreport an 'inconsistency' error. If it is unknown, set it to VALUE and
Xcall NWSET to add the quintuple to the setting list.
X
XGETNBHD(T,X,Y): (Should not be called with T=0.) Return the neighborhood
Xdescriptor for (T-1,X,Y); i.e. describing the parents of (T,X,Y). Note: If
X(X,Y) is on the boundary of the rectangle, then GETNBHD assumes that the
Xneighbors which are outside are 0. There are some situations in which it
Xwould be better to assume they are UNK.
X
XCONSISFY(T,X,Y): (Should not be called with T=0. X and Y may be out of
Xbounds, in which case the routine does nothing.) Make (T,X,Y) fully
Xconsistent with its parents. Specifically: Compute the neighborhood
Xdescriptor of (T-1,X,Y), and look it up in TRANSIT and IMPLIC. If the
Xentry in TRANSIT is 0 or 1 and the value of CELL[T,X,Y] is 1 or 0,
Xrespectively, report an 'inconsistency' error. Otherwise call SETCELL
X(with FREE=false) for any of (T,X,Y) or its parents which are currently
Xunknown but are forced to be 0 or 1.
X
XCONSIS10(T,X,Y): Call CONSISFY for (T,X,Y) (provided that T>0) and for
Xeach of its 9 children (provided that T<TP). Report any 'inconsistency'
Xerror found by CONSISFY.
X
XAPPLYMAP(T,X,Y,VALUE): (Should not be called with VALUE = UNK.) If USEMAP
X= false, do nothing. Otherwise, if T = 0 or TP, call MAP or INVMAP. If
Xthe mapped cell is out of bounds, do nothing. Otherwise, call SETCELL for
Xthe mapped cell and VALUE, with FREE=false. Report any 'inconsistency'
Xerror found by SETCELL.
X
XSYMM(T,X,Y,VALUE): (Should not be called with VALUE = UNK.) This routine
Xdeals with symmetry, billiard tablicity, and other restrictions desired by
Xthe user. Separate versions of it exist for different situations. Each
Xone looks at T, X, Y, and VALUE, decides if any other cells are forced, and
Xcalls SETCELL for them, reporting any 'inconsistency' errors. (Suppose for
Xexample that we want a pattern to have 90 degree rotational symmetry. Then
XSYMM could compute the coordinates of the cell obtained by rotating (X,Y)
X90 degrees about the center of symmetry and call SETCELL for it. It is not
Xnecessary to do the same for the 180 and 270 degree
Xrotations; the higher levels of the program will take care of that.)
X
XEXAMNEXT: If NXSTNG = NWSTNG, report a 'full consistency achieved' error.
XOtherwise, get the values of T, X, Y, and VALUE pointed to by NXSTNG, and
Xincrement NXSTNG. Call APPLYMAP, SYMM, and CONSIS10, reporting any errors
Xfound by them. (If one of the routines gives an error, it's not necessary
Xto call the others.)
X
XPROCEED(T,X,Y,VALUE,FREE): Call SETCELL, reporting an 'inconsistency'
Xerror if it finds one. Otherwise, call EXAMNEXT repeatedly. Eventually,
Xit will report either an inconsistency or full consistency. In the first
Xcase, report it. In the second case, return without reporting an error.
XThis routine is called whenever we either make a free choice for a cell or
Xhave backed up to a free choice and now want to try the other value there;
Xit finds all the (direct or indirect) conclusions (or a contradiction) from
Xthe choice. It can also be called from the BASIC program to initialize
Xcertain cells. (Note: After BASIC has done such initialization, it can set
XNXSTNG and NWSTNG equal to STNG in order to save space; since we don't want
Xto back up over the initialized cells, we don't need to remember them in
Xthe setting list.)
X
XBACKUP: Undo all settings from NWSTNG back to (and including) the most
Xrecent free choice, changing their values in CELL back to UNK. If we back
Xup all the way to STNG, report an 'object does not exist' error. Otherwise,
Xmake NWSTNG and NXSTNG point to the free choice and return the values of T,
XX, Y, and VALUE from it. (This corresponds to repeated application of Step
X2 in the program outline above.)
X
XGO(T,X,Y,VALUE,FREE): [I ran out of good descriptive subroutine names.]
XCall PROCEED(T,X,Y,VALUE,FREE). If it returns without an error, then full
Xconsistency has been achieved; return without an error. Otherwise call
XBACKUP, reporting an 'object does not exist' error if BACKUP finds one.
XOtherwise, call PROCEED(T,X,Y,1-VALUE,false). Continue calling PROCEED and
XBACKUP alternately until either full consistency is achieved or an 'object
Xdoes not exist' error occurs. (This corresponds to repeated application of
XSteps 1 and 2 above.)
X
XGETUNK: Select an unknown cell. If none exist, report a no 'more unknown
Xcells' error. (This means that an object has been found.) Otherwise,
Xreturn the values of T, X, and Y. I won't describe this routine in detail
Xbecause I haven't determined the best way for it to make its choice. We'd
Xlike to choose cells which are most likely to reveal any previous bad
Xchoices. Choosing cells which are near recently chosen or forced cells is
Xa good idea, but there's a danger that we'll get stuck in one region and
Xnot notice that something chosen long ago was bad. Currently, I use a list
Xof all cells set up by the BASIC program and just choose the first unknown
Xone on the list. But even assuming that we're going to do it that way,
Xit's not clear how the list should be arranged. Usually I proceed up the
Xcolumns from left to right or down slope -1 diagonals from left to right.
X
XCHOOSE(T,X,Y): Return a value to be assigned to the currently unknown cell
X(T,X,Y), either 0 or 1. Again, I don't know the best way to do this. For
Xa complete search, it doesn't matter; both choices will eventually be
Xtried. For a partial search, it does. I usually choose 0 first, hoping
Xthat a small object will be found. Sometimes I choose 1 to prevent the
Xempty object from being found. Sometimes I look for an already chosen
Xvalue of CELL[T',X,Y], for T' not equal to T, and give CELL[T,X,Y] the same
Xvalue, hoping that a billiard table will be found. I can specify which of
Xthese methods will be used initially, and can change it in the middle of a
Xsearch.
X
XMAIN: This is the top level machine language routine which is called from
Xthe BASIC program. It searches until it either finds an object of the
Xdesired type, decides that there aren't any more, or is interrupted by the
Xuser. Specifically, it does this:
X
X Step 0: Call GETUNK. If it finds an unknown cell (T,X,Y), go to
X step 1. Otherwise, we've already found an object and want
X to look for another one. So call BACKUP. If it gives an
X 'object does not exist' error, report it. Otherwise,
X change VALUE to 1-VALUE, set FREE = false, and go to
X step 2.
X
X Step 1: Call CHOOSE to select a VALUE for the unknown cell, set
X FREE = true, and go to step 2.
X
X Step 2: Call GO(T,X,Y,VALUE,FREE). If it gives an 'object does not
X exist' error, report it. Otherwise, check to see if the
X user has typed a key. If so, return. (The user can then
X display the current contents of CELL to observe the
X progress of the search, and make some changes if desired.
X Calling MAIN again will continue the search.) If no key
X has been typed, go to step 3.
X
X Step 3: Call GETUNK. If it finds an unknown cell (T,X,Y), go to
X step 1. Otherwise, report that an object has been found.
X
X In addition to MAIN, the user can also call PROCEED and BACKUP; these
Xare sometimes useful for guiding a search in a promising direction.
X===========================================================================
XEND OF FILE
END_OF_xlife-2.0/doc/search_program
if test 22503 -ne `wc -c <xlife-2.0/doc/search_program`; then
echo shar: \"xlife-2.0/doc/search_program\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/patterns/alu.life -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"xlife-2.0/patterns/alu.life\"
else
echo shar: Extracting \"xlife-2.0/patterns/alu.life\" \(16641 characters\)
sed "s/^X//" >xlife-2.0/patterns/alu.life <<'END_OF_xlife-2.0/patterns/alu.life'
X 63 1
X 62 2
X 190 2
X 72 3
X 181 3
X 213 3
X 91 4
X 198 4
X 69 5
X 176 5
X 199 5
X 88 6
X 69 7
X 188 7
X 203 10
X 69 12
X 63 13
X 55 14
X 211 15
X 182 16
X 179 17
X 58 18
X 39 19
X 205 19
X 188 20
X 63 21
X 36 22
X 209 22
X 39 24
X 212 24
X 183 25
X 87 26
X 48 27
X 81 28
X 20 29
X 72 30
X 179 30
X 180 31
X 176 32
X 18 33
X 180 33
X 54 34
X 204 34
X 75 35
X 51 36
X 71 37
X 47 38
X 178 38
X 87 39
X 179 39
X 93 40
X 44 41
X 110 41
X 98 42
X 120 42
X 59 43
X 115 43
X 119 44
X 84 45
X 69 46
X 86 46
X 107 47
X 108 48
X 73 49
X 39 50
X 29 51
X 28 52
X 14 53
X 53 53
X 21 54
X 19 55
X 19 56
X 62 57
X 71 58
X 120 60
X 120 62
X 27 64
X 160 64
X 61 65
X 6 66
X 30 66
X 159 66
X 20 67
X 128 67
X 24 68
X 11 69
X 92 69
X 21 70
X 16 71
X 112 71
X 64 72
X 40 73
X 106 73
X 66 74
X 3 75
X 66 75
X 2 76
X 74 76
X 75 77
X 132 77
X 44 78
X 192 78
X 47 79
X 193 79
X 77 80
X 168 80
X 48 81
X 162 81
X 150 82
X 60 83
X 44 84
X 39 85
X 144 85
X 94 86
X 23 87
X 101 87
X 7 88
X 129 88
X 45 89
X 175 89
X 166 91
X 33 92
X 173 92
X 44 93
X 16 94
X 44 94
X 5 95
X 52 95
X 4 96
X 23 97
X 26 98
X 25 99
X 15 100
X 3 101
X 13 102
X 146 103
X 108 104
X 87 108
X 137 108
X 163 109
X 156 110
X 56 111
X 156 111
X 49 112
X 100 112
X 152 112
X 40 113
X 74 113
X 166 113
X 74 114
X 158 114
X 62 115
X 215 115
X 149 116
X 149 117
X 32 120
X 45 121
X 215 122
X 52 123
X 38 124
X 218 124
X 134 125
X 55 126
X 20 128
X 45 129
X 92 132
X 217 136
X 216 137
X 217 138
X 214 141
X 50 144
X 14 146
X 14 147
X 16 148
X 52 148
X 24 149
X 49 149
X 20 150
X 49 150
X 23 151
X 109 151
X 49 152
X 109 152
X 52 153
X 73 155
X 117 158
X 58 160
X 109 161
X 72 162
X 108 162
X 80 163
X 114 163
X 112 164
X 112 165
X 57 167
X 64 169
X 86 171
X 83 173
X 87 174
X 54 176
X 85 177
X 65 180
X 67 184
X 71 185
X 63 186
X 88 186
X 62 187
X 62 188
X 60 189
X 62 190
X 64 0
X 64 1
X 63 2
X197 2
X 73 3
X188 3
X 53 4
X175 4
X202 4
X 72 5
X177 5
X201 5
X178 6
X 72 7
X190 7
X 67 11
X202 12
X177 13
X 61 14
X212 15
X 26 17
X180 17
X 84 18
X 56 19
X 28 20
X189 20
X 65 21
X 39 22
X210 22
X 45 24
X 33 25
X206 25
X 89 26
X 81 27
X 82 28
X 72 29
X 85 30
X180 30
X181 31
X177 32
X 41 33
X204 33
X 62 34
X 25 35
X 90 35
X 53 36
X 72 37
X 72 38
X179 38
X 88 39
X195 39
X107 40
X 48 41
X115 41
X 99 42
X 18 43
X 79 43
X116 43
X128 44
X 96 45
X 70 46
X107 46
X108 47
X 27 49
X 16 50
X 44 50
X 30 51
X 29 52
X 20 53
X 85 53
X 27 54
X 44 55
X 44 56
X 63 57
X130 58
X121 60
X 4 63
X 28 64
X 5 65
X130 65
X 7 66
X 38 66
X 0 67
X 21 67
X132 67
X 27 68
X 13 69
X112 69
X 23 70
X 47 71
X 38 72
X 93 72
X 61 73
X114 73
X 76 74
X 7 75
X 75 75
X 3 76
X 79 76
X 76 77
X133 77
X 46 78
X 4 79
X129 79
X 5 80
X128 80
X169 80
X 60 81
X171 81
X151 82
X 86 83
X 45 84
X 40 85
X145 85
X143 86
X 24 87
X109 87
X 8 88
X142 88
X 46 89
X176 89
X167 91
X 34 92
X174 92
X 45 93
X 17 94
X 52 94
X 17 95
X128 95
X 15 96
X 27 97
X138 98
X160 99
X 22 100
X 4 101
X107 102
X168 103
X145 104
X 99 108
X 52 109
X239 109
X163 110
X 57 111
X164 111
X 50 112
X101 112
X153 112
X 41 113
X 75 113
X174 113
X 75 114
X163 114
X116 115
X216 115
X171 116
X171 117
X 45 120
X213 121
X 27 123
X 53 123
X 39 124
X 22 125
X213 125
X133 126
X 21 128
X220 129
X 93 133
X 17 137
X217 137
X218 138
X215 141
X 51 144
X 28 146
X 28 147
X 24 148
X 59 148
X 28 149
X 50 149
X 21 150
X 50 150
X 32 151
X111 151
X 50 152
X 21 153
X 71 153
X 74 156
X118 158
X 59 160
X110 161
X 84 162
X110 162
X 81 163
X126 163
X113 164
X 85 166
X 87 167
X 65 169
X 54 172
X 84 173
X 88 174
X 84 176
X 51 178
X 66 180
X 78 184
X 77 185
X 67 186
X 89 186
X 77 187
X 71 188
X 61 189
X 63 190
X 65 0
X 65 1
X 79 2
X 198 2
X 74 3
X 190 3
X 54 4
X 187 4
X 212 4
X 80 5
X 186 5
X 64 6
X 187 6
X 79 7
X 69 8
X 68 11
X 203 12
X 178 13
X 62 14
X 84 16
X 27 17
X 181 17
X 88 18
X 57 19
X 29 20
X 203 20
X 189 21
X 55 22
X 36 23
X 46 24
X 38 25
X 207 25
X 182 26
X 83 27
X 85 28
X 73 29
X 86 30
X 15 31
X 206 31
X 178 32
X 60 33
X 205 33
X 73 34
X 27 35
X 178 35
X 189 36
X 106 37
X 87 38
X 194 38
X 107 39
X 196 39
X 110 40
X 91 41
X 116 41
X 106 42
X 19 43
X 80 43
X 120 43
X 129 44
X 97 45
X 71 46
X 109 46
X 130 47
X 28 49
X 17 50
X 69 50
X 44 51
X 45 52
X 21 53
X 86 53
X 45 54
X 46 55
X 64 56
X 64 57
X 131 58
X 83 61
X 5 63
X 61 64
X 7 65
X 132 65
X 14 66
X 39 66
X 1 67
X 22 67
X 133 67
X 28 68
X 14 69
X 113 69
X 48 70
X 63 71
X 39 72
X 94 72
X 62 73
X 28 74
X 77 74
X 8 75
X 78 75
X 7 76
X 101 76
X 77 77
X 192 77
X 129 78
X 5 79
X 130 79
X 16 80
X 129 80
X 170 80
X 61 81
X 16 82
X 170 82
X 87 83
X 58 84
X 43 85
X 149 85
X 145 86
X 25 87
X 110 87
X 25 88
X 143 88
X 100 89
X 2 90
X 168 91
X 40 92
X 0 93
X 51 93
X 22 94
X 53 94
X 22 95
X 129 95
X 17 96
X 28 97
X 139 98
X 170 99
X 24 100
X 13 101
X 114 102
X 169 103
X 147 104
X 100 108
X 98 109
X 51 110
X 165 110
X 63 111
X 166 111
X 51 112
X 102 112
X 156 112
X 50 113
X 137 113
X 175 113
X 137 114
X 165 114
X 144 115
X 61 116
X 215 116
X 172 117
X 214 120
X 217 121
X 28 123
X 212 123
X 40 124
X 23 125
X 217 125
X 134 126
X 39 128
X 221 129
X 92 134
X 18 137
X 218 137
X 19 139
X 219 141
X 101 144
X 31 146
X 39 147
X 27 148
X 61 148
X 29 149
X 51 149
X 22 150
X 51 150
X 33 151
X 20 152
X 51 152
X 22 153
X 86 153
X 61 157
X 128 158
X 71 160
X 111 161
X 85 162
X 112 162
X 103 163
X 129 163
X 128 164
X 86 166
X 54 168
X 53 170
X 58 172
X 85 173
X 83 175
X 85 176
X 52 178
X 66 181
X 80 184
X 81 185
X 68 186
X 90 186
X 81 187
X 72 188
X 62 189
X 86 190
X 87 0
X 87 1
X 85 2
X 202 2
X 79 3
X 195 3
X 60 4
X 188 4
X 213 4
X 83 5
X 187 5
X 65 6
X 188 6
X 81 7
X 70 8
X 201 11
X 214 12
X 182 13
X 177 14
X 85 16
X 83 17
X 17 18
X 17 19
X 58 19
X 37 20
X 204 20
X 190 21
X 59 22
X 56 23
X 88 24
X 39 25
X 211 25
X 183 26
X 86 27
X 91 28
X 88 29
X 90 30
X 19 31
X 207 31
X 179 32
X 61 33
X 206 33
X 89 34
X 40 35
X 188 35
X 18 37
X 194 37
X 88 38
X 19 39
X 108 39
X 197 39
X 117 40
X 92 41
X 120 41
X 107 42
X 20 43
X 90 43
X 59 44
X 59 45
X 118 45
X 72 46
X 130 46
X 131 47
X 38 49
X 23 50
X 70 50
X 46 51
X 47 52
X 27 53
X 90 53
X 47 54
X 63 55
X 87 56
X 69 57
X 70 59
X 84 61
X 27 63
X 130 64
X 15 65
X 134 65
X 15 66
X 131 66
X 2 67
X 28 67
X 134 67
X 127 68
X 20 69
X 127 69
X 49 70
X 92 71
X 40 72
X 101 72
X 63 73
X 30 74
X 103 74
X 29 75
X 103 75
X 8 76
X 102 76
X 78 77
X 193 77
X 130 78
X 6 79
X 131 79
X 42 80
X 133 80
X 16 81
X 76 81
X 17 82
X 171 82
X 147 83
X 85 84
X 44 85
X 151 85
X 150 86
X 44 87
X 128 87
X 47 88
X 170 88
X 126 89
X 3 90
X 172 91
X 41 92
X 6 93
X 150 93
X 24 94
X 128 94
X 25 95
X 136 95
X 25 96
X 137 97
X 161 98
X 171 99
X 113 100
X 114 101
X 43 103
X 173 103
X 145 105
X 101 108
X 105 109
X 52 110
X 237 110
X 98 111
X 173 111
X 56 112
X 103 112
X 164 112
X 51 113
X 138 113
X 176 113
X 138 114
X 169 114
X 146 115
X 63 116
X 216 116
X 42 118
X 215 120
X 28 122
X 29 123
X 218 123
X 42 124
X 31 125
X 21 126
X 214 126
X 40 128
X 45 130
X 93 134
X 19 137
X 20 138
X 20 139
X 220 141
X 49 145
X 40 146
X 41 147
X 31 148
X 15 149
X 31 149
X 52 149
X 23 150
X 109 150
X 39 151
X 21 152
X 68 152
X 23 153
X 87 153
X 72 157
X 129 158
X 111 160
X 112 161
X 87 162
X 113 162
X 104 163
X 79 164
X 129 164
X 88 166
X 58 168
X 59 170
X 83 172
X 86 173
X 84 175
X 86 176
X 53 178
X 68 181
X 87 184
X 82 185
X 70 186
X 52 187
X 82 187
X 78 188
X 79 189
X 63 191
X 88 0
X 179 1
X 87 2
X 53 3
X 81 3
X 196 3
X 62 4
X 189 4
X 63 5
X 89 5
X 188 5
X 68 6
X 189 6
X 88 7
X 79 8
X 203 11
X 52 13
X 183 13
X 183 14
X 86 16
X 85 17
X 18 18
X 18 19
X 85 19
X 39 20
X 209 20
X 204 21
X 64 22
X 57 23
X 183 24
X 45 25
X 212 25
X 32 27
X 87 27
X 178 28
X 177 29
X 91 30
X 59 31
X 16 32
X 180 32
X 62 33
X 27 34
X 177 34
X 41 35
X 189 35
X 19 37
X 195 37
X 106 38
X 48 39
X 109 39
X 16 40
X 119 40
X 93 41
X 17 42
X 108 42
X 45 43
X 91 43
X 79 44
X 61 45
X 128 45
X 77 46
X 70 47
X 27 48
X 39 49
X 24 50
X 71 50
X 69 51
X 52 52
X 28 53
X 91 53
X 87 54
X 86 55
X 89 56
X 71 57
X 85 59
X 85 61
X 58 63
X 131 64
X 16 65
X 136 65
X 16 66
X 132 66
X 11 67
X 29 67
X 3 68
X 129 68
X 24 69
X 14 70
X 50 70
X 94 71
X 47 72
X 102 72
X 64 73
X 39 74
X 106 74
X 30 75
X 104 75
X 29 76
X 103 76
X 101 77
X 194 77
X 132 78
X 43 79
X 132 79
X 43 80
X 134 80
X 18 81
X 77 81
X 37 82
X 37 83
X 148 83
X 87 84
X 46 85
X 159 85
X 157 86
X 92 87
X 129 87
X 100 88
X 171 88
X 127 89
X 4 90
X 173 91
X 45 92
X 33 93
X 152 93
X 31 94
X 130 94
X 31 95
X 137 95
X 26 96
X 139 97
X 162 98
X 172 99
X 115 100
X 115 101
X 44 103
X 174 103
X 87 106
X 102 108
X 135 109
X 97 110
X 238 110
X 105 111
X 174 111
X 57 112
X 104 112
X 167 112
X 56 113
X 144 113
X 51 114
X 144 114
X 170 114
X 147 115
X 116 116
X 63 117
X 43 118
X 216 120
X 29 122
X 35 123
X 28 124
X 43 124
X 32 125
X 23 126
X 215 126
X 219 128
X 219 130
X 17 136
X 51 137
X 52 138
X 214 140
X 50 143
X 51 145
X 61 146
X 61 147
X 32 148
X 16 149
X 33 149
X 59 149
X 38 150
X 110 150
X 41 151
X 22 152
X 69 152
X 24 153
X 24 154
X 59 158
X 58 159
X 117 160
X 125 161
X 89 162
X 125 162
X 107 163
X 84 164
X 80 165
X 89 166
X 63 168
X 63 170
X 87 172
X 87 173
X 85 175
X 54 177
X 59 178
X 68 182
X 88 184
X 87 185
X 72 186
X 53 187
X 90 187
X 80 188
X 84 189
X 86 191
X 178 0
X 199 1
X 179 2
X 54 3
X 85 3
X 198 3
X 63 4
X 194 4
X 64 5
X 90 5
X 193 5
X 72 6
X 194 6
X 89 7
X 189 8
X 52 12
X 53 13
X 212 13
X 211 14
X 87 16
X 86 17
X 27 18
X 27 19
X 86 19
X 55 20
X 36 21
X 208 21
X 65 22
X 58 23
X 206 24
X 47 25
X 34 26
X 33 27
X 89 27
X 14 29
X 178 29
X 176 30
X 60 31
X 17 32
X 207 32
X 74 33
X 39 34
X 179 34
X 53 35
X 19 36
X 20 37
X 17 38
X 107 38
X 69 39
X 110 39
X 22 40
X 197 40
X 107 41
X 21 42
X 109 42
X 46 43
X 97 43
X 85 44
X 69 45
X 130 45
X 78 46
X 71 47
X 38 48
X 70 49
X 28 50
X 72 50
X 14 52
X 53 52
X 45 53
X 112 53
X 88 54
X 90 55
X 128 56
X 88 57
X 86 59
X 119 61
X 59 63
X 135 64
X 28 65
X 158 65
X 20 66
X 133 66
X 13 67
X 38 67
X 11 68
X 133 68
X 27 69
X 15 70
X 92 70
X 101 71
X 48 72
X 103 72
X 65 73
X 60 74
X 114 74
X 60 75
X 106 75
X 44 76
X 130 76
X 102 77
X 4 78
X 133 78
X 44 79
X 133 79
X 47 80
X 150 80
X 42 81
X 149 81
X 38 82
X 39 83
X 150 83
X 148 84
X 47 85
X 7 86
X 158 86
X 93 87
X 143 87
X 101 88
X 175 88
X 128 89
X 126 90
X 174 91
X 46 92
X 41 93
X 167 93
X 33 94
X 150 94
X 32 95
X 151 95
X 129 96
X 160 97
X 14 99
X 3 100
X 170 100
X 169 101
X 108 103
X 43 104
X 88 106
X 103 108
X 136 109
X 106 110
X 239 110
X 148 111
X 236 111
X 61 112
X 147 112
X 173 112
X 57 113
X 146 113
X 52 114
X 147 114
X 176 114
X 163 115
X 117 116
X 115 117
X 44 119
X 31 121
X 35 122
X 38 123
X 29 124
X 52 124
X 37 125
X 31 126
X 216 126
X 220 128
X 90 131
X 53 136
X 53 137
X 53 138
X 215 140
X 101 143
X 86 145
X 62 146
X 85 147
X 38 148
X 21 149
X 38 149
X 60 149
X 42 150
X 216 150
X 48 151
X 23 152
X 70 152
X 49 153
X 52 154
X 60 158
X 116 159
X 125 160
X 137 161
X 90 162
X 137 162
X 110 163
X 90 164
X 109 165
X 111 166
X 64 168
X 85 170
X 55 173
X 56 174
X 86 175
X 59 177
X 51 179
X 69 182
X 63 185
X 60 186
X 77 186
X 59 187
X 52 188
X 84 188
X 86 189
X 87 191
X 179 0
X 201 1
X 181 2
X 60 3
X 86 3
X 202 3
X 80 4
X 195 4
X 65 5
X 91 5
X 196 5
X 80 6
X 195 6
X 177 7
X 190 8
X 61 12
X 54 13
X 213 13
X 54 15
X 88 16
X 87 17
X 56 18
X 29 19
X 87 19
X 59 20
X 54 21
X 209 21
X 188 22
X 64 23
X 207 24
X 88 25
X 47 26
X 34 27
X 90 27
X 15 29
X 179 29
X 177 30
X 175 31
X 18 32
X 16 33
X 89 33
X 41 34
X 188 34
X 73 35
X 26 36
X 51 37
X 21 38
X 108 38
X 70 39
X 118 39
X 48 40
X 16 41
X 108 41
X 44 42
X 115 42
X 47 43
X 99 43
X 97 44
X 77 45
X 60 46
X 84 46
X 72 47
X 70 48
X 71 49
X 29 50
X 17 51
X 15 52
X 112 52
X 48 53
X 114 53
X 89 54
X 128 55
X 129 56
X 131 57
X 86 60
X 58 62
X 60 63
X 136 64
X 29 65
X 159 65
X 28 66
X 134 66
X 14 67
X 39 67
X 14 68
X 2 69
X 50 69
X 16 70
X 112 70
X 102 71
X 62 72
X 110 72
X 103 73
X 62 74
X 115 74
X 61 75
X 113 75
X 45 76
X 131 76
X 129 77
X 5 78
X 163 78
X 45 79
X 163 79
X 48 80
X 161 80
X 43 81
X 151 81
X 61 82
X 58 83
X 151 83
X 150 84
X 87 85
X 44 86
X 8 87
X 94 87
X 158 87
X 109 88
X 176 88
X 170 89
X 1 91
X 0 92
X 166 92
X 42 93
X 173 93
X 42 94
X 151 94
X 43 95
X 2 96
X 137 96
X 161 97
X 15 99
X 4 100
X 171 100
X 173 101
X 109 103
X 44 104
X 88 107
X 104 108
X 153 109
X 136 110
X 50 111
X 149 111
X 40 112
X 63 112
X 148 112
X 236 112
X 60 113
X 147 113
X 59 114
X 156 114
X 52 115
X 169 115
X 147 116
X 117 117
X 215 119
X 32 121
X 36 122
X 39 123
X 36 124
X 54 124
X 54 125
X 32 126
X 21 127
X 40 129
X 90 132
X 57 136
X 58 137
X 57 138
X 219 140
X 102 143
X 102 145
X 86 146
X 87 147
X 42 148
X 22 149
X 42 149
X 216 149
X 43 150
X 217 150
X 51 151
X 40 152
X 86 152
X 50 153
X 70 154
X 61 158
X 126 159
X 71 161
X 138 161
X 103 162
X 138 162
X 112 163
X 108 164
X 110 165
X 55 167
X 53 169
X 56 171
X 56 173
X 82 174
X 87 175
X 60 177
X 60 179
X 70 183
X 66 185
X 61 186
X 81 186
X 60 187
X 53 188
X 85 188
X 60 190
X 200 0
X 60 2
X 189 2
X 63 3
X 180 3
X 212 3
X 82 4
X 196 4
X 68 5
X 175 5
X 197 5
X 82 6
X 200 6
X 178 7
X 68 10
X 67 12
X 61 13
X 214 13
X 55 15
X 178 16
X 89 17
X 57 18
X 38 19
X 203 19
X 86 20
X 60 21
X 210 21
X 208 22
X 37 24
X 211 24
X 181 25
X 81 26
X 47 27
X 71 28
X 19 29
X 71 30
X 178 30
X 176 31
X 59 32
X 17 33
X 176 33
X 53 34
X 190 34
X 74 35
X 27 36
X 52 37
X 46 38
X 109 38
X 71 39
X 178 39
X 69 40
X 22 41
X 109 41
X 90 42
X 116 42
X 58 43
X 106 43
X 117 44
X 79 45
X 61 46
X 85 46
X 73 47
X 73 48
X 72 49
X 37 50
X 28 51
X 16 52
X 113 52
X 52 53
X 19 54
X 112 54
X 18 56
X 130 56
X 70 58
X 119 60
X 83 62
X 5 64
X 158 64
X 60 65
X 0 66
X 29 66
X 135 66
X 19 67
X 127 67
X 19 68
X 3 69
X 91 69
X 20 70
X 15 71
X 110 71
X 63 72
X 111 72
X 104 73
X 64 74
X 2 75
X 65 75
X 115 75
X 46 76
X 132 76
X 130 77
X 6 78
X 164 78
X 46 79
X 168 79
X 76 80
X 163 80
X 47 81
X 161 81
X 148 82
X 59 83
X 39 84
X 151 84
X 93 85
X 47 86
X 9 87
X 99 87
X 159 87
X 110 88
X 24 89
X 171 89
X 5 91
X 6 92
X 172 92
X 43 93
X 3 94
X 43 94
X 1 95
X 51 95
X 3 96
X 3 97
X 25 98
X 22 99
X 13 100
X 172 100
X 12 102
X 145 103
X 107 104
X 89 107
X 135 108
X 154 109
X 153 110
X 51 111
X 152 111
X 41 112
X 99 112
X 149 112
X 237 112
X 62 113
X 164 113
X 62 114
X 157 114
X 60 115
X 171 115
X 148 116
X 148 117
X 31 120
X 37 121
X 45 122
X 44 123
X 37 124
X 212 124
X 133 125
X 54 126
X 41 127
X 41 129
X 91 132
X 58 136
X 59 137
X 216 138
X 220 140
X 103 143
X 13 146
X 87 146
X 14 148
X 43 148
X 23 149
X 43 149
X 217 149
X 48 150
X 20 151
X 68 151
X 48 152
X 87 152
X 51 153
X 70 155
X 116 158
X 129 159
X 72 161
X 70 162
X 104 162
X 79 163
X 113 163
X 110 164
X 111 165
X 56 167
X 59 169
X 84 171
X 57 173
X 83 174
X 53 176
X 61 177
X 67 179
X 79 183
X 70 185
X 62 186
X 82 186
X 61 187
X 59 188
X 59 189
X 61 190
END_OF_xlife-2.0/patterns/alu.life
if test 16641 -ne `wc -c <xlife-2.0/patterns/alu.life`; then
echo shar: \"xlife-2.0/patterns/alu.life\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f xlife-2.0/patterns/blockpusher.life -a "${1}" != "-c" ; then
echo shar: Will not over-write existing file \"xlife-2.0/patterns/blockpusher.life\"
else
echo shar: Extracting \"xlife-2.0/patterns/blockpusher.life\" \(23036 characters\)
sed "s/^X//" >xlife-2.0/patterns/blockpusher.life <<'END_OF_xlife-2.0/patterns/blockpusher.life'
X#R
X-237 -274
X-236 -274
X-236 -273
X-236 -272
X-234 -272
X-235 -271
X-234 -271
X-239 -264
X-238 -264
X-239 -263
X-249 -262
X-247 -262
X-241 -262
X-239 -262
X-225 -262
X-224 -262
X-223 -262
X-250 -261
X-247 -261
X-241 -261
X-240 -261
X-225 -261
X-260 -260
X-251 -260
X-250 -260
X-224 -260
X-261 -259
X-259 -259
X-253 -259
X-252 -259
X-248 -259
X-273 -258
X-272 -258
X-261 -258
X-260 -258
X-258 -258
X-251 -258
X-250 -258
X-237 -258
X-236 -258
X-273 -257
X-272 -257
X-261 -257
X-260 -257
X-258 -257
X-257 -257
X-250 -257
X-247 -257
X-236 -257
X-235 -257
X-156 -257
X-155 -257
X-261 -256
X-260 -256
X-258 -256
X-249 -256
X-247 -256
X-237 -256
X-155 -256
X-261 -255
X-259 -255
X-155 -255
X-153 -255
X-260 -254
X-250 -254
X-154 -254
X-153 -254
X-249 -253
X-251 -252
X-250 -252
X-249 -252
X-210 -247
X-209 -247
X-208 -247
X-158 -247
X-157 -247
X-242 -246
X-210 -246
X-158 -246
X-244 -245
X-242 -245
X-209 -245
X-167 -245
X-166 -245
X-160 -245
X-158 -245
X-243 -244
X-242 -244
X-168 -244
X-166 -244
X-160 -244
X-159 -244
X-222 -243
X-221 -243
X-183 -243
X-181 -243
X-169 -243
X-221 -242
X-220 -242
X-183 -242
X-180 -242
X-169 -242
X-166 -242
X-156 -242
X-222 -241
X-192 -241
X-191 -241
X-180 -241
X-179 -241
X-169 -241
X-156 -241
X-154 -241
X-192 -240
X-191 -240
X-182 -240
X-178 -240
X-177 -240
X-168 -240
X-166 -240
X-156 -240
X-155 -240
X-202 -239
X-201 -239
X-180 -239
X-179 -239
X-167 -239
X-166 -239
X-183 -238
X-180 -238
X-171 -238
X-183 -237
X-181 -237
X-170 -237
X-169 -237
X-171 -236
X-170 -236
X-201 -235
X-199 -235
X-201 -234
X-200 -234
X-200 -233
X-195 -232
X-194 -232
X-193 -232
X-227 -231
X-195 -231
X-229 -230
X-227 -230
X-194 -230
X-184 -230
X-164 -230
X-162 -230
X-234 -229
X-233 -229
X-228 -229
X-227 -229
X-185 -229
X-183 -229
X-163 -229
X-162 -229
X-127 -229
X-126 -229
X-235 -228
X-232 -228
X-197 -228
X-195 -228
X-186 -228
X-184 -228
X-183 -228
X-163 -228
X-128 -228
X-127 -228
X-235 -227
X-197 -227
X-194 -227
X-187 -227
X-186 -227
X-184 -227
X-183 -227
X-172 -227
X-171 -227
X-141 -227
X-126 -227
X-235 -226
X-194 -226
X-193 -226
X-186 -226
X-184 -226
X-183 -226
X-172 -226
X-171 -226
X-141 -226
X-139 -226
X-235 -225
X-233 -225
X-196 -225
X-192 -225
X-191 -225
X-185 -225
X-183 -225
X-141 -225
X-140 -225
X-235 -224
X-233 -224
X-194 -224
X-193 -224
X-184 -224
X-234 -223
X-204 -223
X-203 -223
X-197 -223
X-194 -223
X-156 -223
X-205 -222
X-203 -222
X-197 -222
X-195 -222
X-155 -222
X-154 -222
X-205 -221
X-156 -221
X-155 -221
X-237 -220
X-236 -220
X-232 -220
X-231 -220
X-206 -220
X-205 -220
X-237 -219
X-231 -219
X-236 -217
X-232 -217
X-203 -217
X-202 -217
X-182 -217
X-181 -217
X-235 -216
X-234 -216
X-233 -216
X-212 -216
X-202 -216
X-182 -216
X-214 -215
X-212 -215
X-202 -215
X-200 -215
X-194 -215
X-193 -215
X-184 -215
X-182 -215
X-149 -215
X-147 -215
X-213 -214
X-212 -214
X-201 -214
X-200 -214
X-196 -214
X-192 -214
X-184 -214
X-183 -214
X-148 -214
X-147 -214
X-112 -214
X-111 -214
X-197 -213
X-191 -213
X-148 -213
X-113 -213
X-112 -213
X-101 -213
X-99 -213
X-198 -212
X-197 -212
X-195 -212
X-191 -212
X-111 -212
X-102 -212
X-99 -212
X-197 -211
X-191 -211
X-116 -211
X-115 -211
X-103 -211
X-102 -211
X-196 -210
X-192 -210
X-116 -210
X-114 -210
X-105 -210
X-104 -210
X-100 -210
X-91 -210
X-90 -210
X-237 -209
X-202 -209
X-201 -209
X-194 -209
X-193 -209
X-113 -209
X-103 -209
X-102 -209
X-91 -209
X-90 -209
X-86 -209
X-85 -209
X-237 -208
X-235 -208
X-203 -208
X-201 -208
X-116 -208
X-113 -208
X-102 -208
X-99 -208
X-86 -208
X-85 -208
X-237 -207
X-236 -207
X-201 -207
X-113 -207
X-101 -207
X-99 -207
X-123 -206
X-122 -206
X-116 -206
X-114 -206
X-232 -205
X-124 -205
X-122 -205
X-116 -205
X-115 -205
X-233 -204
X-232 -204
X-231 -204
X-124 -204
X-234 -203
X-233 -203
X-232 -203
X-231 -203
X-230 -203
X-125 -203
X-124 -203
X-244 -202
X-235 -202
X-234 -202
X-230 -202
X-229 -202
X-135 -202
X-134 -202
X-133 -202
X-245 -201
X-234 -201
X-233 -201
X-232 -201
X-231 -201
X-230 -201
X-133 -201
X-245 -200
X-244 -200
X-243 -200
X-234 -200
X-230 -200
X-134 -200
X-88 -200
X-87 -200
X-83 -200
X-82 -200
X-233 -199
X-231 -199
X-88 -199
X-87 -199
X-83 -199
X-82 -199
X-232 -198
X-231 -198
X-230 -198
X-109 -198
X-87 -198
X-86 -198
X-85 -198
X-84 -198
X-83 -198
X-230 -197
X-229 -197
X-110 -197
X-109 -197
X-108 -197
X-86 -197
X-84 -197
X-230 -196
X-229 -195
X-228 -195
X-227 -195
X-86 -195
X-85 -195
X-84 -195
X-227 -194
X-110 -194
X-109 -194
X-108 -194
X-232 -193
X-233 -192
X-232 -192
X-110 -192
X-108 -192
X-233 -191
X-231 -191
X-110 -191
X-108 -191
X-110 -189
X-109 -189
X-108 -189
X-82 -189
X-81 -188
X-259 -187
X-83 -187
X-82 -187
X-81 -187
X-260 -186
X-182 -186
X-110 -186
X-109 -186
X-108 -186
X-87 -186
X-260 -185
X-259 -185
X-258 -185
X-184 -185
X-182 -185
X-119 -185
X-117 -185
X-109 -185
X-88 -185
X-87 -185
X-86 -185
X-183 -184
X-182 -184
X-118 -184
X-117 -184
X-89 -184
X-88 -184
X-87 -184
X-86 -184
X-85 -184
X-221 -183
X-220 -183
X-171 -183
X-118 -183
X-90 -183
X-89 -183
X-85 -183
X-84 -183
X-221 -182
X-220 -182
X-170 -182
X-169 -182
X-111 -182
X-110 -182
X-171 -181
X-170 -181
X-111 -181
X-109 -181
X-111 -180
X-86 -180
X-232 -179
X-231 -179
X-164 -179
X-86 -179
X-233 -178
X-231 -178
X-166 -178
X-164 -178
X-231 -177
X-165 -177
X-164 -177
X-90 -177
X-89 -177
X 74 -177
X 75 -177
X-89 -176
X 75 -176
X-92 -175
X-91 -175
X-90 -175
X 75 -175
X 77 -175
X-224 -174
X-223 -174
X-219 -174
X-218 -174
X-92 -174
X-67 -174
X 76 -174
X 77 -174
X-244 -173
X-224 -173
X-223 -173
X-219 -173
X-218 -173
X-66 -173
X-243 -172
X-242 -172
X-223 -172
X-222 -172
X-221 -172
X-220 -172
X-219 -172
X-68 -172
X-67 -172
X-66 -172
X-244 -171
X-243 -171
X-240 -171
X-239 -171
X-238 -171
X-222 -171
X-220 -171
X-238 -170
X-239 -169
X-222 -169
X-221 -169
X-220 -169
X 72 -167
X 73 -167
X-279 -166
X-278 -166
X-94 -166
X 72 -166
X-278 -165
X-94 -165
X-93 -165
X 63 -165
X 64 -165
X 70 -165
X 72 -165
X-281 -164
X-280 -164
X-279 -164
X-247 -164
X-246 -164
X-95 -164
X-93 -164
X 62 -164
X 64 -164
X 70 -164
X 71 -164
X-281 -163
X-248 -163
X-246 -163
X-224 -163
X 47 -163
X 49 -163
X 61 -163
X-271 -162
X-246 -162
X-225 -162
X 47 -162
X 50 -162
X 61 -162
X 64 -162
X 74 -162
X-271 -161
X-270 -161
X-269 -161
X-225 -161
X-224 -161
X-223 -161
X 38 -161
X 39 -161
X 50 -161
X 51 -161
X 61 -161
X 74 -161
X 76 -161
X-268 -160
X-219 -160
X-68 -160
X 38 -160
X 39 -160
X 48 -160
X 52 -160
X 53 -160
X 62 -160
X 64 -160
X 74 -160
X 75 -160
X-269 -159
X-268 -159
X-220 -159
X-219 -159
X-218 -159
X-70 -159
X-69 -159
X 50 -159
X 51 -159
X 63 -159
X 64 -159
X-268 -158
X-267 -158
X-266 -158
X-259 -158
X-221 -158
X-220 -158
X-219 -158
X-218 -158
X-217 -158
X-69 -158
X-68 -158
X 47 -158
X 50 -158
X 59 -158
X-267 -157
X-265 -157
X-258 -157
X-257 -157
X-222 -157
X-221 -157
X-217 -157
X-216 -157
X 47 -157
X 49 -157
X 60 -157
X 61 -157
X-268 -156
X-264 -156
X-259 -156
X-258 -156
X-255 -156
X-254 -156
X-253 -156
X-196 -156
X-195 -156
X-152 -156
X 59 -156
X 60 -156
X-268 -155
X-267 -155
X-266 -155
X-265 -155
X-264 -155
X-253 -155
X-197 -155
X-195 -155
X-154 -155
X-152 -155
X-269 -154
X-268 -154
X-264 -154
X-263 -154
X-254 -154
X-220 -154
X-195 -154
X-153 -154
X-152 -154
X-268 -153
X-267 -153
X-266 -153
X-265 -153
X-264 -153
X-220 -153
X-141 -153
X-267 -152
X-266 -152
X-265 -152
X-140 -152
X-139 -152
X-81 -152
X-80 -152
X-266 -151
X-217 -151
X-216 -151
X-141 -151
X-140 -151
X-81 -151
X-79 -151
X-217 -150
X-81 -150
X 66 -150
X 68 -150
X-262 -149
X-261 -149
X-216 -149
X-215 -149
X-214 -149
X-134 -149
X 67 -149
X 68 -149
X103 -149
X104 -149
X-263 -148
X-261 -148
X-239 -148
X-214 -148
X-136 -148
X-134 -148
X 67 -148
X102 -148
X103 -148
X-261 -147
X-240 -147
X-135 -147
X-134 -147
X 89 -147
X104 -147
X-240 -146
X-239 -146
X-238 -146
X-41 -146
X-40 -146
X 89 -146
X 91 -146
X-53 -145
X-41 -145
X 89 -145
X 90 -145
X-74 -144
X-73 -144
X-72 -144
X-55 -144
X-54 -144
X-40 -144
X-39 -144
X-38 -144
X-74 -143
X-54 -143
X-53 -143
X-38 -143
X 74 -143
X-73 -142
X-48 -142
X 75 -142
X 76 -142
X-50 -141
X-49 -141
X-48 -141
X 74 -141
X 75 -141
X-265 -140
X-264 -140
X-263 -140
X-212 -140
X-51 -140
X-266 -139
X-262 -139
X-213 -139
X-212 -139
X-51 -139
X-50 -139
X-213 -138
X-211 -138
X-267 -137
X-261 -137
X-66 -137
X-65 -137
X-54 -137
X-267 -136
X-266 -136
X-262 -136
X-261 -136
X-66 -136
X-64 -136
X-54 -136
X-66 -135
X 81 -135
X 83 -135
X-238 -134
X 82 -134
X 83 -134
X118 -134
X119 -134
X-264 -133
X-237 -133
X-236 -133
X-56 -133
X-55 -133
X-51 -133
X-50 -133
X 82 -133
X117 -133
X118 -133
X129 -133
X131 -133
X-265 -132
X-263 -132
X-238 -132
X-237 -132
X-55 -132
X-54 -132
X-53 -132
X-52 -132
X-51 -132
X119 -132
X128 -132
X131 -132
X-265 -131
X-263 -131
X-54 -131
X-53 -131
X-52 -131
X114 -131
X115 -131
X127 -131
X128 -131
X-263 -130
X-53 -130
X114 -130
X116 -130
X125 -130
X126 -130
X130 -130
X139 -130
X140 -130
X-263 -129
X-59 -129
X-58 -129
X-57 -129
X117 -129
X127 -129
X128 -129
X139 -129
X140 -129
X144 -129
X145 -129
X-266 -128
X-263 -128
X-59 -128
X114 -128
X117 -128
X128 -128
X131 -128
X144 -128
X145 -128
X-265 -127
X-264 -127
X-58 -127
X117 -127
X129 -127
X131 -127
X-226 -126
X-225 -126
X-122 -126
X107 -126
X108 -126
X114 -126
X116 -126
X-227 -125
X-225 -125
X-124 -125
X-122 -125
X106 -125
X108 -125
X114 -125
X115 -125
X-225 -124
X-123 -124
X-122 -124
X106 -124
X-111 -123
X105 -123
X106 -123
X-110 -122
X-109 -122
X 95 -122
X 96 -122
X 97 -122
X-111 -121
X-110 -121
X-56 -121
X-55 -121
X-54 -121
X 97 -121
X-266 -120
X-265 -120
X 96 -120
X142 -120
X143 -120
X147 -120
X148 -120
X-265 -119
X-253 -119
X-104 -119
X-56 -119
X-54 -119
X142 -119
X143 -119
X147 -119
X148 -119
X-268 -118
X-267 -118
X-266 -118
X-252 -118
X-251 -118
X-234 -118
X-233 -118
X-232 -118
X-106 -118
X-104 -118
X-57 -118
X-56 -118
X-55 -118
X-54 -118
X-53 -118
X121 -118
X143 -118
X144 -118
X145 -118
X146 -118
X147 -118
X-268 -117
X-253 -117
X-252 -117
X-232 -117
X-105 -117
X-104 -117
X-58 -117
X-57 -117
X-53 -117
X-52 -117
X120 -117
X121 -117
X122 -117
X144 -117
X146 -117
X-258 -116
X-233 -116
X-58 -116
X-57 -116
X-53 -116
X-52 -116
X-258 -115
X-257 -115
X-256 -115
X144 -115
X145 -115
X146 -115
X-255 -114
X-99 -114
X120 -114
X121 -114
X122 -114
X-256 -113
X-255 -113
X-101 -113
X-99 -113
X-100 -112
X-99 -112
X120 -112
X122 -112
X-252 -111
X-241 -111
X-240 -111
X120 -111
X122 -111
X-252 -110
X-242 -110
X-240 -110
X-240 -109
X120 -109
X121 -109
X122 -109
X148 -109
X-55 -108
X-54 -108
X149 -108
X-256 -107
X-255 -107
X-251 -107
X-250 -107
X-55 -107
X-54 -107
X147 -107
X148 -107
X149 -107
X-255 -106
X-254 -106
X-253 -106
X-252 -106
X-251 -106
X120 -106
X121 -106
X122 -106
X143 -106
X-254 -105
X-253 -105
X-252 -105
X111 -105
X113 -105
X121 -105
X142 -105
X143 -105
X144 -105
X-253 -104
X -1 -104
X 2 -104
X 59 -104
X 62 -104
X112 -104
X113 -104
X141 -104
X142 -104
X143 -104
X144 -104
X145 -104
X-249 -103
X-248 -103
X-247 -103
X -2 -103
X 58 -103
X112 -103
X140 -103
X141 -103
X145 -103
X146 -103
X-247 -102
X -2 -102
X 2 -102
X 58 -102
X 62 -102
X119 -102
X120 -102
X-248 -101
X -2 -101
X -1 -101
X 0 -101
X 1 -101
X 58 -101
X 59 -101
X 60 -101
X 61 -101
X119 -101
X121 -101
X119 -100
X144 -100
X144 -99
X140 -97
X141 -97
X-92 -96
X141 -96
X-252 -95
X-251 -95
X-250 -95
X-94 -95
X-92 -95
X138 -95
X139 -95
X140 -95
X-93 -94
X-92 -94
X138 -94
X163 -94
X-252 -93
X-250 -93
X-81 -93
X164 -93
X-253 -92
X-252 -92
X-251 -92
X-250 -92
X-249 -92
X-80 -92
X-79 -92
X162 -92
X163 -92
X164 -92
X-254 -91
X-253 -91
X-249 -91
X-248 -91
X-81 -91
X-80 -91
X-254 -90
X-253 -90
X-249 -90
X-248 -90
X-74 -89
X-156 -88
X-155 -88
X-76 -88
X-74 -88
X-156 -87
X-155 -87
X-75 -87
X-74 -87
X136 -86
X136 -85
X137 -85
X-69 -84
X 50 -84
X 51 -84
X135 -84
X137 -84
X-71 -83
X-69 -83
X 50 -83
X-252 -82
X-251 -82
X-70 -82
X-69 -82
X 48 -82
X 50 -82
X-252 -81
X-251 -81
X 48 -81
X 49 -81
X162 -80
X-159 -79
X-158 -79
X-154 -79
X-153 -79
X160 -79
X161 -79
X-159 -78
X-158 -78
X-154 -78
X-153 -78
X161 -78
X162 -78
X-158 -77
X-157 -77
X-156 -77
X-155 -77
X-154 -77
X-157 -76
X-155 -76
X-157 -74
X-156 -74
X-155 -74
X 52 -74
X 53 -74
X 53 -73
X 53 -72
X 55 -72
X 60 -72
X149 -72
X150 -72
X 54 -71
X 55 -71
X 56 -71
X 58 -71
X 59 -71
X 60 -71
X 61 -71
X149 -71
X151 -71
X 49 -70
X 56 -70
X 57 -70
X 59 -70
X 61 -70
X 62 -70
X 77 -70
X 78 -70
X149 -70
X 50 -69
X 51 -69
X 56 -69
X 59 -69
X 61 -69
X 62 -69
X 63 -69
X 75 -69
X 78 -69
X-159 -68
X 49 -68
X 50 -68
X 57 -68
X 59 -68
X 61 -68
X 62 -68
X 74 -68
X 86 -68
X 87 -68
X-160 -67
X 58 -67
X 59 -67
X 60 -67
X 61 -67
X 74 -67
X 86 -67
X 87 -67
X-160 -66
X-159 -66
X-158 -66
X-62 -66
X 60 -66
X 66 -66
X 74 -66
X189 -66
X190 -66
X-154 -65
X-64 -65
X-62 -65
X 65 -65
X 75 -65
X 78 -65
X177 -65
X189 -65
X-155 -64
X-154 -64
X-153 -64
X-63 -64
X-62 -64
X 65 -64
X 66 -64
X 67 -64
X 77 -64
X 78 -64
X156 -64
X157 -64
X158 -64
X175 -64
X176 -64
X190 -64
X191 -64
X192 -64
X-156 -63
X-155 -63
X-154 -63
X-153 -63
X-152 -63
X-51 -63
X156 -63
X176 -63
X177 -63
X192 -63
X-157 -62
X-156 -62
X-152 -62
X-151 -62
X-50 -62
X-49 -62
X157 -62
X182 -62
X-131 -61
X-130 -61
X-51 -61
X-50 -61
X180 -61
X181 -61
X182 -61
X-132 -60
X-130 -60
X179 -60
X-155 -59
X-130 -59
X-44 -59
X179 -59
X180 -59
X-155 -58
X-46 -58
X-44 -58
X 58 -58
X-45 -57
X-44 -57
X 58 -57
X 60 -57
X164 -57
X165 -57
X176 -57
X-152 -56
X-151 -56
X 58 -56
X 59 -56
X164 -56
X166 -56
X176 -56
X-152 -55
X 20 -55
X 21 -55
X 22 -55
X 34 -55
X164 -55
X-151 -54
X-150 -54
X-149 -54
X-39 -54
X 22 -54
X 35 -54
X 36 -54
X-174 -53
X-149 -53
X-41 -53
X-39 -53
X 21 -53
X 34 -53
X 35 -53
X174 -53
X175 -53
X179 -53
X180 -53
X-175 -52
X-57 -52
X-56 -52
X-40 -52
X-39 -52
X175 -52
X176 -52
X177 -52
X178 -52
X179 -52
X-175 -51
X-174 -51
X-173 -51
X-57 -51
X-56 -51
X 51 -51
X176 -51
X177 -51
X178 -51
X 50 -50
X177 -50
X 50 -49
X 51 -49
X 52 -49
X171 -49
X172 -49
X173 -49
X171 -48
X172 -47
X-147 -45
X-148 -44
X-147 -44
X-148 -43
X-146 -43
X 43 -43
X 43 -42
X 45 -42
X-57 -41
X-56 -41
X-55 -41
X 43 -41
X 44 -41
X174 -41
X175 -41
X176 -41
X-58 -40
X-54 -40
X -6 -40
X -5 -40
X 5 -40
X 6 -40
X 7 -40
X-173 -39
X-59 -39
X-53 -39
X -6 -39
X -3 -39
X 7 -39
X174 -39
X176 -39
X-172 -38
X-171 -38
X-58 -38
X-54 -38
X -2 -38
X 6 -38
X 12 -38
X173 -38
X174 -38
X175 -38
X176 -38
X177 -38
X-173 -37
X-172 -37
X-57 -37
X-56 -37
X-55 -37
X-15 -37
X-14 -37
X -2 -37
X 11 -37
X 12 -37
X 13 -37
X 14 -37
X172 -37
X173 -37
X177 -37
X178 -37
X-57 -36
X-56 -36
X-55 -36
X-32 -36
X-15 -36
X-14 -36
X -2 -36
X 10 -36
X 11 -36
X 13 -36
X 15 -36
X172 -36
X173 -36
X177 -36
X178 -36
X-34 -35
X-32 -35
X -6 -35
X -3 -35
X 9 -35
X 10 -35
X 11 -35
X 13 -35
X 16 -35
X-33 -34
X-32 -34
X -6 -34
X -5 -34
X 10 -34
X 11 -34
X 13 -34
X 15 -34
X 16 -34
X-21 -33
X 11 -33
X 12 -33
X 13 -33
X 14 -33
X 16 -33
X 17 -33
X 18 -33
X-20 -32
X-19 -32
X 12 -32
X 17 -32
X 19 -32
X-161 -31
X-160 -31
X-59 -31
X-58 -31
X-57 -31
X-21 -31
X-20 -31
X 19 -31
X-162 -30
X-160 -30
X-60 -30
X-59 -30
X-57 -30
X-56 -30
X-52 -30
X 19 -30
X 20 -30
X-160 -29
X-60 -29
X-59 -29
X-57 -29
X-56 -29
X-51 -29
X-50 -29
X-14 -29
X 30 -29
X-60 -28
X-59 -28
X-58 -28
X-57 -28
X-56 -28
X-52 -28
X-51 -28
X-16 -28
X-14 -28
X 29 -28
X 30 -28
X175 -28
X176 -28
X-61 -27
X-60 -27
X-56 -27
X-55 -27
X-15 -27
X-14 -27
X 29 -27
X 31 -27
X175 -27
X176 -27
X-201 -25
X-200 -25
X-200 -24
X-188 -24
X -9 -24
X-203 -23
X-202 -23
X-201 -23
X-187 -23
X-186 -23
X-169 -23
X-168 -23
X-167 -23
X-11 -23
X -9 -23
X-203 -22
X-188 -22
X-187 -22
X-167 -22
X-45 -22
X-43 -22
X-10 -22
X -9 -22
X-193 -21
X-168 -21
X-44 -21
X-43 -21
X-193 -20
X-192 -20
X-191 -20
X-61 -20
X-60 -20
X-44 -20
X-190 -19
X-60 -19
X-191 -18
X-190 -18
X-63 -18
X-62 -18
X-61 -18
X-56 -18
X-55 -18
X-63 -17
X-57 -17
X-55 -17
X-187 -16
X-176 -16
X-175 -16
X-73 -16
X-55 -16
X-187 -15
X-177 -15
X-175 -15
X-73 -15
X-72 -15
X-71 -15
X-37 -15
X-175 -14
X-70 -14
X-36 -14
X-35 -14
X-71 -13
X-70 -13
X-37 -13
X-36 -13
X 13 -13
X-191 -12
X-190 -12
X-186 -12
X-185 -12
X 13 -12
X 15 -12
X-190 -11
X-189 -11
X-188 -11
X-187 -11
X-186 -11
X 13 -11
X 14 -11
X-189 -10
X-188 -10
X-187 -10
X-188 -9
X-184 -8
X-183 -8
X-182 -8
X-182 -7
X-30 -7
X-28 -7
X-183 -6
X-29 -6
X-28 -6
X -2 -6
X-29 -5
X -4 -5
X -2 -5
X -3 -4
X -2 -4
X-41 -3
X-40 -3
X 9 -3
X-42 -2
X-40 -2
X 10 -2
X 11 -2
X-40 -1
X 9 -1
X 10 -1
X-187 0
X-186 0
X-185 0
X 16 1
X-187 2
X-185 2
X 14 2
X 16 2
X-188 3
X-187 3
X-186 3
X-185 3
X-184 3
X 15 3
X 16 3
X-189 4
X-188 4
X-184 4
X-183 4
X-189 5
X-188 5
X-184 5
X-183 5
X-19 6
X 21 6
X-20 7
X 19 7
X 21 7
X-20 8
X-19 8
X-18 8
X 20 8
X 21 8
X-46 11
X-45 11
X-47 12
X-46 12
X-187 13
X-186 13
X-45 13
X-187 14
X-186 14
X-19 15
X-21 16
X-20 16
X-19 16
X-22 17
X-22 18
X-21 18
X 22 18
X 20 19
X 22 19
X 21 20
X 22 20
X 0 23
X 2 23
X 1 24
X 2 24
X 28 24
X-27 25
X-26 25
X-22 25
X-21 25
X 1 25
X 26 25
X 28 25
X-31 26
X-30 26
X-26 26
X-25 26
X-24 26
X-23 26
X-22 26
X 27 26
X 28 26
X-32 27
X-31 27
X-26 27
X-25 27
X-23 27
X-22 27
X 1 27
X 2 27
X 39 27
X-30 28
X-26 28
X-25 28
X-23 28
X-22 28
X 0 28
X 2 28
X 40 28
X 41 28
X-25 29
X-24 29
X-23 29
X-10 29
X -9 29
X -8 29
X -7 29
X -6 29
X -5 29
X 39 29
X 40 29
X-11 30
X -4 30
X 0 30
X 1 30
X-12 31
X -3 31
X 46 31
X165 31
X166 31
X-11 32
X -4 32
X 44 32
X 46 32
X165 32
X-10 33
X -9 33
X -8 33
X -7 33
X -6 33
X -5 33
X 45 33
X 46 33
X163 33
X165 33
X-27 34
X-26 34
X-25 34
X163 34
X164 34
X-27 35
X-26 35
X-25 35
X-28 36
X-24 36
X 51 36
X-29 37
X-23 37
X 49 37
X 51 37
X-28 38
X-24 38
X 50 38
X 51 38
X-27 39
X-26 39
X-25 39
X167 41
X168 41
X168 42
X168 43
X170 43
X175 43
X169 44
X170 44
X174 44
X176 44
X163 45
X165 45
X173 45
X175 45
X176 45
X192 45
X193 45
X164 46
X165 46
X172 46
X173 46
X175 46
X176 46
X191 46
X193 46
X 17 47
X 19 47
X164 47
X173 47
X175 47
X176 47
X190 47
X201 47
X202 47
X 9 48
X 10 48
X 17 48
X 18 48
X 52 48
X174 48
X176 48
X190 48
X193 48
X202 48
X-26 49
X-25 49
X 9 49
X 18 49
X 50 49
X 52 49
X175 49
X181 49
X190 49
X-26 50
X-25 50
X -1 50
X 1 50
X 7 50
X 9 50
X 51 50
X 52 50
X181 50
X183 50
X191 50
X193 50
X -2 51
X 1 51
X 7 51
X 8 51
X181 51
X182 51
X192 51
X193 51
X-12 52
X -3 52
X -2 52
X-13 53
X-11 53
X -5 53
X -4 53
X 0 53
X-25 54
X-24 54
X-13 54
X-12 54
X-10 54
X -3 54
X -2 54
X 58 54
X-25 55
X-24 55
X-13 55
X-12 55
X-10 55
X -9 55
X -2 55
X 1 55
X 56 55
X 58 55
X-13 56
X-12 56
X-10 56
X -1 56
X 1 56
X 57 56
X 58 56
X174 56
X-13 57
X-11 57
X 31 57
X 32 57
X 69 57
X173 57
X-12 58
X -2 58
X 31 58
X 33 58
X 70 58
X 71 58
X173 58
X174 58
X175 58
X -1 59
X 31 59
X 69 59
X 70 59
X -3 60
X -2 60
X -1 60
X135 60
X136 60
X148 60
X150 60
X 76 61
X134 61
X136 61
X149 61
X150 61
X205 61
X206 61
X 74 62
X 76 62
X136 62
X149 62
X205 62
X 75 63
X 76 63
X203 63
X205 63
X166 64
X203 64
X204 64
X 38 65
X 39 65
X 40 65
X166 65
X168 65
X 38 66
X 81 66
X166 66
X167 66
X 39 67
X 79 67
X 81 67
X 80 68
X 81 68
X 26 69
X 27 69
X 27 70
X 28 70
X 26 71
X159 71
X207 71
X208 71
X 46 72
X 47 72
X158 72
X208 72
X 13 73
X 46 73
X 48 73
X158 73
X159 73
X160 73
X208 73
X210 73
X215 73
X 14 74
X 46 74
X209 74
X210 74
X214 74
X216 74
X 12 75
X 13 75
X 14 75
X109 75
X110 75
X120 75
X121 75
X203 75
X205 75
X213 75
X215 75
X216 75
X232 75
X233 75
X109 76
X111 76
X119 76
X121 76
X204 76
X205 76
X212 76
X213 76
X215 76
X216 76
X231 76
X233 76
X112 77
X121 77
X127 77
X204 77
X213 77
X215 77
X216 77
X230 77
X241 77
X242 77
X 82 78
X100 78
X109 78
X112 78
X126 78
X128 78
X214 78
X216 78
X230 78
X233 78
X242 78
X 80 79
X 82 79
X100 79
X101 79
X112 79
X126 79
X127 79
X129 79
X215 79
X221 79
X230 79
X 53 80
X 54 80
X 55 80
X 81 80
X 82 80
X109 80
X111 80
X126 80
X127 80
X129 80
X130 80
X221 80
X223 80
X231 80
X233 80
X 53 81
X109 81
X110 81
X126 81
X127 81
X129 81
X221 81
X222 81
X232 81
X233 81
X 54 82
X 64 82
X126 82
X128 82
X132 82
X133 82
X 63 83
X 65 83
X127 83
X132 83
X134 83
X 41 84
X 42 84
X 51 84
X 53 84
X 62 84
X 64 84
X 65 84
X 88 84
X134 84
X 42 85
X 43 85
X 51 85
X 54 85
X 61 85
X 62 85
X 64 85
X 65 85
X 76 85
X 77 85
X 86 85
X 88 85
X134 85
X135 85
X 41 86
X 54 86
X 55 86
X 62 86
X 64 86
X 65 86
X 76 86
X 77 86
X 87 86
X 88 86
X214 86
X 52 87
X 56 87
X 57 87
X 63 87
X 65 87
X145 87
X146 87
X213 87
X 54 88
X 55 88
X 64 88
X 90 88
X 91 88
X144 88
X145 88
X213 88
X214 88
X215 88
X 44 89
X 45 89
X 51 89
X 54 89
X 91 89
X 92 89
X146 89
X 43 90
X 45 90
X 51 90
X 53 90
X 90 90
X175 90
X176 90
X188 90
X190 90
X 43 91
X174 91
X176 91
X189 91
X190 91
X245 91
X246 91
X 42 92
X 43 92
X176 92
X189 92
X245 92
X243 93
X245 93
X206 94
X243 94
X244 94
X206 95
X208 95
X206 96
X207 96
X 38 99
X 39 99
X 38 100
X 40 100
X 40 101
X129 101
X199 101
X247 101
X248 101
X 40 102
X 41 102
X128 102
X198 102
X248 102
X128 103
X129 103
X130 103
X198 103
X199 103
X200 103
X248 103
X250 103
X255 103
X249 104
X250 104
X254 104
X256 104
X149 105
X150 105
X160 105
X161 105
X243 105
X245 105
X253 105
X255 105
X256 105
X272 105
X273 105
X149 106
X151 106
X159 106
X161 106
X244 106
X245 106
X252 106
X253 106
X255 106
X256 106
X271 106
X273 106
X 60 107
X152 107
X161 107
X167 107
X244 107
X253 107
X255 107
X256 107
X270 107
X281 107
X282 107
X 60 108
X 61 108
X 62 108
X140 108
X149 108
X152 108
X166 108
X168 108
X254 108
X256 108
X270 108
X273 108
X282 108
X 63 109
X140 109
X141 109
X152 109
X166 109
X167 109
X169 109
X255 109
X261 109
X270 109
X 62 110
X 63 110
X149 110
X151 110
X166 110
X167 110
X169 110
X170 110
X261 110
X263 110
X271 110
X273 110
X149 111
X150 111
X166 111
X167 111
X169 111
X261 111
X262 111
X272 111
X273 111
X166 112
X168 112
X172 112
X173 112
X167 113
X172 113
X174 113
X174 114
X174 115
X175 115
X254 116
X185 117
X186 117
X253 117
X 60 118
X 61 118
X184 118
X185 118
X253 118
X254 118
X255 118
X 61 119
X 62 119
X186 119
X 60 120
X215 120
X216 120
X228 120
X230 120
X214 121
X216 121
X229 121
X230 121
X216 122
X229 122
X 77 124
X 78 124
X246 124
X 77 125
X 79 125
X246 125
X248 125
X 77 126
X246 126
X247 126
X 99 131
X169 131
X239 131
X 35 132
X 84 132
X 85 132
X 86 132
X 98 132
X168 132
X238 132
X 35 133
X 36 133
X 37 133
X 84 133
X 98 133
X 99 133
X100 133
X168 133
X169 133
X170 133
X238 133
X239 133
X240 133
X 38 134
X 85 134
X 37 135
X 38 135
X189 135
X190 135
X200 135
X201 135
X189 136
X191 136
X199 136
X201 136
X192 137
X201 137
X207 137
X180 138
X189 138
X192 138
X206 138
X208 138
X 92 139
X 93 139
X180 139
X181 139
X192 139
X206 139
X207 139
X209 139
X 92 140
X 94 140
X189 140
X191 140
X206 140
X207 140
X209 140
X210 140
X 92 141
X189 141
X190 141
X206 141
X207 141
X209 141
X206 142
X208 142
X212 142
X213 142
X207 143
X212 143
X214 143
X214 144
X214 145
X215 145
X 99 147
X100 147
X101 147
X111 147
X112 147
X159 147
X225 147
X226 147
X 30 148
X 31 148
X 99 148
X109 148
X112 148
X160 148
X161 148
X224 148
X225 148
X 31 149
X 32 149
X 94 149
X100 149
X108 149
X159 149
X160 149
X226 149
X 30 150
X 92 150
X 93 150
X 94 150
X 95 150
X108 150
X121 150
X 87 151
X 91 151
X 93 151
X 95 151
X 96 151
X108 151
X120 151
X121 151
X166 151
X 86 152
X 87 152
X 90 152
X 93 152
X 95 152
X 96 152
X 97 152
X109 152
X112 152
X164 152
X166 152
X 91 153
X 93 153
X 95 153
X 96 153
X111 153
X112 153
X165 153
X166 153
X 57 154
X 58 154
X 92 154
X 93 154
X 94 154
X 95 154
X 57 155
X 59 155
X 94 155
X 57 156
X171 156
X169 157
X171 157
X170 158
X171 158
X139 161
X209 161
X 64 162
X 65 162
X 66 162
X138 162
X208 162
X 64 163
X138 163
X139 163
X140 163
X208 163
X209 163
X210 163
X -3 164
X 65 164
X -3 165
X -2 165
X172 168
X -3 169
X 72 169
X 73 169
X170 169
X172 169
X -4 170
X -2 170
X 72 170
X 74 170
X171 170
X172 170
X -5 171
X -1 171
X 72 171
X -4 172
X -3 172
X -2 172
X -6 173
X -5 173
X -1 173
X 0 173
X178 174
X176 175
X178 175
X177 176
X178 176
X 0 178
X 1 178
X 1 179
X 2 179
X 0 180
X 37 184
X 38 184
X 87 184
X 88 184
X 37 185
X 39 185
X 87 185
X 89 185
X 37 186
X 87 186
X -1 187
X -2 188
X -1 188
X 0 188
X -3 189
X -2 189
X -1 189
X 0 189
X 1 189
X -4 190
X -3 190
X 1 190
X 2 190
X109 191
X179 191
X 44 192
X 45 192
X 46 192
X 94 192
X 95 192
X 96 192
X108 192
X178 192
X 44 193
X 94 193
X108 193
X109 193
X110 193
X178 193
X179 193
X180 193
X 45 194
X 95 194
X -2 198
X -2 199
X -1 199
X 52 199
X 53 199
X102 199
X103 199
X 52 200
X 54 200
X102 200
X104 200
X198 200
X199 200
X 52 201
X102 201
X198 201
X199 201
X109 207
X110 207
X111 207
X121 207
X122 207
X109 208
X119 208
X122 208
X104 209
X110 209
X118 209
X102 210
X103 210
X104 210
X105 210
X118 210
X131 210
X 97 211
X101 211
X103 211
X105 211
X106 211
X118 211
X130 211
X131 211
X 96 212
X 97 212
X100 212
X103 212
X105 212
X106 212
X107 212
X119 212
X122 212
X101 213
X103 213
X105 213
X106 213
X121 213
X122 213
X 67 214
X 68 214
X102 214
X103 214
X104 214
X105 214
X 67 215
X 69 215
X104 215
X 67 216
X149 221
X 74 222
X 75 222
X 76 222
X148 222
X 74 223
X148 223
X149 223
X150 223
X 75 224
X 82 229
X 83 229
X 82 230
X 84 230
X 82 231
X 97 244
X 98 244
X 97 245
X 99 245
X 97 246
X119 251
X104 252
X105 252
X106 252
X118 252
X104 253
X118 253
X119 253
X120 253
X105 254
X112 259
X113 259
X112 260
X114 260
X112 261
X119 267
X120 267
X121 267
X131 267
X132 267
X119 268
X129 268
X132 268
X114 269
X120 269
X128 269
X112 270
X113 270
X114 270
X115 270
X128 270
X141 270
X107 271
X111 271
X113 271
X115 271
X116 271
X128 271
X140 271
X141 271
X106 272
X107 272
X110 272
X113 272
X115 272
X116 272
X117 272
X129 272
X132 272
X111 273
X113 273
X115 273
X116 273
X131 273
X132 273
X112 274
X113 274
X114 274
X115 274
X114 275
END_OF_xlife-2.0/patterns/blockpusher.life
if test 23036 -ne `wc -c <xlife-2.0/patterns/blockpusher.life`; then
echo shar: \"xlife-2.0/patterns/blockpusher.life\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of archive 2 \(of 8\).
cp /dev/null ark2isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 8 archives.
rm -f ark[1-9]isdone
else
echo You still need to unpack the following archives:
echo " " ${MISSING}
fi
## End of shell archive.
exit 0
dan
----------------------------------------------------
O'Reilly && Associates argv@sun.com / argv@ora.com
Opinions expressed reflect those of the author only.