Subversion Repositories Kolibri OS

Compare Revisions

No changes between revisions

Regard whitespace Rev 1768 → Rev 1769

/programs/demos/life2/bmp2h.cpp
0,0 → 1,195
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <time.h>
#include "picture.h"
 
char str[1000], name[1000], *s;
int type;
 
int mx = 0, my = 0, slen;
BYTE *tex = 0;
 
inline void out_uc(unsigned char c, int &k)
{
if (k < 0) {printf("\n\""); k = 0;}
printf("\\x%02X", c);
k++;
if (k >= 20) {printf("\""); k = -1;}
}
 
inline void out_cl(int &k)
{
if (k >= 0) {printf("\""); k = -1;}
}
 
inline void out_end(int &k)
{
if (k == -10) return;
if (type == 0) {out_uc(0, k); out_uc(255, k);}
out_cl(k);
printf(";\n\n");
k = -10;
}
 
void del_last_space(char *s0)
{
char *s1;
for (s1 = s0; *s1; s1++)
{
if (!isspace(*s1)) s0 = s1 + 1;
}
*s0 = 0;
}
 
int main()
{
BYTE *t0;
int i, j, k, m, t, v;
// randomize();
srand(time(NULL));
i = rand() + (rand() << 16);
j = rand() + (rand() << 16);
k = rand() + (rand() << 16);
printf("#ifndef _INCLUDE_BITMAP_%08X_%08X_%08X__PICTURE_\n", i, j, k);
printf("#define _INCLUDE_BITMAP_%08X_%08X_%08X__PICTURE_\n", i, j, k);
strcpy(name, "bitmap_pictures");
type = 0;
k = -10;
while (!feof(stdin))
{
memset(str, 0, sizeof(str));
fgets(str, sizeof(str)-1, stdin);
s = str;
while (*s && isspace(*s)) s++;
if (strncmp(s, "rem", 3) != 0) continue;
s += 3;
if (!isspace(*s)) continue;
while (*s && isspace(*s)) s++;
if (strncmp(s, "<array", 6) == 0)
{
s += 6;
if (strncmp(s, ":bmp>", 5) == 0) {s += 5; v = 0;}
else if (strncmp(s, ":set>", 5) == 0) {s += 5; v = 1;}
else if (strncmp(s, ":life>", 6) == 0) {s += 6; v = 2;}
else continue;
if (!isspace(*s)) continue;
while (*s && isspace(*s)) s++;
if (!*s) continue;
del_last_space(s);
strcpy(name, s);
out_end(k);
type = v;
continue;
}
else if (strncmp(s, "<skip>", 6) == 0)
{
s += 6;
if (!isspace(*s)) continue;
while (*s && isspace(*s)) s++;
if (!*s) continue;
i = 2*atoi(s);
while (--i >= 0) out_uc(0, k);
continue;
}
else if (strncmp(s, "<bitmap", 7) == 0)
{
s += 7; v = 0;
for (;;)
{
if (strncmp(s, ":inv", 4) == 0) {s += 4; v ^= 1;}
else break;
}
if (s[0] == '>') s++;
else continue;
}
else continue;
if (!isspace(*s)) continue;
while (*s && isspace(*s)) s++;
if (!*s) continue;
del_last_space(s);
if ((PictureFileOpen(mx, my, tex, s) & PFO_MASK_ERROR) != 0) continue;
if (!tex || mx <= 0 || my <= 0) continue;
if (type == 0 || type == 1)
{
if (mx >= 256 || my >= 256) continue;
}
else if (type == 2)
{
if (mx >= 65536 || my >= 65536) continue;
}
slen = GetStringPictLenght(mx);
if (k == -10)
{
printf("\nconst unsigned char %s[] = \"", name);
if (type == 2) printf("#LifeBin 2.0\\n");
printf("\"");
k = -1;
}
if (v & 1)
{
for (i = 0; i < my; i++)
{
t0 = tex + slen * i;
for (j = 3*mx; j > 0; j--)
{
t0[0] = (unsigned char)~t0[0];
t0++;
}
}
}
m = 0; t = 0;
if (type == 0 || type == 1)
{
out_uc((unsigned char)mx, k); out_uc((unsigned char)my, k);
}
else if (type == 2)
{
out_uc((unsigned char)mx, k); out_uc((unsigned char)(mx >> 8), k);
out_uc((unsigned char)my, k); out_uc((unsigned char)(my >> 8), k);
}
for (i = 0; i < my; i++)
{
t0 = tex + slen * i;
for (j = mx; j > 0; j--)
{
if (type == 0)
{
out_uc(t0[2], k); out_uc(t0[1], k); out_uc(t0[0], k);
}
else if (type == 1)
{
m |= ((int)t0[0] + (int)t0[1] + (int)t0[2] >= 384) << t;
if (++t >= 8) {out_uc((unsigned char)m, k); m = 0; t = 0;}
}
else if (type == 2)
{
if ((int)t0[0] + (int)t0[1] + (int)t0[2] >= 384)
{
if (m) {out_uc((unsigned char)m, k); m = 0;}
out_uc(0, k);
}
else
{
if (m == 255) {out_uc((unsigned char)m, k); m = 0;}
m++;
}
}
t0 += 3;
}
}
if (type == 1)
{
if (t) out_uc((unsigned char)m, k);
}
else if (type == 2)
{
if (m) out_uc((unsigned char)m, k);
}
}
if (tex) delete[] tex;
out_end(k);
printf("#endif\n");
return 0;
}
/programs/demos/life2/bmp2h.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/compile.txt
0,0 → 1,7
Äëÿ êîìïèëÿöèè íåîáõîäèì Borland C++, à òàêæå FASM âåðñèè íå áîëåå 1.64.
life_bmp.bat ñîçäà¸ò íåîáõîäèìûé äëÿ êîìïèëÿöèè h-ôàéë ñ êàðòèíêàìè.
cpp2asm.bat êîìïèëèðóåò Ñ++-èñõîäíèê â TASM-èñõîäíèê,
à ïîòîì ïðåâðàùàåò åãî â FASM-èñõîäíèê.
Ïîñëå ýòîãî, âîçìîæíî, ïîíàäîáèòñÿ ïåðåíåñòè â f_life2.asm ñòðîêè ñ equ
â íà÷àëî ôàéëà.
Êîìïèëÿöèÿ áèíàðíèêà - êàê îáû÷íî, fasm f_life2.asm life2.
/programs/demos/life2/cpp2asm.bat
0,0 → 1,3
bcc32 -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__MENUET__ -Iinclude life2.cpp
echo include "me_make.inc" > f_life2.asm
t2fasm < life2.asm >> f_life2.asm
/programs/demos/life2/include/me_file.h
0,0 → 1,278
#ifndef __MENUET_FILE_H_INCLUDED_
#define __MENUET_FILE_H_INCLUDED_
 
#include <menuet.h>
#include <me_heap.h>
 
// Menuet file interface.
 
namespace Menuet // All menuet functions, types and data are nested in the (Menuet) namespace.
{
struct _FileDataStruct;
typedef _FileDataStruct *TFileData;
 
TFileData FileOpen(const char *name, unsigned int buffer_length = 1024);
int FileClose(TFileData file_data);
bool FileEof(TFileData file_data);
unsigned int FileGetPosition(TFileData file_data);
void FileSetPosition(TFileData file_data, unsigned int pos);
void FileReset(TFileData file_data);
unsigned int FileGetLength(TFileData file_data);
int FileTestRead(TFileData file_data);
int FileRead(TFileData file_data, void *mem, int size);
}
 
#ifdef __MENUET__
 
namespace Menuet
{
// Define the file data structure.
 
struct _FileDataStruct
{
unsigned int length;
unsigned int position;
unsigned int *buffer;
unsigned int access_param[5];
 
enum {PosName = (unsigned int)(((_FileDataStruct*)0)->access_param + 5)};
};
 
// Inline functions.
 
inline bool FileEof(TFileData file_data)
{
return file_data && file_data->position >= file_data->length;
}
 
inline unsigned int FileGetPosition(TFileData file_data)
{
return file_data ? file_data->position : 0;
}
 
inline void FileReset(TFileData file_data)
{
if (!file_data) return;
file_data->length = -1;
file_data->position = 0;
if (file_data->buffer) file_data->buffer[1] = 0;
}
 
// Functions.
 
int _FileAccess(void *file_access_param);
 
TFileData FileOpen(const char *name, unsigned int buffer_length)
{
if (!name || !name[0]) return 0;
unsigned int name_len = StrLen(name) + 1;
unsigned int data_len = (_FileDataStruct::PosName + name_len + 3) & ~3;
buffer_length = (buffer_length / MENUET_FILE_BLOCK_SIZE) * MENUET_FILE_BLOCK_SIZE;
if (buffer_length) data_len += buffer_length + 2*sizeof(unsigned int);
TFileData file = (TFileData)Alloc(_FileDataStruct::PosName + data_len);
if (!file) return 0;
file->length = -1;
file->position = 0;
if (buffer_length)
{
file->buffer = (unsigned int*)((char*)file + data_len) - 2;
file->buffer[0] = buffer_length;
file->buffer[1] = 0;
}
MemCopy(file->access_param + 5, name, name_len);
unsigned int attr[40/4];
file->access_param[0] = 5;
file->access_param[1] = 0;
file->access_param[2] = 0;
file->access_param[3] = 0;
file->access_param[4] = (int)attr;
_FileAccess(file->access_param);
file->length = attr[32/4];
return file;
}
 
int FileClose(TFileData file_data)
{
if (!file_data) return -1;
Free(file_data);
return 0;
}
 
void FileSetPosition(TFileData file_data, unsigned int pos)
{
if (!file_data) return;
if (file_data->buffer && file_data->buffer[1])
{
if (pos >= file_data->position && pos < file_data->position + file_data->buffer[1])
{
file_data->buffer[1] -= pos - file_data->position;
}
else file_data->buffer[1] = 0;
}
file_data->position = pos;
}
 
int _FileReadBuffer(TFileData file_data, void *mem, int size, void *temp_mem = 0)
{
unsigned int *buffer;
if (!file_data || !mem || size <= 0) return -1;
if (file_data->buffer) buffer = file_data->buffer;
else if (temp_mem)
{
buffer = (unsigned int*)((char*)temp_mem + MENUET_FILE_BLOCK_SIZE);
}
else return 0;
if (!buffer[1]) return 0;
if (file_data->position >= file_data->length)
{
buffer[1] = 0;
return 0;
}
unsigned int buf_size = file_data->length - file_data->position;
if (buf_size > buffer[1]) buf_size = buffer[1];
if ((unsigned int)size >= buf_size) size = buf_size;
MemCopy(mem, (char*)buffer - buffer[1], size);
file_data->position += size;
if ((unsigned int)size >= buf_size) buffer[1] = 0;
else buffer[1] -= size;
return size;
}
 
int _FileReadSystem(TFileData file_data, void *mem, int size)
{
int res;
unsigned int len0, len1;
size /= MENUET_FILE_BLOCK_SIZE;
if (!file_data || !mem || size <= 0) return -1;
file_data->access_param[0] = 0;
file_data->access_param[1] = (file_data->position / MENUET_FILE_BLOCK_SIZE) * MENUET_FILE_BLOCK_SIZE;
file_data->access_param[2] = 0;
file_data->access_param[3] = size * MENUET_FILE_BLOCK_SIZE;
file_data->access_param[4] = (unsigned int)mem;
res = _FileAccess(file_data->access_param);
if (res != 0 && res != 6) return (res & 255) - 1024;
if (file_data->length <= file_data->position) return 0;
len0 = file_data->length - file_data->position;
len1 = size * MENUET_FILE_BLOCK_SIZE - (file_data->position % MENUET_FILE_BLOCK_SIZE);
return (len0 <= len1) ? len0 : len1;
}
 
int _FileBufferSystem(TFileData file_data, void *&temp_mem)
{
int res;
unsigned int *buffer;
if (!file_data) return -1;
if (file_data->buffer) buffer = file_data->buffer;
else
{
if (!temp_mem)
{
temp_mem = Alloc(MENUET_FILE_BLOCK_SIZE + 2*sizeof(unsigned int));
if (!temp_mem) return -10;
}
buffer = (unsigned int*)((char*)temp_mem + MENUET_FILE_BLOCK_SIZE);
buffer[0] = MENUET_FILE_BLOCK_SIZE;
}
buffer[1] = buffer[0];
res = _FileReadSystem(file_data, (char*)buffer - buffer[1], buffer[1]);
if (res < 0) buffer[1] = 0;
else buffer[1] -= file_data->position % MENUET_FILE_BLOCK_SIZE;
return res;
}
 
int FileTestRead(TFileData file_data)
{
int res;
void *temp_mem = 0;
if (!file_data) return -1;
if (file_data->buffer && file_data->buffer[1]) return 0;
res = _FileBufferSystem(file_data, temp_mem);
if (temp_mem) Free(temp_mem);
return (res < 0) ? res : 0;
}
 
int FileRead(TFileData file_data, void *mem, int size)
{
int tlen, res, read_len;
void *temp_mem = 0;
res = _FileReadBuffer(file_data, mem, size);
if (res < 0 || res >= size) return res;
read_len = res;
mem = (char*)mem + res;
size -= res;
tlen = file_data->position % MENUET_FILE_BLOCK_SIZE;
if (tlen)
{
res = _FileBufferSystem(file_data, temp_mem);
if (res < 0)
{
if (temp_mem) Free(temp_mem);
return read_len ? read_len : res;
}
res = _FileReadBuffer(file_data, mem, size);
read_len += res;
if (res >= size || file_data->length <= file_data->position ||
file_data->length - file_data->position <= res)
{
if (temp_mem) Free(temp_mem);
return read_len;
}
mem = (char*)mem + res;
size -= res;
}
if (size >= (file_data->buffer ? file_data->buffer[0] : MENUET_FILE_BLOCK_SIZE))
{
res = _FileReadSystem(file_data, mem, size);
if (res < 0)
{
if (temp_mem) Free(temp_mem);
return read_len ? read_len : res;
}
file_data->position += res;
read_len += res;
if (res < (size / MENUET_FILE_BLOCK_SIZE) * MENUET_FILE_BLOCK_SIZE)
{
if (temp_mem) Free(temp_mem);
return read_len;
}
mem = (char*)mem + res;
size -= res;
}
if (size)
{
res = _FileBufferSystem(file_data, temp_mem);
if (res < 0)
{
if (temp_mem) Free(temp_mem);
return read_len ? read_len : res;
}
read_len += _FileReadBuffer(file_data, mem, size, temp_mem);
}
if (temp_mem) Free(temp_mem);
return read_len;
}
// Inline functions.
 
inline unsigned int FileGetLength(TFileData file_data)
{
if (!file_data) return -1;
if (file_data->length == -1) FileTestRead(file_data);
return file_data->length;
}
}
 
#else // def __MENUET__
 
namespace Menuet
{
struct _FileDataStruct
{
unsigned int data;
};
}
 
#endif // else: def __MENUET__
 
#endif // ndef __MENUET_FILE_H_INCLUDED_
 
/programs/demos/life2/include/me_func.inc
0,0 → 1,1124
;const int
MENUET_BORDER_SIZE = 4;
;const int
MENUET_HEADER_SIZE = 20;
 
;const int
MENUET_THREAD_DATA_USER = 0; // Thread data begin from the user dword
;const int
MENUET_THREAD_DATA_ST_BEGIN = 1; // Stack beginning follows after the user dword
;const int
MENUET_THREAD_DATA_NEXT = 2;
;const int
MENUET_THREAD_DATA_PID = 3;
;const int
MENUET_THREAD_DATA_FLAG = 4;
;const int
MENUET_THREAD_DATA_X = 5;
;const int
MENUET_THREAD_DATA_Y = 6;
;const int
MENUET_THREAD_DATA_C_WINDOW = 7;
;const int
MENUET_THREAD_DATA_C_HEADER = 8;
;const int
MENUET_THREAD_DATA_C_BORDER = 9;
;const int
MENUET_THREAD_DATA_C_TITLE = 10;
;const int
MENUET_THREAD_DATA_TITLE = 11;
;const int
MENUET_THREAD_DATA_PICTURE = 12;
;const int
MENUET_THREAD_DATA_SZ_PICT = 13;
;const int
MENUET_THREAD_DATA_LAST_SX = 14;
;const int
MENUET_THREAD_DATA_LAST_SY = 15;
;const int
MENUET_THREAD_DATA_LEN = 16;
 
;const int
MENUET_MUTEX_MAX_TIME_WAIT = 20;
 
;const int
MENUET_FILE_BLOCK_SIZE = 512;
 
;const int
MENUET_FILE_MEMORY_OS_NEED = 4096;
 
;/***
 
macro segment name
{
segment name
if name eq _init_ | name eq _INIT_
Menuet_SegmentInit:
else if name eq _exit_ | name eq _EXIT_
Menuet_SegmentExit:
end if
}
 
macro endseg name
{
if name eq _init_ | name eq _INIT_
Menuet_SegmentInitEnd:
else if name eq _exit_ | name eq _EXIT_
Menuet_SegmentExitEnd:
end if
endseg name
}
 
macro Menuet_Put_MovEaxVal_Ret address,val
{
mov byte [address],0xB8
mov dword [address+4],0xC089C300
mov dword [address+1],val
}
 
define @Menuet@Main$qv
nextdef MenuetEntryPoint
and esp,not 3
sub esp,1024
mov eax,9
mov ebx,esp
mov ecx,-1
int 0x40
mov ebx,[esp+26]
mov edx,[esp+30]
lea eax,[ebx-0x20]
add esp,1024
cmp esp,eax
cmova esp,eax
and esp,not 3
if defined @Menuet@CommandLine
mov byte [@Menuet@CommandLine+256], 0
end if
xor eax,eax
cld
mov edi,@Menuet@_ThreadTable
mov ecx,256
rep stos dword [edi]
mov esi,@Menuet@GetPid$qv
mov edi,@Menuet@_ThreadSavedBegProc
movs dword [edi],[esi]
movs dword [edi],[esi]
mov esi,@Menuet@GetThreadData$qv
movs dword [edi],[esi]
movs dword [edi],[esi]
Menuet_Put_MovEaxVal_Ret @Menuet@GetPid$qv,edx
if defined MenuetHeapInit
mov ecx,esp
push ebx
push ecx
push U_END
call MenuetHeapInit ; Initialize a dynamic heap and create new memory in its begin.
pop ecx ; Parameters: begin of a new heap, end of data to create in
mov [esp+4],eax ; the begin of a heap. Return address of the created data.
mov dword [esp],0
else
xor eax,eax
push eax
push eax
end if
call @Menuet@ThreadMain$qpvt1
nextdef Menuet_ThreadFinish
add esp,8
if defined MenuetHeapFreeAndThreadFinish
test eax,eax
jz Menuet_ThreadFinish_end
push dword @Menuet@_ExitProcessNow
push eax
call MenuetHeapFreeAndThreadFinish ; Free the given memory and finish the thread,
end if ; should exit process if second argument points to not zero.
Menuet_ThreadFinish_end:
or eax,-1
int 0x40
enddef
 
define @Menuet@ThreadMain$qpvt1
xchg ebx,[esp+4]
xchg ebp,[esp+8]
push esi
push edi
sub esp,MENUET_THREAD_DATA_LEN*4
mov [esp],ebx
mov [esp+4],ebp
mov eax,40
mov ebx,0x27
int 0x40
mov ebx,esp
cmp byte [@Menuet@_ThreadSavedBegProc],0x90
jz Menuet_main_else_first_check
Menuet_Put_MovEaxVal_Ret @Menuet@GetThreadData$qv,esp
if defined Menuet_SegmentInit & defined Menuet_SegmentInitEnd
push Menuet_SegmentInitEnd
push Menuet_SegmentInit
jmp Menuet_main_after_first_check
end if
Menuet_main_else_first_check:
xor eax,eax
push eax
push eax
Menuet_main_after_first_check:
push ebx
call @@Menuet@_CallStart$qppvpvt2
add esp,12
test al,al
jnz Menuet_main_test_close_first
jmp Menuet_main_end
Menuet_main_close_first:
btr dword [esp+MENUET_THREAD_DATA_FLAG*4],31
push esp
call @@MenuetOnClose$qppv
pop ecx
test al,al
jnz Menuet_main_end
Menuet_main_test_close_first:
cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0
jl Menuet_main_close_first
push esp
push dword 1
call @Menuet@Redraw$qippv
add esp,8
Menuet_main_paint_msg:
or dword [esp+MENUET_THREAD_DATA_FLAG*4],3
sub esp,1024
mov eax,9
mov ebx,esp
mov ecx,-1
int 0x40
mov eax,[esp+34]
mov ebx,[esp+38]
mov ecx,[esp+42]
mov edx,[esp+46]
add esp,1024
cmp ecx,[esp+MENUET_THREAD_DATA_LAST_SX*4]
jnz Menuet_main_size
cmp edx,[esp+MENUET_THREAD_DATA_LAST_SY*4]
jz Menuet_main_paint
Menuet_main_size:
mov [esp+MENUET_THREAD_DATA_LAST_SX*4],ecx
mov [esp+MENUET_THREAD_DATA_LAST_SY*4],edx
push edx
push ecx
push ebx
push eax
lea ecx,[esp+16]
mov edx,esp
push ecx
push edx
call @@MenuetOnSize$qpippv
add esp,24
test dword [esp+MENUET_THREAD_DATA_FLAG*4],3
jz Menuet_main_cycle
Menuet_main_paint:
cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0
jl Menuet_main_close
push esp
push dword 0
call @Menuet@Redraw$qippv
add esp,8
Menuet_main_cycle:
mov eax,11
Menuet_main_message:
cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0
jl Menuet_main_close
int 0x40
test eax,eax
jnz Menuet_main_on_message
cmp dword [esp+MENUET_THREAD_DATA_FLAG*4],0
jne Menuet_main_paint
push esp
call @@MenuetOnIdle$qppv
pop ecx
test eax,eax
jz Menuet_main_cycle
jl Menuet_main_wait_message
mov ebx,eax
mov eax,23
jmp Menuet_main_message
Menuet_main_wait_message:
mov eax,10
jmp Menuet_main_message
Menuet_main_key_press:
push esp
call @@MenuetOnKeyPress$qppv
pop ecx
jmp Menuet_main_cycle
Menuet_main_mouse:
push esp
call @@MenuetOnMouse$qppv
pop ecx
jmp Menuet_main_cycle
Menuet_main_on_message:
dec eax
jz Menuet_main_paint_msg
dec eax
jz Menuet_main_key_press
cmp eax,4
jz Menuet_main_mouse
dec eax
jnz Menuet_main_cycle
Menuet_main_button:
mov eax,17
int 0x40
test al,al
jnz Menuet_main_cycle
Menuet_main_close:
btr dword [esp+MENUET_THREAD_DATA_FLAG*4],31
push esp
call @@MenuetOnClose$qppv
pop ecx
test al,al
jz Menuet_main_button
Menuet_main_end:
mov ebx,esp
lock dec dword [@Menuet@_ThreadNumber]
if defined Menuet_SegmentExit & defined Menuet_SegmentExitEnd
jnz Menuet_main_else_last_check
push Menuet_SegmentExitEnd
push Menuet_SegmentExit
jmp Menuet_main_after_last_check
end if
Menuet_main_else_last_check:
xor eax,eax
push eax
push eax
Menuet_main_after_last_check:
push ebx
call @@Menuet@_RemoveThreadData$qppvpvt2
add esp,12
lock inc dword [@Menuet@_ThreadScanCount+4]
mov ebx,1
jmp Menuet_main_end_wait
Menuet_main_end_wait_loop:
mov eax,5
int 0x40
shl ebx,1
cmp ebx,MENUET_MUTEX_MAX_TIME_WAIT
jna Menuet_main_end_wait
mov ebx,MENUET_MUTEX_MAX_TIME_WAIT
Menuet_main_end_wait:
cmp dword [@Menuet@_ExitProcessNow],0
jnz @Menuet@ExitProcess$qv
cmp dword [@Menuet@_ThreadScanCount],0
jnz Menuet_main_end_wait_loop
lock dec dword [@Menuet@_ThreadScanCount+4]
mov ebp,[esp+4]
mov ebx,[esp]
add esp,MENUET_THREAD_DATA_LEN*4
mov eax,ebp
pop edi
pop esi
xchg ebp,[esp+8]
xchg ebx,[esp+4]
ret
enddef
 
macro call func
{
if func eq __chkstk
sub esp,eax
else
call func
end if
}
 
define @Menuet@Redraw$qippv
push ebp
mov ebp,[esp+12]
mov edx,[ebp+MENUET_THREAD_DATA_FLAG*4]
cmp dword [esp+8],0
jl Menuet_redraw_only_inv
jz Menuet_redraw_no_frame
or dl,2
Menuet_redraw_no_frame:
bt edx,30
jnc Menuet_redraw_begin
or dl,1
mov [ebp+MENUET_THREAD_DATA_FLAG*4],edx
jmp Menuet_redraw_end
Menuet_redraw_only_inv:
test dl,3
jnz Menuet_redraw_no_frame
Menuet_redraw_end:
pop ebp
ret
Menuet_redraw_begin:
push ebx
push esi
push edi
and dword [ebp+MENUET_THREAD_DATA_FLAG*4],0xFFFFFFFC
test dl,2
jz Menuet_redraw_picture
mov eax,12
mov ebx,1
int 0x40
xor eax,eax
mov ebx,[ebp+MENUET_THREAD_DATA_X*4]
mov ecx,[ebp+MENUET_THREAD_DATA_Y*4]
mov edx,[ebp+MENUET_THREAD_DATA_C_WINDOW*4]
mov esi,[ebp+MENUET_THREAD_DATA_C_HEADER*4]
mov edi,[ebp+MENUET_THREAD_DATA_C_BORDER*4]
int 0x40
mov edx,[ebp+MENUET_THREAD_DATA_TITLE*4]
test edx,edx
jz Menuet_window_defined
mov edi,edx
mov ecx,0xFFFFFFFF
xor al,al
cld
repnz scas byte [edi]
not ecx
mov esi,ecx
dec esi
jz Menuet_window_defined
mov eax,4
mov ebx,0x00070007
mov ecx,[ebp+MENUET_THREAD_DATA_C_TITLE*4]
int 0x40
Menuet_window_defined:
mov eax,12
mov ebx,2
int 0x40
Menuet_redraw_picture:
mov eax,12
mov ebx,2
int 0x40
mov esi,[ebp+MENUET_THREAD_DATA_PICTURE*4]
test esi,esi
jz Menuet_redraw_end_draw
mov ecx,[ebp+MENUET_THREAD_DATA_SZ_PICT*4]
jecxz Menuet_redraw_end_draw
mov al,byte [ebp+MENUET_THREAD_DATA_C_WINDOW*4+3]
and al,15
mov edx,MENUET_BORDER_SIZE*65536+MENUET_HEADER_SIZE
cmp al,3
jnz Menuet_redraw_no_skin
mov eax,48
mov ebx,4
int 0x40
mov dx,ax
Menuet_redraw_no_skin:
mov eax,7
mov ebx,esi
int 0x40
Menuet_redraw_end_draw:
pop edi
pop esi
pop ebx
pop ebp
ret
enddef
 
define @Menuet@MoveWindow$qxpxi
push ebx
push esi
mov eax,[esp+12]
mov ebx,[eax]
mov ecx,[eax+4]
mov edx,[eax+8]
mov esi,[eax+12]
mov eax,67
int 0x40
pop esi
pop ebx
ret
enddef
 
define @Menuet@Abort$qv
push dword [@Menuet@DebugPrefix]
call @Menuet@DebugPutString$qpxc
mov dword [esp],Menuet_abort_string
call @Menuet@DebugPutString$qpxc
pop ecx
nextdef @Menuet@ExitProcess$qv
lock bts dword [@Menuet@_ExitProcessNow],0
jc Menuet_exit_process_wait
sub esp,1024
mov eax,9
mov ebx,esp
mov ecx,-1
int 0x40
mov esi,eax
mov edi,[esp+30]
Menuet_exit_process_loop:
mov eax,9
mov ebx,esp
mov ecx,esi
int 0x40
mov eax,[esp+30]
cmp eax,edi
jz Menuet_exit_process_continue
mov ebx,eax
or bl,15
inc ebx
jz Menuet_exit_process_continue
mov ebx,eax
call Menuet_HashInt
movzx eax,al
mov eax,dword [@Menuet@_ThreadTable+eax*4]
jmp Menuet_exit_process_test
Menuet_exit_process_next:
mov eax,dword [eax+MENUET_THREAD_DATA_NEXT*4]
Menuet_exit_process_test:
test eax,eax
jz Menuet_exit_process_continue
cmp ebx,[eax+MENUET_THREAD_DATA_PID*4]
jnz Menuet_exit_process_next
mov eax,18
mov ebx,2
mov ecx,esi
int 0x40
Menuet_exit_process_continue:
dec esi
jnl Menuet_exit_process_loop
add esp,1024
mov dword [@Menuet@_ExitProcessNow],-1
if defined EMULATOR
int3
call 0x76543210
end if
Menuet_exit_process_end:
mov dword [@Menuet@_ThreadMutex],0
or eax,-1
int 0x40
Menuet_exit_process_wait:
mov eax,5
mov ebx,1
Menuet_exit_process_wait_loop:
cmp dword [@Menuet@_ExitProcessNow],0
jl Menuet_exit_process_end
int 0x40
shl ebx,1
cmp ebx,MENUET_MUTEX_MAX_TIME_WAIT
jna Menuet_exit_process_wait_loop
mov ebx,MENUET_MUTEX_MAX_TIME_WAIT
jmp Menuet_exit_process_wait_loop
enddef
 
define @Menuet@ExitThread$qppv,@Menuet@ThreadMain$qpvt1
mov esp,[esp+4]
jmp Menuet_main_end
enddef
 
define @Menuet@ReturnMessageLoop$qppv,@Menuet@ThreadMain$qpvt1
mov esp,[esp+4]
bt dword [esp+MENUET_THREAD_DATA_FLAG*4],30
jc Menuet_main_end
jmp Menuet_main_cycle
enddef
 
define @Menuet@Delay$qui
push ebx
mov eax,5
mov ebx,[esp+8]
int 0x40
pop ebx
ret
enddef
 
define @Menuet@Clock$qv
push ebx
mov eax,26
mov ebx,9
int 0x40
pop ebx
ret
enddef
 
define @Menuet@GetPackedTime$qv
mov eax,3
int 0x40
ret
enddef
 
define @Menuet@GetTime$qpi
mov eax,3
int 0x40
mov edx,[esp+4]
movzx ecx,al
shr ecx,4
and al,0x0F
imul ecx,10
add cl,al
mov dword [edx+8],ecx
mov cl,ah
shr ecx,4
and ah,0x0F
imul ecx,10
add cl,ah
mov dword [edx+4],ecx
bswap eax
mov cl,ah
shr ecx,4
and ah,0x0F
imul ecx,10
add cl,ah
mov dword [edx],ecx
ret
enddef
 
define @Menuet@GetPackedDate$qv
mov eax,29
int 0x40
ret
enddef
 
define @Menuet@GetDate$qpi
mov eax,29
int 0x40
mov edx,[esp+4]
movzx ecx,al
shr ecx,4
and al,0x0F
imul ecx,10
add cl,al
mov dword [edx+4],ecx
mov cl,ah
shr ecx,4
and ah,0x0F
imul ecx,10
add cl,ah
mov dword [edx],ecx
bswap eax
mov cl,ah
shr ecx,4
and ah,0x0F
imul ecx,10
add cl,ah
mov dword [edx+8],ecx
ret
enddef
 
define @Menuet@ReadCommonColors$qpui
push ebx
mov eax,48
mov ebx,3
mov ecx,[esp+8]
mov edx,40
int 0x40
pop ebx
ret
enddef
 
define @Menuet@GetProcessInfo$qpuipct1t1piui
push ebx
push esi
push edi
sub esp,1024
mov eax,9
mov ebx,esp
mov ecx,[1024+12+24+esp]
int 0x40
xor edi,edi
or edi,[1024+12+4+esp]
jz Menuet_get_proc_info_no_usecpu
mov ecx,[esp]
mov [edi],ecx
xor edi,edi
Menuet_get_proc_info_no_usecpu:
or edi,[1024+12+8+esp]
jz Menuet_get_proc_info_no_name
lea esi,[esp+10]
cld
movs dword [edi],[esi]
movs dword [edi],[esi]
movs dword [edi],[esi]
mov byte [edi],0
xor edi,edi
Menuet_get_proc_info_no_name:
or edi,[1024+12+12+esp]
jz Menuet_get_proc_info_no_mem
mov ecx,[esp+26]
mov [edi],ecx
xor edi,edi
Menuet_get_proc_info_no_mem:
or edi,[1024+12+16+esp]
jz Menuet_get_proc_info_no_pid
mov ecx,[esp+30]
mov [edi],ecx
xor edi,edi
Menuet_get_proc_info_no_pid:
or edi,[1024+12+20+esp]
jz Menuet_get_proc_info_no_rect
lea esi,[esp+34]
cld
movs dword [edi],[esi]
movs dword [edi],[esi]
movs dword [edi],[esi]
movs dword [edi],[esi]
xor edi,edi
Menuet_get_proc_info_no_rect:
add esp,1024
pop edi
pop esi
pop ebx
ret
enddef
 
define @Menuet@GetPid$qv
push ebx
sub esp,1024
mov eax,9
mov ebx,esp
mov ecx,-1
int 0x40
mov eax,[esp+30]
add esp,1024
pop ebx
ret
enddef
 
define @Menuet@GetPid$qppv
mov ecx,[esp+4]
mov eax,[ecx+MENUET_THREAD_DATA_PID*4]
ret
enddef
 
define @Menuet@_HashByte$qui
nextdef @Menuet@_HashWord$qui
nextdef @Menuet@_HashDword$qui
mov eax,[esp+4]
nextdef Menuet_HashInt
mul dword [Menuet_hash_int_val0]
xor eax,edx
bswap eax
mul dword [Menuet_hash_int_val1]
shrd eax,edx,14
bswap eax
lea eax,[eax+4*eax]
ror eax,9
ret
Menuet_hash_int_val0:
dd 0xA82F94C5
Menuet_hash_int_val1:
dd 0x9193780B
enddef
 
define @Menuet@GetThreadData$qv
call @Menuet@GetPid$qv
push eax
call @Menuet@GetThreadData$qui
pop ecx
ret
enddef
 
define @Menuet@GetThreadData$qui
mov eax,[esp+4]
call Menuet_HashInt
movzx eax,al
cmp dword [@Menuet@_ThreadScanCount+4],0
jnz Menuet_get_thread_data_wait
Menuet_get_thread_data_nowait:
lock inc dword [@Menuet@_ThreadScanCount]
mov eax,dword [@Menuet@_ThreadTable+eax*4]
mov ecx,[esp+4]
jmp Menuet_get_thread_data_test
Menuet_get_thread_data_loop:
mov eax,dword [eax+MENUET_THREAD_DATA_NEXT*4]
Menuet_get_thread_data_test:
test eax,eax
jz Menuet_get_thread_data_end
cmp ecx,[eax+MENUET_THREAD_DATA_PID*4]
jnz Menuet_get_thread_data_loop
Menuet_get_thread_data_end:
lock dec dword [@Menuet@_ThreadScanCount]
ret
Menuet_get_thread_data_wait:
push eax
push ebx
mov eax,5
mov ebx,1
Menuet_get_thread_data_wait_loop:
int 0x40
cmp dword [@Menuet@_ThreadScanCount+4],0
jz Menuet_get_thread_data_wait_end
shl ebx,1
cmp ebx,MENUET_MUTEX_MAX_TIME_WAIT
jna Menuet_get_thread_data_wait_loop
mov ebx,MENUET_MUTEX_MAX_TIME_WAIT
jmp Menuet_get_thread_data_wait_loop
Menuet_get_thread_data_wait_end:
pop ebx
pop eax
jmp Menuet_get_thread_data_nowait
enddef
 
define @Menuet@_GetSkinHeader$qv
push ebx
mov eax,48
mov ebx,4
int 0x40
pop ebx
ret
enddef
 
define @Menuet@GetScreenSize$qrust1
mov eax,14
int 0x40
mov ecx,[esp+8]
mov word [ecx],ax
mov ecx,[esp+4]
shr eax,16
mov word [ecx],ax
ret
enddef
 
define Menuet_MutexLockNoWait
pop eax
xor al,al
ret
enddef
 
define Menuet_MutexLockWait
push ebx
mov eax,5
xor ebx,ebx
Menuet_lock_wait_cycle:
int 0x40
shl byte [ecx],1
jz Menuet_lock_wait_cycle
pop ebx
mov al,1
ret
enddef
 
define Menuet_MutexLockWaitTime
cmp dword [esp+12],0
jng Menuet_MutexLockWait
push ebx
push edx
mov edx,[esp+20]
mov eax,26
mov ebx,9
int 0x40
add edx,eax
Menuet_lock_wait_time_cycle:
mov eax,5
xor ebx,ebx
int 0x40
shl byte [ecx],1
jnz Menuet_lock_wait_time_ret_true
mov eax,26
mov ebx,9
int 0x40
cmp eax,edx
js Menuet_lock_wait_time_cycle
pop edx
pop ebx
pop eax
xor al,al
ret
Menuet_lock_wait_time_ret_true:
pop edx
pop ebx
mov al,1
ret
enddef
 
define Menuet_MutexLock
shl byte [ecx],1
jnz Menuet_lock_first
call eax
Menuet_lock_first:
mov al,1
ret
enddef
 
define @Menuet@TryLock$qp13Menuet@TMutex
mov eax,Menuet_MutexLockNoWait
mov ecx,[esp+4]
jmp Menuet_MutexLock
enddef
 
define @Menuet@Lock$qp13Menuet@TMutex
mov eax,Menuet_MutexLockWait
mov ecx,[esp+4]
jmp Menuet_MutexLock
enddef
 
define @Menuet@LockTime$qp13Menuet@TMutexi
mov eax,Menuet_MutexLockWaitTime
mov ecx,[esp+4]
jmp Menuet_MutexLock
enddef
 
define @Menuet@UnLock$qp13Menuet@TMutex
mov ecx,[esp+4]
shr byte [ecx],1
jz Menuet_unlock_pause
ret
Menuet_unlock_pause:
mov byte [ecx],0x40
push ebx
mov eax,5
xor ebx,ebx
int 0x40
pop ebx
ret
enddef
 
define Menuet_MutexLockRec
shl byte [ecx],1
jng Menuet_lock_first
cmp dword [ecx+4],edx
jz Menuet_lock_rec_self
call eax
Menuet_lock_rec_first:
mov al,1
mov dword [ecx+4],edx
ret
Menuet_lock_rec_self:
mov al,1
add dword [ecx],0x100
jc Menuet_lock_rec_overflow
ret
Menuet_lock_rec_overflow:
push dword [@Menuet@DebugPrefix]
call @Menuet@DebugPutString$qpxc
mov dword [esp],Menuet_try_lock_rec_overflow_string
call @Menuet@DebugPutString$qpxc
pop ecx
jmp @Menuet@Abort$qv
enddef
 
define @Menuet@TryLock$qp16Menuet@TRecMutexui
mov eax,Menuet_MutexLockNoWait
mov ecx,[esp+4]
mov edx,[esp+8]
jmp Menuet_MutexLockRec
enddef
 
define @Menuet@Lock$qp16Menuet@TRecMutexui
mov eax,Menuet_MutexLockWait
mov ecx,[esp+4]
mov edx,[esp+8]
jmp Menuet_MutexLockRec
enddef
 
define @Menuet@LockTime$qp16Menuet@TRecMutexiui
mov eax,Menuet_MutexLockWaitTime
mov ecx,[esp+4]
mov edx,[esp+12]
jmp Menuet_MutexLockRec
enddef
 
define @Menuet@UnLock$qp16Menuet@TRecMutexui
mov ecx,[esp+4]
mov edx,[esp+8]
cmp dword [ecx+4],edx
jnz Menuet_unlock_rec_notlocked
sub dword [ecx],0x100
jnc Menuet_unlock_rec_end
add dword [ecx],0x100
shl byte [ecx],1
shr byte [ecx],2
jng Menuet_unlock_rec_pause
Menuet_unlock_rec_end:
ret
Menuet_unlock_rec_pause:
mov byte [ecx],0x20
push ebx
mov eax,5
xor ebx,ebx
int 0x40
pop ebx
ret
Menuet_unlock_rec_notlocked:
push dword [@Menuet@DebugPrefix]
call @Menuet@DebugPutString$qpxc
mov dword [esp],Menuet_unlock_rec_notlocked_string
call @Menuet@DebugPutString$qpxc
pop ecx
jmp @Menuet@Abort$qv
enddef
 
define @Menuet@DebugPutChar$qc
mov cl,byte [esp+4]
cmp cl,13
jz Menuet_debug_put_char_ret
push ebx
cmp cl,10
jz Menuet_debug_put_char_enter
Menuet_debug_put_char_after_cmp:
mov eax,63
mov ebx,1
int 0x40
pop ebx
Menuet_debug_put_char_ret:
ret
Menuet_debug_put_char_enter:
mov cl,13
mov eax,63
mov ebx,1
int 0x40
mov cl,10
jmp Menuet_debug_put_char_after_cmp
enddef
 
define @Menuet@DebugPutString$qpxc
push esi
push dword 0
mov esi,dword [esp+12]
jmp Menuet_debug_put_string_test
Menuet_debug_put_string_loop:
mov dword [esp],eax
call @Menuet@DebugPutChar$qc
inc esi
Menuet_debug_put_string_test:
xor eax,eax
or al,[esi]
test al,al
jnz Menuet_debug_put_string_loop
pop ecx
pop esi
ret
enddef
 
define @Menuet@GetKey$qv
mov eax,2
int 0x40
test al,al
jnz Menuet_get_key_eof
movzx eax,ah
ret
Menuet_get_key_eof:
mov eax,-1
ret
enddef
 
define @Menuet@GetMouseButton$qv
push ebx
mov eax,37
mov ebx,2
int 0x40
pop ebx
ret
enddef
 
define @Menuet@GetMousePosition$qrst1o
push ebx
mov eax,37
xor ebx,ebx
cmp byte [esp+16],0
jnz Menuet_get_mouse_pos_absolute
inc ebx
Menuet_get_mouse_pos_absolute:
int 0x40
mov ecx,[esp+12]
mov word [ecx],ax
mov ecx,[esp+8]
shr eax,16
mov word [ecx],ax
pop ebx
ret
enddef
 
define @Menuet@WasThreadCreated$qv
cmp byte [@Menuet@_ThreadSavedBegProc],0x90
setz al
ret
enddef
 
define @Menuet@CreateThread$qpvuit1
push ebx
mov edx,[esp+16]
mov ebx,[esp+12]
test edx,edx
jnz Menuet_create_thread_after_new
if defined MenuetHeapAlloc
cmp ebx,4096
jnb Menuet_create_thread_alloc
mov ebx,STACKSIZE
Menuet_create_thread_alloc:
push ebx
call MenuetHeapAlloc ; Create new dynamic memory of the given size
pop ecx
test eax,eax
jnz Menuet_create_thread_mem_created
end if
or eax,-1
jmp Menuet_create_thread_end
Menuet_create_thread_mem_created:
lea edx,[eax+ebx]
Menuet_create_thread_after_new:
neg ebx
jz Menuet_create_thread_test_first
add ebx,edx
Menuet_create_thread_test_first:
cmp byte [@Menuet@_ThreadSavedBegProc],0x90
jnz Menuet_create_thread_init
Menuet_create_thread_fill_stack:
lock inc dword [@Menuet@_ThreadNumber]
and edx,not 3
sub edx,12
mov ecx,[esp+8]
mov dword [edx+8],ebx
mov dword [edx+4],ecx
mov dword [edx],Menuet_ThreadFinish
mov eax,51
mov ebx,1
mov ecx,@Menuet@ThreadMain$qpvt1
int 0x40
mov ebx,eax
or bl,15
inc ebx
jnz Menuet_create_thread_end
lock dec dword [@Menuet@_ThreadNumber]
if defined MenuetHeapFree
or ebx,[edx+8]
jz Menuet_create_thread_end
push ebx
call MenuetHeapFree ; Delete the given dynamic memory
pop ecx
end if
Menuet_create_thread_end:
pop ebx
ret
Menuet_create_thread_init:
push esi
push edi
cld
mov esi,@Menuet@_ThreadSavedBegProc
mov edi,@Menuet@GetPid$qv
movs dword [edi],[esi]
movs dword [edi],[esi]
mov edi,@Menuet@GetThreadData$qv
movs dword [edi],[esi]
movs dword [edi],[esi]
mov eax,0x90909090
mov edi,@Menuet@_ThreadSavedBegProc
stos dword [edi]
stos dword [edi]
stos dword [edi]
stos dword [edi]
pop edi
pop esi
jmp Menuet_create_thread_fill_stack
enddef
 
define @Menuet@_FileAccess$qpv
push ebx
mov eax,70
mov ebx,[esp+8]
int 0x40
mov ecx,[esp+8]
mov [ecx],ebx
pop ebx
ret
enddef
 
define Menuet_abort_string
db 'Abnormal program termination.',10,0
newdef Menuet_try_lock_rec_overflow_string
db 'Recursive mutex lock count overflow.',10,0
newdef Menuet_unlock_rec_notlocked_string
db 'Recursive mutex unlock error.',10,0
enddef
 
include "me_lib.inc"
 
;/**/
 
/programs/demos/life2/include/me_heap.h
0,0 → 1,90
#ifndef __MENUET_HEAP_H_INCLUDED_
#define __MENUET_HEAP_H_INCLUDED_
 
#include <menuet.h>
#include <memheap.h>
 
// Menuet memory heap interface.
 
namespace Menuet // All menuet functions, types and data are nested in the (Menuet) namespace.
{
void *Alloc(unsigned int size);
void *ReAlloc(void *mem, unsigned int size);
void Free(void *mem);
}
 
#ifdef __MENUET__
 
namespace Menuet
{
 
// Global variables
 
MemoryHeap::TFreeSpace _MenuetFreeSpace;
MemoryHeap::TMemBlock _MenuetMemBlock;
TMutex _MemHeapMutex = MENUET_MUTEX_INIT;
 
// Functions
 
void *_HeapInit(void *begin, void *use_end, void *end)
{
MemoryHeap::InitFreeSpace(_MenuetFreeSpace);
_MenuetMemBlock = MemoryHeap::CreateBlock(begin, end, _MenuetFreeSpace);
unsigned int use_beg = (unsigned int)MemoryHeap::BlockBegin(_MenuetMemBlock) +
MemoryHeap::BlockAddSize - MemoryHeap::BlockEndSize;
unsigned int use_size = (unsigned int)use_end;
if (use_size <= use_beg) return 0;
else use_size -= use_beg;
return MemoryHeap::Alloc(_MenuetFreeSpace, use_size);
}
 
bool _SetUseMemory(unsigned int use_mem);
 
int _RecalculateUseMemory(unsigned int use_mem);
 
void *Alloc(unsigned int size)
{
if (!size) return 0;
Lock(&_MemHeapMutex);
void *res = MemoryHeap::Alloc(_MenuetFreeSpace, size);
if (!res)
{
unsigned use_mem = (unsigned int)MemoryHeap::BlockEndFor(_MenuetMemBlock, size);
if (_SetUseMemory(_RecalculateUseMemory(use_mem)))
{
res = MemoryHeap::Alloc(_MenuetFreeSpace, size);
}
}
UnLock(&_MemHeapMutex);
return res;
}
 
void *ReAlloc(void *mem, unsigned int size)
{
Lock(&_MemHeapMutex);
void *res = MemoryHeap::ReAlloc(_MenuetFreeSpace, mem, size);
if (!res && size)
{
unsigned use_mem = (unsigned int)MemoryHeap::BlockEndFor(_MenuetMemBlock, size);
if (_SetUseMemory(_RecalculateUseMemory(use_mem)))
{
res = MemoryHeap::ReAlloc(_MenuetFreeSpace, mem, size);
}
}
UnLock(&_MemHeapMutex);
return res;
}
 
void Free(void *mem)
{
Lock(&_MemHeapMutex);
MemoryHeap::Free(_MenuetFreeSpace, mem);
UnLock(&_MemHeapMutex);
}
 
void _FreeAndThreadFinish(void *mem, int *exit_proc_now);
}
 
#endif // def __MENUET__
 
#endif // ndef __MENUET_HEAP_H_INCLUDED_
/programs/demos/life2/include/me_heap.inc
0,0 → 1,97
;/***
 
MenuetHeapInit = @@Menuet@_HeapInit$qpvt1t1
 
MenuetHeapAlloc = @@Menuet@Alloc$qui
 
MenuetHeapReAlloc = @@Menuet@ReAlloc$qpvui
 
MenuetHeapFree = @@Menuet@Free$qpv
 
MenuetHeapFreeAndThreadFinish = @Menuet@_FreeAndThreadFinish$qpvpi
 
define @Menuet@_SetUseMemory$qui
push ebx
mov eax,64
mov ebx,1
mov ecx,[esp+8]
int 0x40
pop ebx
test eax,eax
jnz Menuet_set_use_memory_nomem
push ecx
push dword [@Menuet@_MenuetMemBlock]
call @@MemoryHeap@ResizeBlock$q20MemoryHeap@TMemBlockpv
add esp,8
mov al,1
ret
Menuet_set_use_memory_nomem:
xor al,al
ret
enddef
 
define @Menuet@_RecalculateUseMemory$qui
mov eax,dword [esp+4]
mov ecx,(U_END + 3) and not 3
cmp eax,ecx
jna Menuet_recalculate_use_memory_min
push ebx
sub eax,ecx
mov ebx,6
mul ebx
dec ebx
div ebx
add eax,((U_END + 3) and not 3) + 3
and eax,not 3
pop ebx
ret
Menuet_recalculate_use_memory_min:
mov eax,ecx
ret
enddef
 
define @Menuet@_FreeAndThreadFinish$qpvpi
mov ebx,1
mov ecx,[esp+8]
jmp Menuet_heap_free_tf_wait
Menuet_heap_free_tf_wait_loop:
mov eax,5
int 0x40
shl ebx,1
cmp ebx,MENUET_MUTEX_MAX_TIME_WAIT
jna Menuet_heap_free_tf_wait
mov ebx,MENUET_MUTEX_MAX_TIME_WAIT
Menuet_heap_free_tf_wait:
cmp dword [ecx],0
jnz @Menuet@ExitProcess$qv
lock bts dword [@Menuet@_MemHeapMutex],0
jc Menuet_heap_free_tf_wait_loop
push dword [esp+4]
push @Menuet@_MenuetFreeSpace
call @@MemoryHeap@Free$qr21MemoryHeap@TFreeSpacepv
add esp,8
mov byte [@Menuet@_MemHeapMutex],0x40
or eax,-1
int 0x40
enddef
 
macro call func
{
if func eq @MemoryHeap@_FirstNotZeroBit$qui
bsf eax,[esp]
else if func eq @MemoryHeap@_CopyMemItemArray$quiuiui
xchg edi,[esp]
xchg esi,[esp+4]
mov ecx,[esp+8]
cld
sub ecx,esi
shr ecx,2
rep movs dword [edi],[esi]
xchg edi,[esp]
xchg esi,[esp+4]
else
call func
end if
}
 
;/**/
/programs/demos/life2/include/me_lib.h
0,0 → 1,16
#ifndef __MENUET_LIB_H_INCLUDED_
#define __MENUET_LIB_H_INCLUDED_
 
// Menuet interface.
 
namespace Menuet // All menuet functions, types and data are nested in the (Menuet) namespace.
{
unsigned int StrLen(const char *str);
char *StrCopy(char *dest, const char *src);
void *MemCopy(void *dest, const void *src, unsigned int n);
void *MemSet(void *s, char c, unsigned int n);
 
double Floor(double x);
}
 
#endif // __MENUET_LIB_H_INCLUDED_
/programs/demos/life2/include/me_lib.inc
0,0 → 1,118
define @Menuet@StrLen$qpxc
push edi
cld
mov edi,[esp+8]
mov ecx,-1
xor al,al
repnz scas byte [edi]
not ecx
lea eax,[ecx-1]
pop edi
ret
enddef
 
define @Menuet@StrCopy$qpcpxc
push esi
push edi
cld
mov edi,[esp+16]
mov ecx,-1
mov esi,edi
xor al,al
repnz scas byte [edi]
not ecx
mov edi,[esp+12]
mov edx,ecx
mov eax,edi
shr ecx,2
rep movs dword [edi],[esi]
mov ecx,edx
and ecx,3
rep movs byte [edi],[esi]
pop edi
pop esi
ret
enddef
 
define @Menuet@MemCopy$qpvpxvui
push esi
push edi
cld
mov edi,[esp+12]
mov eax,edi
mov ecx,[esp+20]
mov esi,[esp+16]
mov edx,ecx
shr ecx,2
rep movs dword [edi],[esi]
mov ecx,edx
and ecx,3
rep movs byte [edi],[esi]
pop edi
pop esi
ret
enddef
 
define @Menuet@MemSet$qpvcui
push edi
cld
mov edi,[esp+8]
mov al,[esp+12]
mov ah,al
mov dx,ax
shl eax,16
mov ax,dx
mov ecx,[esp+16]
mov edx,ecx
shr ecx,2
rep stos dword [edi]
mov ecx,edx
and ecx,3
rep stos byte [edi]
pop edi
mov eax,[esp+4]
ret
enddef
 
define __ftol
sub esp,12
wait
fstcw word [esp+8]
wait
mov al,[esp+9]
or byte [esp+9],0x0c
fldcw word [esp+8]
fistp qword [esp]
mov [esp+9],al
fldcw word [esp+8]
mov eax,[esp]
mov edx,[esp+4]
add esp,12
ret
enddef
 
define @Menuet@Floor$qd
fld qword [esp+4]
mov ax,[esp+10]
shl ax,1
cmp ax,0x8680
ja Menuet_floor_end
mov ch,4
sub esp,2
wait
fstcw word [esp]
mov ax,0xf3ff
wait
mov dx,[esp]
and ax,dx
or ah,ch
mov [esp],ax
fldcw word [esp]
frndint
mov [esp],dx
fldcw word [esp]
add esp,2
Menuet_floor_end:
ret
enddef
 
/programs/demos/life2/include/me_start.inc
0,0 → 1,90
use32
org 0x0
db 'MENUET01'
dd 0x1
dd MenuetEntryPoint
dd I_END
dd U_END+STACKSIZE+HEAPSIZE
dd U_END+STACKSIZE
dd @Menuet@CommandLine,0x0
 
ptr equ
offset equ
short equ
tbyte equ tword
 
PTR equ
OFFSET equ
SHORT equ
TBYTE equ TWORD
 
macro movsb a,b
{
if a eq & b eq
movsb
else
movsx a,b
end if
}
macro movsw a,b
{
if a eq & b eq
movsw
else
movsx a,b
end if
}
 
macro segment name {}
 
macro endseg name {}
 
macro usedef [link]
{
common
if ~link eq
virtual at 0
forward
dd link
common
end virtual
end if
}
 
macro define x,[link]
{
common
if x eq
else if used x
x:
usedef link
}
 
macro enddef [link]
{
common
usedef link
end if
}
 
macro newdef x,[link]
{
common
end if
if x eq
else if used x
x:
usedef link
}
 
macro nextdef x,[link]
{
common
usedef x
end if
if x eq
else if used x
x:
usedef link
}
/programs/demos/life2/include/memheap.h
0,0 → 1,626
#ifndef __MEMORY_HEAP_RBTREE_H_INCLUDED_
#define __MEMORY_HEAP_RBTREE_H_INCLUDED_
 
namespace MemoryHeap
{
typedef unsigned int TMemItem;
 
enum {NumTreeSmall = 8 * sizeof(TMemItem)};
 
// Memory heap interface.
 
struct TFreeSpace
{
TMemItem Small[NumTreeSmall], Min, SmallMask;
};
 
struct TMemBlock
{
TMemItem *Begin;
};
 
bool BlockValid(const TMemBlock &block); // Is the given memory block valid?
void *BlockBegin(const TMemBlock &block); // Return the beginning address of the block.
void *BlockEnd(const TMemBlock &block); // Return the ending address of the block.
TFreeSpace &BlockFreeSpace(const TMemBlock &block); // Return the free space of the block.
 
void InitFreeSpace(TFreeSpace &fs); // Initialize the free space.
TMemBlock NullBlock(); // Return null invalid block.
TMemBlock CreateBlock(void *begin, void *end, TFreeSpace &fs);
// Create a memory block with the given begin and end and add free space of it to (fs),
//_ give (BlockAddSize) bytes of the block for it's data.
//_ (Program can alloc (end - begin - BlockAddSize) bytes after it,
//_ that must be not less than (MemMinSize) ).
TMemBlock CreateBlock(void *begin, void *end);
// Create a memory block with the given begin and end and new free space for it,
//_ give (BlockAddSizeFS) bytes of the block for it's data.
//_ (Program can alloc (end - begin - BlockAddSizeFS) bytes after it,
//_ that must be not less than (MemMinSize) ).
void ResizeBlock(TMemBlock block, void *new_end); // Resize the memory block to the given new end.
void RemoveBlock(TMemBlock block); // Remove the given memory block.
 
void *BlockEndFor(TMemBlock block, unsigned int size);
// Return the new end of the block needed for (ResizeBlock) to alloc the given size of memory.
unsigned int BlockSize(TMemBlock block); // Return the size of the given block.
unsigned int MemSize(void *mem); // Return the size of the allocced memory.
 
void *Alloc(TFreeSpace &fs, unsigned int size);
// Alloc a memory in the given free space, give (MemAddSize) bytes for it's data.
void *ReAlloc(TFreeSpace &fs, unsigned int size, void *mem);
// ReAlloc the given memory, it must lie in the block with the given free space.
void Free(TFreeSpace &fs, void *mem);
// Free the given memory, it must lie in the block with the given free space.
 
// Macro definitions.
 
#define MEMORY_HEAP_ALIGN_DOWN(s) (MemoryHeap::TMemItem(s) & ~(MemoryHeap::MemAlign - 1))
#define MEMORY_HEAP_ALIGN_UP(s) ((MemoryHeap::TMemItem(s) + (MemoryHeap::MemAlign - 1)) & ~(MemoryHeap::MemAlign - 1))
#define MEMORY_HEAP_ITEM(s,k) ( ((MemoryHeap::TMemItem*)(s))[(k)] )
#define MEMORY_HEAP_NEXT(s) (MEMORY_HEAP_ITEM((s),-1))
#define MEMORY_HEAP_PREV(s) (MEMORY_HEAP_ITEM((s),-2))
#define MEMORY_HEAP_FREE(s) (MEMORY_HEAP_ITEM((s),-1) & 1)
 
// Constants.
 
enum {MemAlign = sizeof(TMemItem)};
enum {MemAddSize = MEMORY_HEAP_ALIGN_UP(2 * sizeof(TMemItem))};
enum {BlockEndSize = MemAddSize};
enum {BlockAddSize = MEMORY_HEAP_ALIGN_UP(4 * sizeof(TMemItem)) + BlockEndSize};
enum {BlockAddSizeFS = BlockAddSize + BlockEndSize + MEMORY_HEAP_ALIGN_UP(sizeof(TFreeSpace))};
enum {MemMinSize = MEMORY_HEAP_ALIGN_UP(2 * sizeof(TMemItem))};
 
// Inline functions.
 
inline bool BlockValid(const TMemBlock &block) {return block.Begin != 0;}
 
inline void *BlockBegin(const TMemBlock &block) {return (void*)block.Begin;}
 
inline void *BlockEnd(const TMemBlock &block) {return block.Begin ? (void*)block.Begin[1] : 0;}
 
inline TFreeSpace &BlockFreeSpace(const TMemBlock &block) {return *(TFreeSpace*)block.Begin[0];}
 
inline TMemBlock NullBlock() {TMemBlock block; block.Begin = 0; return block;}
 
inline void *BlockEndFor(TMemBlock block, unsigned int size)
{
TMemItem last = (TMemItem)block.Begin[1];
TMemItem prevlast = MEMORY_HEAP_PREV(last);
return (void*)( (MEMORY_HEAP_FREE(prevlast) ? prevlast : last) + MemAddSize +
((size <= MemMinSize) ? MemMinSize : MEMORY_HEAP_ALIGN_UP(size)) );
}
 
inline unsigned int BlockSize(TMemBlock block)
{
if (!block.Begin) return 0;
return (unsigned int)(block.Begin[1] - (TMemItem)block.Begin);
}
 
inline unsigned int MemSize(void *mem)
{
if (!mem) return 0;
TMemItem c = (TMemItem)mem;
return MEMORY_HEAP_NEXT(c) - c - MemAddSize;
}
 
// Free space item functions.
 
TMemItem _FirstNotZeroBit(TMemItem i)
{
TMemItem r = 0;
while ((i >>= 1) != 0) r++;
return r;
}
 
void _RBTreeRotate(TMemItem parent, TMemItem item, int side)
{
TMemItem temp = MEMORY_HEAP_ITEM(parent,0);
MEMORY_HEAP_ITEM(item,0) = temp;
if (temp)
{
if (MEMORY_HEAP_ITEM(temp,2) == parent)
{
MEMORY_HEAP_ITEM(temp,2) = item;
}
else MEMORY_HEAP_ITEM(temp,3) = item;
}
temp = MEMORY_HEAP_ITEM(item,side^1);
if (temp) MEMORY_HEAP_ITEM(temp,0) = parent;
MEMORY_HEAP_ITEM(parent,side) = temp;
MEMORY_HEAP_ITEM(parent,0) = item;
MEMORY_HEAP_ITEM(item,side^1) = parent;
temp = MEMORY_HEAP_ITEM(parent,1);
MEMORY_HEAP_ITEM(parent,1) = MEMORY_HEAP_ITEM(item,1);
MEMORY_HEAP_ITEM(item,1) = temp;
}
 
void InitFreeSpace(TFreeSpace &fs)
{
TMemItem i;
for (i = 0; i <= NumTreeSmall; i++) fs.Small[i] = 0;
fs.Min = 0; fs.SmallMask = 0;
}
 
void _FreeAdd(TFreeSpace &fs, TMemItem item)
{
TMemItem size = MEMORY_HEAP_NEXT(item) - item;
if (size < MemAddSize + MemMinSize + MemAlign * NumTreeSmall)
{
TMemItem s = (size - (MemAddSize + MemMinSize)) / MemAlign;
TMemItem &addto = fs.Small[s];
MEMORY_HEAP_ITEM(item,1) = (TMemItem)(&addto);
MEMORY_HEAP_ITEM(item,0) = (TMemItem)addto;
if (addto) MEMORY_HEAP_ITEM(addto,1) = item;
addto = item;
fs.SmallMask |= TMemItem(1) << s;
return;
}
TMemItem addto = fs.Min, parent, temp;
MEMORY_HEAP_ITEM(item,2) = 0;
MEMORY_HEAP_ITEM(item,3) = 0;
if (!addto)
{
MEMORY_HEAP_ITEM(item,0) = 0;
MEMORY_HEAP_ITEM(item,1) = 1;
fs.Min = item;
return;
}
MEMORY_HEAP_ITEM(item,1) = 0;
TMemItem side = 2;
if (MEMORY_HEAP_NEXT(addto) - addto >= size) fs.Min = item;
else
{
for (;;)
{
parent = MEMORY_HEAP_ITEM(addto,0);
if (!parent) break;
if (MEMORY_HEAP_NEXT(parent) - parent < size) addto = parent;
else break;
}
for (;;)
{
if (MEMORY_HEAP_NEXT(addto) - addto < size)
{
temp = MEMORY_HEAP_ITEM(addto,3);
if (!temp) {side = 3; break;}
addto = temp;
}
else
{
temp = MEMORY_HEAP_ITEM(addto,2);
if (!temp) break;
addto = temp;
}
}
}
MEMORY_HEAP_ITEM(item,0) = addto;
MEMORY_HEAP_ITEM(addto,side) = item;
for (;;)
{
if (MEMORY_HEAP_ITEM(addto,1) != 0) return;
parent = MEMORY_HEAP_ITEM(addto,0);
temp = MEMORY_HEAP_ITEM(parent,2);
if (temp == addto)
{
temp = MEMORY_HEAP_ITEM(parent,3);
side = 2;
}
else side = 3;
if (!temp || MEMORY_HEAP_ITEM(temp,1) != 0) break;
MEMORY_HEAP_ITEM(addto,1) = 1;
MEMORY_HEAP_ITEM(temp,1) = 1;
item = parent;
addto = MEMORY_HEAP_ITEM(item,0);
if (!addto) return;
MEMORY_HEAP_ITEM(item,1) = 0;
}
if (MEMORY_HEAP_ITEM(addto,side) != item)
{
temp = MEMORY_HEAP_ITEM(item,side);
if (temp) MEMORY_HEAP_ITEM(temp,0) = addto;
MEMORY_HEAP_ITEM(addto,side^1) = temp;
MEMORY_HEAP_ITEM(addto,0) = item;
MEMORY_HEAP_ITEM(item,side) = addto;
MEMORY_HEAP_ITEM(item,0) = parent;
MEMORY_HEAP_ITEM(parent,side) = item;
}
else item = addto;
_RBTreeRotate(parent, item, side);
}
 
void _FreeDel(TFreeSpace &fs, TMemItem item)
{
TMemItem size = MEMORY_HEAP_NEXT(item) - item;
if (size < MemAddSize + MemMinSize + MemAlign * NumTreeSmall)
{
TMemItem prev = MEMORY_HEAP_ITEM(item,1);
TMemItem next = MEMORY_HEAP_ITEM(item,0);
MEMORY_HEAP_ITEM(prev,0) = next;
if (next) MEMORY_HEAP_ITEM(next,1) = prev;
else
{
TMemItem s = (size - (MemAddSize + MemMinSize)) / MemAlign;
if (!fs.Small[s]) fs.SmallMask &= ~(TMemItem(1) << s);
}
return;
}
TMemItem parent, temp, second, add;
TMemItem side = 2;
temp = MEMORY_HEAP_ITEM(item,3);
if (temp)
{
for (;;)
{
second = temp;
temp = MEMORY_HEAP_ITEM(temp,2);
if (!temp) break;
}
if (fs.Min == item) fs.Min = second;
add = MEMORY_HEAP_ITEM(second,3);
parent = MEMORY_HEAP_ITEM(second,0);
if (parent == item) {parent = second; side = 3;}
else
{
temp = MEMORY_HEAP_ITEM(item,3);
MEMORY_HEAP_ITEM(second,3) = temp;
MEMORY_HEAP_ITEM(temp,0) = second;
}
temp = MEMORY_HEAP_ITEM(item,2);
MEMORY_HEAP_ITEM(second,2) = temp;
if (temp) MEMORY_HEAP_ITEM(temp,0) = second;
temp = MEMORY_HEAP_ITEM(item,0);
MEMORY_HEAP_ITEM(second,0) = temp;
if (temp)
{
if (MEMORY_HEAP_ITEM(temp,2) == item)
{
MEMORY_HEAP_ITEM(temp,2) = second;
}
else MEMORY_HEAP_ITEM(temp,3) = second;
}
MEMORY_HEAP_ITEM(parent,side) = add;
if (add) MEMORY_HEAP_ITEM(add,0) = parent;
bool color = MEMORY_HEAP_ITEM(second,1);
MEMORY_HEAP_ITEM(second,1) = MEMORY_HEAP_ITEM(item,1);
if (!color) return;
}
else
{
if (fs.Min == item) fs.Min = MEMORY_HEAP_ITEM(item,0);
add = MEMORY_HEAP_ITEM(item,2);
parent = MEMORY_HEAP_ITEM(item,0);
if (add) MEMORY_HEAP_ITEM(add,0) = parent;
if (parent)
{
if (MEMORY_HEAP_ITEM(parent,2) == item)
{
MEMORY_HEAP_ITEM(parent,2) = add;
}
else
{
MEMORY_HEAP_ITEM(parent,3) = add;
side = 3;
}
}
else
{
if (add) MEMORY_HEAP_ITEM(add,1) = 1;
return;
}
if (!MEMORY_HEAP_ITEM(item,1)) return;
}
if (add && !MEMORY_HEAP_ITEM(add,1))
{
MEMORY_HEAP_ITEM(add,1) = 1;
return;
}
for (;;)
{
second = MEMORY_HEAP_ITEM(parent,side^1);
if (!MEMORY_HEAP_ITEM(second,1))
{
_RBTreeRotate(parent, second, side^1);
second = MEMORY_HEAP_ITEM(parent,side^1);
}
temp = MEMORY_HEAP_ITEM(second,side^1);
if (temp && !MEMORY_HEAP_ITEM(temp,1))
{
MEMORY_HEAP_ITEM(temp,1) = 1;
break;
}
temp = MEMORY_HEAP_ITEM(second,side);
if (temp && !MEMORY_HEAP_ITEM(temp,1))
{
_RBTreeRotate(second, temp, side);
MEMORY_HEAP_ITEM(second,1) = 1;
second = temp;
break;
}
MEMORY_HEAP_ITEM(second,1) = 0;
if (!MEMORY_HEAP_ITEM(parent,1))
{
MEMORY_HEAP_ITEM(parent,1) = 1;
return;
}
second = parent;
parent = MEMORY_HEAP_ITEM(second,0);
if (!parent) return;
if (MEMORY_HEAP_ITEM(parent,2) == second) side = 2;
else side = 3;
}
_RBTreeRotate(parent, second, side^1);
}
 
TMemItem _FreeFindAfter(TMemItem item, TMemItem size)
{
if (!item) return 0;
TMemItem paritem, s;
if (MEMORY_HEAP_NEXT(item) - item >= size) return item;
for (;;)
{
paritem = MEMORY_HEAP_ITEM(item,0);
if (!paritem) break;
s = MEMORY_HEAP_NEXT(paritem) - paritem;
if (s == size) return paritem;
if (s < size) item = paritem;
else break;
}
MEMORY_HEAP_ITEM(item,3);
for (;;)
{
if (!item) return paritem;
s = MEMORY_HEAP_NEXT(item) - item;
if (s == size) return item;
if (s < size) item = MEMORY_HEAP_ITEM(item,3);
else
{
paritem = item;
item = MEMORY_HEAP_ITEM(item,2);
}
}
}
 
TMemItem _FreeFind(TFreeSpace &fs, TMemItem size)
{
TMemItem item, nextitem, s;
if (size < MemAddSize + MemMinSize + MemAlign * NumTreeSmall)
{
TMemItem m, t;
s = (size - (MemAddSize + MemMinSize)) / MemAlign;
item = fs.Small[s];
if (item) return item;
if (size < MemAlign * NumTreeSmall)
{
t = size / MemAlign;
m = fs.SmallMask >> t;
if (m) return fs.Small[t + _FirstNotZeroBit(m)];
else if (fs.Min) return fs.Min;
}
else
{
item = _FreeFindAfter(fs.Min, size + 1 + MemAddSize + MemMinSize);
if (item) return item;
}
m = fs.SmallMask >> s;
if (m) return fs.Small[s + _FirstNotZeroBit(m)];
else return fs.Min;
}
item = _FreeFindAfter(fs.Min, ++size);
if (!item) return 0;
s = MEMORY_HEAP_NEXT(item) - item;
if (s == size) return item;
size += MemAddSize + MemMinSize;
if (s >= size) return item;
nextitem = _FreeFindAfter(item, size);
return nextitem ? nextitem : item;
}
 
// Block functions.
 
inline void _CreateBlockEnd(TMemBlock &block, TFreeSpace &fs, TMemItem c, TMemItem e)
{
block.Begin[0] = (TMemItem)(&fs);
if (e - c < TMemItem(MemAddSize + MemMinSize))
{
MEMORY_HEAP_NEXT(c) = 0;
block.Begin[1] = c;
}
else
{
MEMORY_HEAP_NEXT(c) = e + 1;
_FreeAdd(fs, c);
MEMORY_HEAP_PREV(e) = c;
MEMORY_HEAP_NEXT(e) = 0;
block.Begin[1] = e;
}
}
 
TMemBlock CreateBlock(void *begin, void *end, TFreeSpace &fs)
{
TMemBlock block = {0};
TMemItem b = MEMORY_HEAP_ALIGN_UP(begin);
TMemItem e = MEMORY_HEAP_ALIGN_DOWN(end);
if (e <= b || e - b < TMemItem(BlockAddSize - MemAddSize)) return block;
block.Begin = (TMemItem*)b;
b += MEMORY_HEAP_ALIGN_UP(4 * sizeof(TMemItem));
MEMORY_HEAP_PREV(b) = 0;
_CreateBlockEnd(block, fs, b, e);
return block;
}
 
TMemBlock CreateBlock(void *begin, void *end)
{
TMemBlock block = {0};
TMemItem b = MEMORY_HEAP_ALIGN_UP(begin);
TMemItem e = MEMORY_HEAP_ALIGN_DOWN(end);
if (e <= b || e - b < TMemItem(BlockAddSizeFS - MemAddSize)) return block;
block.Begin = (TMemItem*)b;
b += MEMORY_HEAP_ALIGN_UP(4 * sizeof(TMemItem));
TMemItem c = b + MemAddSize + MEMORY_HEAP_ALIGN_UP(sizeof(TFreeSpace));
MEMORY_HEAP_PREV(b) = 0;
MEMORY_HEAP_NEXT(b) = c;
MEMORY_HEAP_PREV(c) = b;
InitFreeSpace(*(TFreeSpace*)b);
_CreateBlockEnd(block, *(TFreeSpace*)b, c, e);
return block;
}
 
void ResizeBlock(TMemBlock block, void *new_end)
{
if (!BlockValid(block)) return;
TMemItem e = MEMORY_HEAP_ALIGN_DOWN(new_end);
TMemItem c = block.Begin[1];
TFreeSpace &fs = *(TFreeSpace*)block.Begin[0];
do
{
if (c == e) return;
else if (c > e)
{
while ((c = MEMORY_HEAP_PREV(c)) > e)
{
if (MEMORY_HEAP_FREE(c)) _FreeDel(fs, c);
}
if (!c) {block.Begin = 0; return;}
if (MEMORY_HEAP_FREE(c))
{
_FreeDel(fs, c);
if (e - c < TMemItem(MemAddSize + MemMinSize)) e = c;
else
{
MEMORY_HEAP_NEXT(c) = e + 1;
_FreeAdd(*(TFreeSpace*)block.Begin[0], c);
break;
}
}
else if (e - c >= TMemItem(MemAddSize + MemMinSize))
{
MEMORY_HEAP_NEXT(c) = e; break;
}
MEMORY_HEAP_NEXT(c) = 0;
block.Begin[1] = c;
if (c == e) return;
}
TMemItem pc = MEMORY_HEAP_PREV(c);
if (pc && MEMORY_HEAP_FREE(pc)) _FreeDel(fs, c = pc);
else if (e - c < TMemItem(MemAddSize + MemMinSize)) return;
MEMORY_HEAP_NEXT(c) = e + 1;
_FreeAdd(fs, c);
} while(false);
MEMORY_HEAP_PREV(e) = c;
MEMORY_HEAP_NEXT(e) = 0;
block.Begin[1] = e;
}
 
void RemoveBlock(TMemBlock block)
{
if (!BlockValid(block)) return;
TMemItem e = block.Begin[1];
TFreeSpace &fs = *(TFreeSpace*)block.Begin[0];
while ((e = MEMORY_HEAP_PREV(e)) != 0)
{
if (MEMORY_HEAP_FREE(e)) _FreeDel(fs, e);
}
block.Begin = 0;
}
 
// Free space functions.
 
void _CopyMemItemArray(TMemItem dest, TMemItem src, TMemItem end)
{
TMemItem k = (end - src) / sizeof(TMemItem);
TMemItem *d = (TMemItem*)dest;
TMemItem *s = (TMemItem*)src;
while (k--) *(d++) = *(s++);
}
 
void *Alloc(TFreeSpace &fs, unsigned int size)
{
if (!size) return 0;
TMemItem s = MEMORY_HEAP_ALIGN_UP(size) + MemAddSize;
if (s < MemAddSize + MemMinSize) s = MemAddSize + MemMinSize;
TMemItem c = _FreeFind(fs, s);
if (!c) return 0;
_FreeDel(fs, c);
TMemItem nc = --MEMORY_HEAP_NEXT(c);
TMemItem mc = c + s;
if (nc - (MemAddSize + MemMinSize) >= mc)
{
MEMORY_HEAP_NEXT(c) = mc;
MEMORY_HEAP_PREV(mc) = c;
MEMORY_HEAP_NEXT(mc) = nc + 1;
MEMORY_HEAP_PREV(nc) = mc;
_FreeAdd(fs, mc);
}
return (void*)c;
}
 
void *ReAlloc(TFreeSpace &fs, void *mem, unsigned int size)
{
if (!mem) return Alloc(fs, size);
if (!size) {Free(fs, mem); return 0;}
TMemItem s = MEMORY_HEAP_ALIGN_UP(size) + MemAddSize;
TMemItem c = (TMemItem)mem;
TMemItem mc = MEMORY_HEAP_NEXT(c);
TMemItem nc = MEMORY_HEAP_NEXT(mc);
if (--nc & 1) nc = mc;
if (s < MemAddSize + MemMinSize) s = MemAddSize + MemMinSize;
if (nc - c < s)
{
mem = Alloc(fs, size);
if (mem)
{
_CopyMemItemArray((TMemItem)mem, c, mc - MemAddSize);
Free(fs, (void*)c);
return mem;
}
else
{
TMemItem pc = MEMORY_HEAP_PREV(c);
if (pc && MEMORY_HEAP_FREE(pc) && nc - pc >= s)
{
_FreeDel(fs, pc);
_CopyMemItemArray(pc, c, mc - MemAddSize);
c = pc;
}
else return 0;
}
}
if (mc < nc) _FreeDel(fs, mc);
mc = c + s;
if (nc - (MemAddSize + MemMinSize) >= mc)
{
MEMORY_HEAP_NEXT(c) = mc;
MEMORY_HEAP_PREV(mc) = c;
MEMORY_HEAP_NEXT(mc) = nc + 1;
MEMORY_HEAP_PREV(nc) = mc;
_FreeAdd(fs, mc);
}
else
{
MEMORY_HEAP_NEXT(c) = nc;
MEMORY_HEAP_PREV(nc) = c;
}
return (void*)c;
}
 
int free_a = 0;
 
void Free(TFreeSpace &fs, void *mem)
{
TMemItem c = (TMemItem)mem;
if (!c) return;
TMemItem pc = MEMORY_HEAP_PREV(c);
TMemItem mc = MEMORY_HEAP_NEXT(c);
TMemItem nc = MEMORY_HEAP_NEXT(mc);
if (--nc & 1) nc = mc;
else _FreeDel(fs, mc);
if (free_a == 1) return;
if (pc && MEMORY_HEAP_FREE(pc)) _FreeDel(fs, c = pc);
MEMORY_HEAP_NEXT(c) = nc + 1;
MEMORY_HEAP_PREV(nc) = c;
if (free_a == 2) return;
_FreeAdd(fs, c);
}
}
 
#endif // ndef __MEMORY_HEAP_RBTREE_H_INCLUDED_
 
/programs/demos/life2/include/menuet.h
0,0 → 1,537
#ifndef __MENUET_H_INCLUDED_
#define __MENUET_H_INCLUDED_
 
#include <me_lib.h>
 
// Menuet interface.
 
namespace Menuet // All menuet functions, types and data are nested in the (Menuet) namespace.
{
const char *DebugPrefix = "User program: ";
char CommandLine[257];
 
struct TWindowData // Data for drawing a window.
{
unsigned short WindowType, HeaderType;
unsigned long WindowColor, HeaderColor, BorderColor, TitleColor;
const char *Title;
};
 
struct TStartData // This structure is used only for MenuetOnStart function.
{
unsigned short Left, Width, Top, Height; // Initial window rectangle.
TWindowData WinData;
};
 
typedef void **TThreadData; // Thread data are the fast identifier of thread, contains user dword in
//_ the zero element and stack beginning (or zero if it is unknown) in the first element.
//_ The stack will be deleted from dynamic memory at the finish of the thread if stack beginning is not zero.
 
struct TMutex; // Simple mutex can be locked only once at a time.
#define MENUET_MUTEX_INIT {} // Simple mutex initializer, cat be redefined in a realization of the library
 
struct TRecMutex; // Recursive mutex can be locked many times by a single thread at a time.
#define MENUET_REC_MUTEX_INIT {} // Recursive mutex initializer, cat be redefined in a realization of the library
 
// Some functions have two forms: the fast form with (thread_data) parameter and the form without it.
// Note: pass only thread data of current thread as (thread_data) parameter to these functions.
 
void Main(); // Main function is called at program startup.
void* ThreadMain(void *user = 0, void *stack_begin = 0);
// Called at thread startup, (user) is placed in thread data as a user dword,
//_ (stack_begin) is placed in thread data as a stack beginning.
//_ Return new value of stack beginning that can be changed in the thread data.
void GetWindowData(TWindowData &win_data); // Write current window data to (win_data).
void GetWindowData(TWindowData &win_data, TThreadData thread_data);
void SetWindowData(const TWindowData &win_data); // Replace current window data by (win_data).
void SetWindowData(const TWindowData &win_data, TThreadData thread_data);
void CloseWindow(); // Close current window when returning to message loop.
void CloseWindow(TThreadData thread_data);
void Redraw(int frame = 0); // Redraw current window immediately, if (frame) is positive redraw the frame too,
void Redraw(int frame, TThreadData thread_data); //_ if (frame) is negative redraw only invalideted window.
void Invalidate(int frame = 0); // Redraw current window when no message will be is the queue,
void Invalidate(int frame, TThreadData thread_data); //_ if (frame) is positive redraw the frame too,
//_ if (frame) is negative do nothing.
void MoveWindow(const int window_rect[/* 4 */]); // Move and resize current window.
 
void Abort(); // Abnormally terminate a program.
void ExitProcess(); // Exit from the process, don't call any destructors of global varyables
void ExitThread(); // Exit from the current thread
void ExitThread(TThreadData thread_data);
void ReturnMessageLoop(); // Return to the message loop of the thread. Exit from the thread
void ReturnMessageLoop(TThreadData thread_data); //_ if it is called from (MenuetOnStart).
 
void Delay(unsigned int time); // Delay the execution of the program during (time) hundredth seconds.
unsigned int Clock(); // Return the time from starting of the system to this moment in hundredth of seconds.
int GetPackedTime(); // Return the current time of day in binary-decimal format 0x00SSMMHH.
void GetTime(int t[/* 3 */]); // Write the current time to (t): t[0] = second, t[1] = minute, t[2] = hour.
int GetPackedDate(); // Return the current date in binary-decimal format 0x00YYDDMM.
void GetDate(int d[/* 3 */]); // Write the current date to (d): d[0] = day, d[1] = month, d[2] = year.
void GetTimeDate(int t[/* 6 */]); // Write the current time and date to (t): t[0] = second,
//_ t[1] = minute, t[2] = hour, t[3] = day, t[4] = month, t[5] = year.
void ReadCommonColors(unsigned int colors[/* 10 */]); // Writes standart window colors to (colors).
unsigned int GetProcessInfo(unsigned int *use_cpu, char process_name[/* 13 */], unsigned int *use_memory,
unsigned int *pid, int window_rect[/* 4 */], unsigned int pid_for = -1);
// Write (pid_for) process information to variables parameters points, return
//_ the number of processes. (pid_for) equal to (-1) means current process.
unsigned int GetPid(); // Return the current thread identifier (pid).
unsigned int GetPid(TThreadData thread_data);
TThreadData GetThreadData(); // Return the thread data of the current thread.
TThreadData GetThreadData(unsigned int pid); // Return the thread data of the thread with the given pid.
 
void* GetPicture(unsigned short &width, unsigned short &height);
void* GetPicture(unsigned short &width, unsigned short &height, TThreadData thread_data);
// Return the picture on the window and write its width and height to (width) and (height).
void SetPicture(void *picture, unsigned short width, unsigned short height);
void SetPicture(void *picture, unsigned short width, unsigned short height, TThreadData thread_data);
// Replace the picture on the window by the given picture with the given width and height.
void GetBorderHeader(unsigned short &border_size, unsigned short &header_size);
void GetBorderHeader(unsigned short &border_size, unsigned short &header_size, TThreadData thread_data);
// Write the border thickness to (border_size) and header height to (header_size).
void GetClientSize(unsigned short &width, unsigned short &height);
void GetClientSize(unsigned short &width, unsigned short &height, TThreadData thread_data);
// Write the client area width and height to (width) and (height) parameters.
void GetClientSize(unsigned short &width, unsigned short &height, int win_width, int win_height);
void GetClientSize(unsigned short &width, unsigned short &height, int win_width, int win_height, TThreadData thread_data);
// Write the client area size of window with the width (win_width)
//_ and height (win_height) to (width) and (height) parameters.
void GetScreenSize(unsigned short &width, unsigned short &height);
// Write the screen width and height to (width) and (height) parameters.
 
void InitMutex(TMutex *mutex); // Initialize the simple mutex.
void InitRecMutex(TRecMutex *mutex); // Initialize the recursive mutex.
bool TryLock(TMutex *mutex); // Try to lock the mutex without waitting, return true if lock.
bool TryLock(TRecMutex *mutex);
bool TryLock(TRecMutex *mutex, TThreadData thread_data);
bool TryLock(TRecMutex *mutex, unsigned int pid);
void Lock(TMutex *mutex); // Lock mutex and wait for it if this necessary.
void Lock(TRecMutex *mutex);
void Lock(TRecMutex *mutex, TThreadData thread_data);
void Lock(TRecMutex *mutex, unsigned int pid);
bool LockTime(TMutex *mutex, int time);
bool LockTime(TRecMutex *mutex, int time); // Lock mutex and wait for it during (time) hundredth seconds.
bool LockTime(TRecMutex *mutex, int time, TThreadData thread_data);
bool LockTime(TRecMutex *mutex, int time, unsigned int pid);
void UnLock(TMutex *mutex); // Unlock mutex
void UnLock(TRecMutex *mutex);
void UnLock(TRecMutex *mutex, TThreadData thread_data);
void UnLock(TRecMutex *mutex, unsigned int pid);
 
void DebugPutChar(char c); // Put the character to the debug board.
void DebugPutString(const char *s); // Put the string to the debug board.
int GetKey(); // Return key pressed by user or -1 if no key was pressed.
int GetMouseButton(); // Return buttons pressed: 0 - no buttons, 1 - left button, 2 - right button, 3 - both buttons.
void GetMousePosition(short &x, short &y, bool absolute = false);
// Write mouse position to (x) and (y): absolute if (absolute) is true and relative the window otherwise.
void GetMousePosPicture(short &x, short &y);
 
int GetThreadNumber(); // Return the number of threads currently executing.
bool WasThreadCreated(); // Return true if there was created at least one thread except the main thred.
unsigned int CreateThread(void *user = 0, unsigned int stack_size = 0, void *stack_end = 0);
// Create a new thread with the user dword (user) and stack pointer (stack_end).
//_ If (stack_end) is zero, create stack in dynamic memory of size (stack_size) or
//_ the same size as the main thread if (stack_size) less that 4096. Set the beginning
//_ of the stack if (stack_end) is zero or (stack_size) is not zero, in this case stack
//_ will be deleted automaticaly from dynamic memory at the finish of the thread.
}
 
// Function, defined outside.
 
bool MenuetOnStart(Menuet::TStartData &me_start, Menuet::TThreadData thread_data);
// Window will be created iff return value is true.
bool MenuetOnClose(Menuet::TThreadData thread_data); // Window will be closed iff return value is true.
int MenuetOnIdle(Menuet::TThreadData thread_data); // Return the time to wait next message.
void MenuetOnSize(int window_rect[/* 4 */], Menuet::TThreadData thread_data); // When the window is resized.
void MenuetOnKeyPress(Menuet::TThreadData thread_data); // When user press a key.
void MenuetOnMouse(Menuet::TThreadData thread_data); // When user move a mouse.
 
#ifdef __MENUET__
 
namespace Menuet
{
// Structures.
 
struct TMutex // Simple mutex can be locked only once at a time.
{
unsigned int mut;
};
#undef MENUET_MUTEX_INIT
#define MENUET_MUTEX_INIT {0x40} // Simple mutex initializer, cat be redefined in a realization of the library
 
struct TRecMutex // Recursive mutex can be locked many times by a single thread at a time.
{
unsigned int mut, pid;
};
#undef MENUET_REC_MUTEX_INIT
#define MENUET_REC_MUTEX_INIT {0x20,-1} // Recursive mutex initializer, cat be redefined in a realization of the library
 
// Global variables.
 
volatile TThreadData _ThreadTable[256];
volatile unsigned int _ThreadScanCount[2] = {0, 0};
volatile int _ThreadNumber = 1;
volatile int _ExitProcessNow = 0;
TMutex _ThreadMutex = MENUET_MUTEX_INIT;
unsigned int _ThreadSavedBegProc[4];
 
// Inline functions.
 
inline void GetWindowData(TWindowData &win_data) {GetWindowData(win_data, GetThreadData());}
 
inline void SetWindowData(const TWindowData &win_data) {SetWindowData(win_data, GetThreadData());}
 
inline void CloseWindow() {CloseWindow(GetThreadData());}
 
inline void Redraw(int frame) {Redraw(frame, GetThreadData());}
 
inline void Invalidate(int frame) {Invalidate(frame, GetThreadData());}
 
inline void* GetPicture(unsigned short &width, unsigned short &height)
{
return GetPicture(width, height, GetThreadData());
}
 
inline void SetPicture(void *picture, unsigned short width, unsigned short height)
{
SetPicture(picture, width, height, GetThreadData());
}
 
inline void GetBorderHeader(unsigned short &border_size, unsigned short &header_size)
{
GetBorderHeader(border_size, header_size, GetThreadData());
}
 
inline void GetClientSize(unsigned short &width, unsigned short &height)
{
unsigned int pid;
int rect[4];
GetProcessInfo(0, 0, 0, &pid, rect);
GetClientSize(width, height, rect[2], rect[3], GetThreadData(pid));
}
 
inline void GetClientSize(unsigned short &width, unsigned short &height, TThreadData thread_data)
{
int rect[4];
GetProcessInfo(0, 0, 0, 0, rect);
GetClientSize(width, height, rect[2], rect[3], thread_data);
}
 
inline void GetClientSize(unsigned short &width, unsigned short &height, int win_width, int win_height)
{
GetClientSize(width, height, win_width, win_height, GetThreadData());
}
 
inline void GetTimeDate(int t[/* 6 */]) {GetTime(t); GetDate(t + 3);}
 
inline void InitMutex(TMutex *mutex) {mutex->mut = 0;}
 
inline void InitRecMutex(TRecMutex *mutex) {mutex->mut = 0; mutex->pid = -1;}
 
inline bool TryLock(TRecMutex *mutex) {return TryLock(mutex, GetPid());}
 
inline bool TryLock(TRecMutex *mutex, TThreadData thread_data) {return TryLock(mutex, GetPid(thread_data));}
 
inline void Lock(TRecMutex *mutex) {Lock(mutex, GetPid());}
 
inline void Lock(TRecMutex *mutex, TThreadData thread_data) {Lock(mutex, GetPid(thread_data));}
 
inline bool LockTime(TRecMutex *mutex, int time) {return LockTime(mutex, time, GetPid());}
 
inline bool LockTime(TRecMutex *mutex, int time, TThreadData thread_data)
{return LockTime(mutex, time, GetPid(thread_data));}
 
inline void UnLock(TRecMutex *mutex) {UnLock(mutex, GetPid());}
 
inline void UnLock(TRecMutex *mutex, TThreadData thread_data) {UnLock(mutex, GetPid(thread_data));}
 
inline int GetThreadNumber() {return _ThreadNumber;}
 
// Constants from fasm.
 
#include <me_func.inc>
 
// Functions.
 
unsigned char _HashByte(unsigned int value);
unsigned short _HashWord(unsigned int value);
unsigned int _HashDword(unsigned int value);
 
void _GetStartData(TStartData &start_data, TThreadData thread_data)
{
start_data.Left = (unsigned short)((unsigned long)thread_data[MENUET_THREAD_DATA_X] >> 16);
start_data.Width = (unsigned short)((unsigned long)thread_data[MENUET_THREAD_DATA_X]);
start_data.Top = (unsigned short)((unsigned long)thread_data[MENUET_THREAD_DATA_Y] >> 16);
start_data.Height = (unsigned short)((unsigned long)thread_data[MENUET_THREAD_DATA_Y]);
GetWindowData(start_data.WinData, thread_data);
}
 
void _SetStartData(const TStartData &start_data, TThreadData thread_data)
{
(unsigned long&)thread_data[MENUET_THREAD_DATA_X] =
((unsigned int)start_data.Left << 16) | start_data.Width;
(unsigned long&)thread_data[MENUET_THREAD_DATA_Y] =
((unsigned int)start_data.Top << 16) | start_data.Height;
SetWindowData(start_data.WinData, thread_data);
}
 
void _ApplyCommonColors(TWindowData &win_data)
{
unsigned int colors[10];
ReadCommonColors(colors);
win_data.WindowColor = colors[5];
win_data.HeaderColor = colors[1];
win_data.BorderColor = colors[0];
win_data.TitleColor = colors[4];
}
 
void _SetValueFunctionPriority(void *beg, int n)
{
int k, i;
unsigned char num[256];
for (i = 0; i < 256; i++) num[i] = 0;
for (k = 0; k < n; k++)
{
i = ((unsigned char*)beg + 6*k)[1];
((unsigned char*)beg + 6*k)[0] = num[i];
if (num[i] != 255) num[i]++;
}
}
 
void _CallFunctionPriority(void *beg, void *end, bool reverse = false)
{
struct _Local
{
static int cmp(void *beg, int i, int j)
{
unsigned char *x = (unsigned char*)beg + 6*i;
unsigned char *y = (unsigned char*)beg + 6*j;
if (*(unsigned short*)x < *(unsigned short*)y) return -1;
if (*(unsigned short*)x > *(unsigned short*)y) return 1;
return 0;
}
 
static void swap(void *beg, int i, int j)
{
unsigned char *x = (unsigned char*)beg + 6*i;
unsigned char *y = (unsigned char*)beg + 6*j;
short s;
int t;
s = *(short*)x; *(short*)x = *(short*)y; *(short*)y = s;
x += 2; y += 2;
t = *(int*)x; *(int*)x = *(int*)y; *(int*)y = t;
}
 
static void call(void *beg, int i)
{
unsigned char *x = (unsigned char*)beg + 6*i;
(*(void(**)())(x+2))();
}
};
 
if (!beg || !end || end <= beg) return;
int i, j, k, m, n;
n = ((unsigned char*)end - (unsigned char*)beg) / 6;
if (n <= 0) return;
_SetValueFunctionPriority(beg, n);
m = n; k = n;
while (m > 1)
{
if (k > 0) k--;
else _Local::swap(beg, 0, --m);
j = k;
for (;;)
{
i = j;
if (2*i + 1 >= m) break;
if (_Local::cmp(beg, 2*i + 1, j) > 0) j = 2*i + 1;
if (2*i + 2 < m && _Local::cmp(beg, 2*i + 2, j) > 0) j = 2*i + 2;
if (i == j) break;
_Local::swap(beg, i, j);
}
}
if (!reverse)
{
for (k = 0; k < n; k++) _Local::call(beg, k);
}
else
{
for (k = n-1; k >= 0; k--) _Local::call(beg, k);
}
}
 
bool _CallStart(TThreadData thread_data, void *init = 0, void *init_end = 0)
{
struct _TThreadDataTemplate
{
unsigned int data[12];
};
static const _TThreadDataTemplate _ThreadDataTemplate =
{{3, 0x00320100, 0x00320100, 0x03FFFFFF, 0x806060FF, 0x00000000, 0x00FFFF40, 0, 0, 0, -1, -1}};
 
unsigned int pid = GetPid();
volatile TThreadData *thread_table_item;
Lock(&_ThreadMutex);
if (_ExitProcessNow) ExitProcess();
thread_table_item = &_ThreadTable[_HashByte(pid)];
thread_data[MENUET_THREAD_DATA_NEXT] = (void*)*thread_table_item;
(unsigned int&)thread_data[MENUET_THREAD_DATA_PID] = pid;
*(_TThreadDataTemplate*)(thread_data + MENUET_THREAD_DATA_FLAG) = _ThreadDataTemplate;
*thread_table_item = thread_data;
UnLock(&_ThreadMutex);
if (_ExitProcessNow) ExitProcess();
_CallFunctionPriority(init, init_end, false);
TStartData start_data;
_GetStartData(start_data, thread_data);
_ApplyCommonColors(start_data.WinData);
(unsigned int&)thread_data[MENUET_THREAD_DATA_FLAG] |= 0x40000000;
thread_data[MENUET_THREAD_DATA_TITLE] = (void*)(&start_data);
if (!MenuetOnStart(start_data, thread_data)) return false;
(unsigned int&)thread_data[MENUET_THREAD_DATA_FLAG] &= ~0x40000000;
_SetStartData(start_data, thread_data);
return true;
}
 
void _RemoveThreadData(TThreadData thread_data, void *exit = 0, void *exit_end = 0)
{
_CallFunctionPriority(exit, exit_end, true);
volatile TThreadData *thread_table_item;
Lock(&_ThreadMutex);
if (_ExitProcessNow) ExitProcess();
thread_table_item = &_ThreadTable[_HashByte(GetPid(thread_data))];
while (*thread_table_item)
{
if (*thread_table_item == thread_data)
{
*thread_table_item = (TThreadData)thread_data[MENUET_THREAD_DATA_NEXT];
break;
}
thread_table_item = (TThreadData*)(*thread_table_item + MENUET_THREAD_DATA_NEXT);
}
UnLock(&_ThreadMutex);
if (_ExitProcessNow) ExitProcess();
}
 
void GetWindowData(TWindowData &win_data, TThreadData thread_data)
{
if ((unsigned int)thread_data[MENUET_THREAD_DATA_FLAG] & 0x40000000)
{
win_data = ((TStartData*)thread_data[MENUET_THREAD_DATA_TITLE])->WinData;
return;
}
win_data.WindowType = (unsigned short)((unsigned int)thread_data[MENUET_THREAD_DATA_C_WINDOW] >> 24);
win_data.HeaderType = (unsigned short)((unsigned int)thread_data[MENUET_THREAD_DATA_C_HEADER] >> 24);
win_data.WindowColor = (unsigned int)thread_data[MENUET_THREAD_DATA_C_WINDOW] & 0xFFFFFF;
win_data.HeaderColor = (unsigned int)thread_data[MENUET_THREAD_DATA_C_HEADER] & 0xFFFFFF;
win_data.BorderColor = (unsigned int)thread_data[MENUET_THREAD_DATA_C_BORDER] & 0xFFFFFF;
win_data.TitleColor = (unsigned int)thread_data[MENUET_THREAD_DATA_C_TITLE] & 0xFFFFFF;
win_data.Title = (char*)thread_data[MENUET_THREAD_DATA_TITLE];
}
 
void SetWindowData(const TWindowData &win_data, TThreadData thread_data)
{
if ((unsigned int)thread_data[MENUET_THREAD_DATA_FLAG] & 0x40000000)
{
((TStartData*)thread_data[MENUET_THREAD_DATA_TITLE])->WinData = win_data;
return;
}
(unsigned int&)thread_data[MENUET_THREAD_DATA_C_WINDOW] =
((unsigned int)win_data.WindowType << 24) | (win_data.WindowColor & 0xFFFFFF);
(unsigned int&)thread_data[MENUET_THREAD_DATA_C_HEADER] =
((unsigned int)win_data.HeaderType << 24) | (win_data.HeaderColor & 0xFFFFFF);
(unsigned int&)thread_data[MENUET_THREAD_DATA_C_BORDER] = win_data.BorderColor & 0xFFFFFF;
(unsigned int&)thread_data[MENUET_THREAD_DATA_C_TITLE] = win_data.TitleColor & 0xFFFFFF;
thread_data[MENUET_THREAD_DATA_TITLE] = (void*)win_data.Title;
Invalidate(1, thread_data);
}
 
void CloseWindow(TThreadData thread_data)
{
(unsigned int&)thread_data[MENUET_THREAD_DATA_FLAG] |= 0x80000000;
}
 
void Invalidate(int frame, TThreadData thread_data)
{
if (frame < 0) return;
(unsigned int&)thread_data[MENUET_THREAD_DATA_FLAG] |= (frame ? 3 : 1);
}
 
void* GetPicture(unsigned short &width, unsigned short &height, TThreadData thread_data)
{
width = (unsigned short)((unsigned int)thread_data[MENUET_THREAD_DATA_SZ_PICT] >> 16);
height = (unsigned short)((unsigned int)thread_data[MENUET_THREAD_DATA_SZ_PICT]);
return (void*)thread_data[MENUET_THREAD_DATA_PICTURE];
}
 
void SetPicture(void *picture, unsigned short width, unsigned short height, TThreadData thread_data)
{
thread_data[MENUET_THREAD_DATA_PICTURE] = (void*)picture;
(unsigned int&)thread_data[MENUET_THREAD_DATA_SZ_PICT] =
(width == 0 || height == 0) ? 0 : (((unsigned int)width << 16) | height);
Invalidate(0, thread_data);
}
 
int _GetSkinHeader();
 
void GetBorderHeader(unsigned short &border_size, unsigned short &header_size, TThreadData thread_data)
{
int win_type = ((unsigned int)thread_data[MENUET_THREAD_DATA_FLAG] & 0x40000000) ?
((TStartData*)thread_data[MENUET_THREAD_DATA_TITLE])->WinData.WindowType :
((unsigned int)thread_data[MENUET_THREAD_DATA_C_WINDOW] >> 24);
border_size = MENUET_BORDER_SIZE;
header_size = short(((win_type & 15) == 3) ? _GetSkinHeader() : MENUET_HEADER_SIZE);
}
 
void GetClientSize(unsigned short &width, unsigned short &height,
int win_width, int win_height, TThreadData thread_data)
{
const int MAX_SIZE = 32767;
unsigned short border_size, header_size;
GetBorderHeader(border_size, header_size, thread_data);
win_width -= 2 * border_size;
win_height -= border_size + header_size;
if (win_width < 0) win_width = 0;
else if (win_width > MAX_SIZE) win_width = MAX_SIZE;
if (win_height < 0) win_height = 0;
else if (win_height > MAX_SIZE) win_height = MAX_SIZE;
width = (unsigned short)win_width;
height = (unsigned short)win_height;
}
 
void GetMousePosPicture(short &x, short &y)
{
unsigned short dx, dy;
GetMousePosition(x, y);
GetBorderHeader(dx, dy);
x -= dx; y -= dy;
}
}
 
#else // def __MENUET__
 
namespace Menuet
{
struct TMutex
{
unsigned int mut;
 
TMutex();
~TMutex();
};
#undef MENUET_MUTEX_INIT
#define MENUET_MUTEX_INIT TMutex()
 
struct TRecMutex
{
unsigned int mut;
 
TRecMutex();
~TRecMutex();
};
#undef MENUET_REC_MUTEX_INIT
#define MENUET_REC_MUTEX_INIT TRecMutex()
}
 
#endif // else: def __MENUET__
 
#endif // ndef __MENUET_H_INCLUDED_
 
/programs/demos/life2/include/menuet_win.cpp
0,0 → 1,921
#include <windows.h>
#include <string.h>
#include <process.h>
#include <stdio.h>
#include <math.h>
#include <assert.h>
#include <deque.h>
 
#include <menuet.h>
#include <me_heap.h>
#include <me_file.h>
 
using namespace Menuet;
using namespace std;
 
const char file_prefix[] = "";
bool WasThreadCreatedBool = false;
 
struct TExceptToMessageLoop
{
TExceptToMessageLoop() {}
};
 
struct TThreadDataStruct
{
void *user;
void *stack_begin;
TWindowData *win_data;
HWND hwnd;
int flag;
unsigned int win_time, me_time;
void *picture;
unsigned int picture_width, picture_height;
deque<unsigned char> *keys;
unsigned int bmp_data_length;
unsigned int *bmp_data;
unsigned int mouse_state;
};
 
TThreadDataStruct /*__thread*/ ThreadDataStruct;
int nCmdShow;
HINSTANCE hInstance;
const char szWindowClass[] = "Menuet window";
 
void FinalizeThreadData()
{
if (ThreadDataStruct.keys)
{
delete ThreadDataStruct.keys;
ThreadDataStruct.keys = 0;
}
if (ThreadDataStruct.bmp_data)
{
delete[] ThreadDataStruct.bmp_data;
ThreadDataStruct.bmp_data = 0;
}
}
 
unsigned int CalculateNewTime()
{
unsigned int t = GetTickCount();
unsigned int dt = (unsigned int)(t - ThreadDataStruct.win_time) / 10U;
ThreadDataStruct.me_time += dt;
ThreadDataStruct.win_time += dt * 10;
return t;
}
 
void DrawPicture(HDC hdc)
{
TRecMutex xm;
InitRecMutex(&xm);
Lock(&xm);
UnLock(&xm);
 
int w = ThreadDataStruct.picture_width, h = ThreadDataStruct.picture_height;
RECT rect;
if (!ThreadDataStruct.picture || !ThreadDataStruct.hwnd || w <= 0 || h <= 0) return;
if (GetClientRect(ThreadDataStruct.hwnd, &rect))
{
rect.right -= rect.left; rect.left = 0;
rect.bottom -= rect.top; rect.top = 0;
if (rect.right <= 0 || rect.bottom <= 0) return;
if (w > rect.right) w = rect.right;
if (h > rect.bottom) h = rect.bottom;
}
if (!ThreadDataStruct.bmp_data || ThreadDataStruct.bmp_data_length < w * h)
{
if (ThreadDataStruct.bmp_data) delete[] ThreadDataStruct.bmp_data;
ThreadDataStruct.bmp_data_length = w * h;
ThreadDataStruct.bmp_data = new unsigned int[ThreadDataStruct.bmp_data_length];
}
int i;
unsigned char *p = (unsigned char*)ThreadDataStruct.picture;
for (i = 0; i < w * h; i++)
{
ThreadDataStruct.bmp_data[i] = ((unsigned int)p[0]) +
((unsigned int)p[1] << 8) + ((unsigned int)p[2] << 16);
p += 3;
}
HBITMAP bitmap = CreateBitmap(w, h, 1, 32, ThreadDataStruct.bmp_data);
if (bitmap)
{
HDC memdc = CreateCompatibleDC(hdc);
if (memdc)
{
SelectObject(memdc, bitmap);
BitBlt(hdc, 0, 0, w, h, memdc, 0, 0, SRCCOPY);
DeleteObject(memdc);
}
DeleteObject(bitmap);
}
}
 
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
const int timeout = 20;
unsigned int t;
PAINTSTRUCT ps;
HDC hdc;
if (hWnd == ThreadDataStruct.hwnd && ThreadDataStruct.flag != -1)
{
int window_rect[4];
switch (message)
{
case WM_CREATE:
SetTimer(hWnd, 0, timeout, NULL);
SendMessage(hWnd, WM_SIZE, SIZE_RESTORED, 0);
return 0;
case WM_TIMER:
t = CalculateNewTime();
while (MenuetOnIdle((TThreadData)(&ThreadDataStruct)) == 0 &&
GetTickCount() - t + 2 < timeout);
return 0;
case WM_MOUSEMOVE:
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
return 0;
case WM_LBUTTONDOWN:
if (!ThreadDataStruct.mouse_state) SetCapture(hWnd);
ThreadDataStruct.mouse_state |= 1;
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
return 0;
case WM_LBUTTONUP:
if (ThreadDataStruct.mouse_state & 1)
{
ThreadDataStruct.mouse_state &= ~1;
if (!ThreadDataStruct.mouse_state) ReleaseCapture();
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
}
return 0;
case WM_RBUTTONDOWN:
if (!ThreadDataStruct.mouse_state) SetCapture(hWnd);
ThreadDataStruct.mouse_state |= 2;
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
return 0;
case WM_RBUTTONUP:
if (ThreadDataStruct.mouse_state & 2)
{
ThreadDataStruct.mouse_state &= ~2;
if (!ThreadDataStruct.mouse_state) ReleaseCapture();
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
}
return 0;
case WM_CAPTURECHANGED:
if (ThreadDataStruct.mouse_state)
{
ThreadDataStruct.mouse_state = 0;
MenuetOnMouse((TThreadData)(&ThreadDataStruct));
}
return 0;
//case WM_SYSKEYDOWN: case WM_KEYDOWN:
case WM_CHAR:
ThreadDataStruct.keys->push_back((unsigned char)wParam);
MenuetOnKeyPress((TThreadData)(&ThreadDataStruct));
return 0;
case WM_SIZE:
GetProcessInfo(0, 0, 0, 0, window_rect);
MenuetOnSize(window_rect, (TThreadData)(&ThreadDataStruct));
InvalidateRect(hWnd, 0, 0);
return 0;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
if (ThreadDataStruct.picture) DrawPicture(hdc);
EndPaint(hWnd, &ps);
return 0;
case WM_CLOSE:
if (MenuetOnClose((TThreadData)(&ThreadDataStruct)))
{
ThreadDataStruct.flag = -1;
}
else return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc(hWnd, message, wParam, lParam);
}
 
ATOM MyRegisterClass()
{
HBRUSH background = CreateSolidBrush(RGB(0, 0, 0));
WNDCLASSEX wcex;
wcex.cbSize = sizeof(WNDCLASSEX);
wcex.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = 0;
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = background;
wcex.lpszMenuName = NULL;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = 0;
ATOM ret = RegisterClassEx(&wcex);
DeleteObject(background);
return ret;
}
 
HWND InitInstance(int x, int y, int w, int h)
{
HWND hWnd;
MyRegisterClass();
DWORD style = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN | WS_CLIPSIBLINGS, exstyle = 0;
hWnd = CreateWindowEx(exstyle, szWindowClass, ThreadDataStruct.win_data->Title, style,
x, y, w, h, NULL, NULL, hInstance, NULL);
if (!hWnd) return NULL;
ShowWindow(hWnd, nCmdShow);
UpdateWindow(hWnd);
return hWnd;
}
 
int ThreadMainProc(void *user)
{
ThreadMain(user, 0);
return 0;
}
 
namespace Menuet
{
void Main() {ThreadMain();}
 
void* ThreadMain(void *user, void *stack_begin)
{
TStartData start_data;
ThreadDataStruct.user = user;
ThreadDataStruct.stack_begin = stack_begin;
ThreadDataStruct.win_data = &start_data.WinData;
ThreadDataStruct.hwnd = 0;
ThreadDataStruct.flag = 0;
ThreadDataStruct.win_time = GetTickCount();
ThreadDataStruct.me_time = ThreadDataStruct.win_time / 10;
ThreadDataStruct.keys = new deque<unsigned char>;
ThreadDataStruct.bmp_data_length = 0;
ThreadDataStruct.bmp_data = 0;
ThreadDataStruct.mouse_state = 0;
start_data.Left = 50; start_data.Width = 256;
start_data.Top = 50; start_data.Height = 256;
start_data.WinData.WindowType = 0x03;
start_data.WinData.HeaderType = 0x80;
start_data.WinData.WindowColor = 0xFFFFFF;
start_data.WinData.HeaderColor = 0x6060FF;
start_data.WinData.BorderColor = 0x000000;
start_data.WinData.TitleColor = 0xFFFF40;
start_data.WinData.Title = 0;
if (MenuetOnStart(start_data, (TThreadData)(&ThreadDataStruct)))
{
while (ThreadDataStruct.flag < 0)
{
ThreadDataStruct.flag &= ~0x80000000;
if (MenuetOnClose((TThreadData)(&ThreadDataStruct)))
{
ThreadDataStruct.flag = -1;
break;
}
}
if (ThreadDataStruct.flag >= 0)
{
assert((ThreadDataStruct.hwnd = InitInstance(start_data.Left,
start_data.Top, start_data.Width, start_data.Height)) != NULL);
assert(SendMessage(ThreadDataStruct.hwnd, WM_CREATE, 0, 0) == 0);
MSG msg;
HACCEL hAccelTable = 0;
while (GetMessage(&msg, NULL, 0, 0))
{
if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
assert(ThreadDataStruct.flag == -1);
}
FinalizeThreadData();
return ThreadDataStruct.stack_begin;
}
 
void GetWindowData(TWindowData &win_data)
{
win_data = *ThreadDataStruct.win_data;
}
 
void GetWindowData(TWindowData &win_data, TThreadData thread_data)
{
win_data = *((TThreadDataStruct*)thread_data)->win_data;
}
 
void SetWindowData(const TWindowData &win_data)
{
*ThreadDataStruct.win_data = win_data;
if (ThreadDataStruct.hwnd)
{
SetWindowText(ThreadDataStruct.hwnd, ThreadDataStruct.win_data->Title);
InvalidateRect(ThreadDataStruct.hwnd, NULL, FALSE);
}
}
 
void SetWindowData(const TWindowData &win_data, TThreadData thread_data)
{
*((TThreadDataStruct*)thread_data)->win_data = win_data;
if (((TThreadDataStruct*)thread_data)->hwnd)
{
SetWindowText(((TThreadDataStruct*)thread_data)->hwnd,
((TThreadDataStruct*)thread_data)->win_data->Title);
InvalidateRect(((TThreadDataStruct*)thread_data)->hwnd, NULL, FALSE);
}
}
 
void CloseWindow()
{
if (ThreadDataStruct.hwnd)
{
SendMessage(ThreadDataStruct.hwnd, WM_CLOSE, 0, 0);
}
else ThreadDataStruct.flag |= 0x80000000;
}
 
void CloseWindow(TThreadData thread_data)
{
if (((TThreadDataStruct*)thread_data)->hwnd)
{
SendMessage(((TThreadDataStruct*)thread_data)->hwnd, WM_CLOSE, 0, 0);
}
else ((TThreadDataStruct*)thread_data)->flag |= 0x80000000;
}
 
void Redraw(int /*frame*/)
{
if (ThreadDataStruct.hwnd)
{
InvalidateRect(ThreadDataStruct.hwnd, NULL, FALSE);
SendMessage(ThreadDataStruct.hwnd, WM_PAINT, 0, 0);
}
}
 
void Redraw(int /*frame*/, TThreadData thread_data)
{
if (((TThreadDataStruct*)thread_data)->hwnd)
{
InvalidateRect(((TThreadDataStruct*)thread_data)->hwnd, NULL, FALSE);
SendMessage(((TThreadDataStruct*)thread_data)->hwnd, WM_PAINT, 0, 0);
}
}
 
void Invalidate(int /*frame*/)
{
if (ThreadDataStruct.hwnd)
{
InvalidateRect(ThreadDataStruct.hwnd, NULL, FALSE);
}
}
 
void Invalidate(int /*frame*/, TThreadData thread_data)
{
if (((TThreadDataStruct*)thread_data)->hwnd)
{
InvalidateRect(((TThreadDataStruct*)thread_data)->hwnd, NULL, FALSE);
}
}
 
void MoveWindow(const int window_rect[/* 4 */])
{
if (!ThreadDataStruct.hwnd) return;
RECT rect;
if (window_rect[0] == -1 || window_rect[1] == -1 ||
window_rect[2] == -1 || window_rect[3] == -1)
{
if (!GetWindowRect(ThreadDataStruct.hwnd, &rect)) return;
::MoveWindow(ThreadDataStruct.hwnd,
(window_rect[0] == -1) ? rect.left : window_rect[0],
(window_rect[1] == -1) ? rect.top : window_rect[1],
(window_rect[2] == -1) ? (rect.right - rect.left) : window_rect[2],
(window_rect[3] == -1) ? (rect.bottom - rect.top) : window_rect[3], TRUE);
}
else
{
::MoveWindow(ThreadDataStruct.hwnd, window_rect[0],
window_rect[1], window_rect[2], window_rect[3], TRUE);
}
}
 
void Abort()
{
if (ThreadDataStruct.hwnd) KillTimer(ThreadDataStruct.hwnd, 0);
abort();
}
 
void ExitProcess() {::ExitProcess(0);}
 
void ExitThread() {FinalizeThreadData(); ::ExitThread(0);}
 
void ExitThread(TThreadData) {FinalizeThreadData(); ::ExitThread(0);}
 
void ReturnMessageLoop()
{
TExceptToMessageLoop ex;
throw(ex);
}
 
void ReturnMessageLoop(TThreadData)
{
TExceptToMessageLoop ex;
throw(ex);
}
 
void Delay(unsigned int time) {Sleep(time * 10);}
 
unsigned int Clock() {CalculateNewTime(); return ThreadDataStruct.me_time;}
 
int GetPackedTime()
{
SYSTEMTIME time;
GetSystemTime(&time);
int t;
t = (time.wSecond / 10) * 16 + (time.wSecond % 10);
t = (time.wMinute / 10) * 16 + (time.wMinute % 10) + (t << 8);
t = (time.wHour / 10) * 16 + (time.wHour % 10) + (t << 8);
return t;
}
 
void GetTime(int t[/* 3 */])
{
SYSTEMTIME time;
GetSystemTime(&time);
t[0] = time.wSecond;
t[1] = time.wMinute;
t[2] = time.wHour;
}
 
int GetPackedDate()
{
SYSTEMTIME time;
GetSystemTime(&time);
int t;
t = ((time.wYear / 10) % 10) * 16 + (time.wYear % 10);
t = (time.wDay / 10) * 16 + (time.wDay % 10) + (t << 8);
t = (time.wMonth / 10) * 16 + (time.wMonth % 10) + (t << 8);
return t;
}
 
void GetDate(int d[/* 3 */])
{
SYSTEMTIME time;
GetSystemTime(&time);
d[0] = time.wDay;
d[1] = time.wMonth;
d[2] = time.wYear;
}
 
void GetTimeDate(int t[/* 6 */])
{
SYSTEMTIME time;
GetSystemTime(&time);
t[0] = time.wSecond;
t[1] = time.wMinute;
t[2] = time.wHour;
t[3] = time.wDay;
t[4] = time.wMonth;
t[5] = time.wYear;
}
 
void ReadCommonColors(unsigned int colors[/* 10 */])
{
int i;
for (i = 0; i < 10; i++) colors[i] = 0;
}
 
unsigned int GetProcessInfo(unsigned int *use_cpu, char process_name[/* 13 */], unsigned int *use_memory,
unsigned int *pid, int window_rect[/* 4 */], unsigned int pid_for)
{
if (use_cpu) *use_cpu = 0;
if (process_name) strcpy(process_name, "noname");
if (use_memory) *use_memory = 0;
if (pid)
{
if ((pid_for | 15) == -1) pid_for = getpid();
*pid = pid_for;
}
if (window_rect)
{
RECT rect;
if (ThreadDataStruct.hwnd && GetWindowRect(ThreadDataStruct.hwnd, &rect))
{
window_rect[0] = rect.left;
window_rect[1] = rect.top;
window_rect[2] = rect.right - rect.left;
window_rect[3] = rect.bottom - rect.top;
}
else
{
window_rect[0] = 0; window_rect[1] = 0;
window_rect[2] = 0; window_rect[3] = 0;
}
}
return 1;
}
 
unsigned int GetPid() {return GetCurrentThreadId();}
 
unsigned int GetPid(TThreadData /*thread_data*/) {return GetCurrentThreadId();}
 
TThreadData GetThreadData() {return (TThreadData)(&ThreadDataStruct);}
 
TThreadData GetThreadData(unsigned int /*pid*/) {return (TThreadData)(&ThreadDataStruct);}
 
void* GetPicture(unsigned short &width, unsigned short &height)
{
width = (unsigned short)ThreadDataStruct.picture_width;
height = (unsigned short)ThreadDataStruct.picture_height;
return ThreadDataStruct.picture;
}
 
void* GetPicture(unsigned short &width, unsigned short &height, TThreadData thread_data)
{
width = (unsigned short)((TThreadDataStruct*)thread_data)->picture_width;
height = (unsigned short)((TThreadDataStruct*)thread_data)->picture_height;
return ((TThreadDataStruct*)thread_data)->picture;
}
void SetPicture(void *picture, unsigned short width, unsigned short height)
{
ThreadDataStruct.picture_width = width;
ThreadDataStruct.picture_height = height;
ThreadDataStruct.picture = picture;
if (ThreadDataStruct.hwnd)
{
InvalidateRect(ThreadDataStruct.hwnd, NULL, FALSE);
}
}
 
void SetPicture(void *picture, unsigned short width, unsigned short height, TThreadData thread_data)
{
((TThreadDataStruct*)thread_data)->picture_width = width;
((TThreadDataStruct*)thread_data)->picture_height = height;
((TThreadDataStruct*)thread_data)->picture = picture;
if (((TThreadDataStruct*)thread_data)->hwnd)
{
InvalidateRect(((TThreadDataStruct*)thread_data)->hwnd, NULL, FALSE);
}
}
 
void GetBorderHeader(unsigned short &border_size, unsigned short &header_size)
{
border_size = (unsigned short)GetSystemMetrics(SM_CXFRAME);
header_size = (unsigned short)(GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION));
}
 
void GetBorderHeader(unsigned short &border_size, unsigned short &header_size, TThreadData /*thread_data*/)
{
border_size = (unsigned short)GetSystemMetrics(SM_CXFRAME);
header_size = (unsigned short)(GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION));
}
 
void GetClientSize(unsigned short &width, unsigned short &height)
{
if (!ThreadDataStruct.hwnd) {width = 0; height = 0; return;}
RECT rect;
GetClientRect(ThreadDataStruct.hwnd, &rect);
width = (unsigned short)(rect.right - rect.left);
height = (unsigned short)(rect.bottom - rect.top);
}
 
void GetClientSize(unsigned short &width, unsigned short &height, TThreadData thread_data)
{
if (!((TThreadDataStruct*)thread_data)->hwnd) {width = 0; height = 0; return;}
RECT rect;
GetClientRect(((TThreadDataStruct*)thread_data)->hwnd, &rect);
width = (unsigned short)(rect.right - rect.left);
height = (unsigned short)(rect.bottom - rect.top);
}
 
void GetClientSize(unsigned short &width, unsigned short &height, int win_width, int win_height)
{
win_width -= 2*GetSystemMetrics(SM_CXFRAME);
win_height -= 2*GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION);
if (win_width < 0) win_width = 0;
if (win_height < 0) win_height = 0;
width = (unsigned short)win_width; height = (unsigned short)win_height;
}
 
void GetClientSize(unsigned short &width, unsigned short &height,
int win_width, int win_height, TThreadData /*thread_data*/)
{
win_width -= 2*GetSystemMetrics(SM_CXFRAME);
win_height -= 2*GetSystemMetrics(SM_CYFRAME) + GetSystemMetrics(SM_CYCAPTION);
if (win_width < 0) win_width = 0;
if (win_height < 0) win_height = 0;
width = (unsigned short)win_width; height = (unsigned short)win_height;
}
 
void GetScreenSize(unsigned short &width, unsigned short &height)
{
width = (unsigned short)GetSystemMetrics(SM_CXFULLSCREEN);
height = (unsigned short)GetSystemMetrics(SM_CYFULLSCREEN);
}
 
TMutex::TMutex() {mut = (unsigned int)CreateMutex(NULL, FALSE, NULL);}
 
TMutex::~TMutex() {if (mut) {CloseHandle((HANDLE)mut); mut = 0;}}
 
TRecMutex::TRecMutex() {mut = (unsigned int)CreateMutex(NULL, FALSE, NULL);}
 
TRecMutex::~TRecMutex() {if (mut) {CloseHandle((HANDLE)mut); mut = 0;}}
 
void InitMutex(TMutex *mutex) {if (!mutex->mut) *mutex = TMutex();}
 
void InitRecMutex(TRecMutex *mutex) {if (!mutex->mut) *mutex = TRecMutex();}
 
bool TryLock(TMutex *mutex)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, 0);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool TryLock(TRecMutex *mutex, unsigned int /*pid*/)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, 0);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool TryLock(TRecMutex *mutex)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, 0);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool TryLock(TRecMutex *mutex, TThreadData /*thread_data*/)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, 0);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
void Lock(TMutex *mutex)
{
WaitForSingleObject((HANDLE)mutex->mut, INFINITE);
}
 
void Lock(TRecMutex *mutex, unsigned int /*pid*/)
{
WaitForSingleObject((HANDLE)mutex->mut, INFINITE);
}
 
void Lock(TRecMutex *mutex)
{
WaitForSingleObject((HANDLE)mutex->mut, INFINITE);
}
 
void Lock(TRecMutex *mutex, TThreadData /*thread_data*/)
{
WaitForSingleObject((HANDLE)mutex->mut, INFINITE);
}
 
bool LockTime(TMutex *mutex, unsigned int time)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, time * 10);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool LockTime(TRecMutex *mutex, unsigned int time, unsigned int /*pid*/)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, time * 10);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool LockTime(TRecMutex *mutex, unsigned int time)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, time * 10);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
bool LockTime(TRecMutex *mutex, unsigned int time, TThreadData /*thread_data*/)
{
DWORD ret = WaitForSingleObject((HANDLE)mutex->mut, time * 10);
return ret == WAIT_OBJECT_0 || ret == WAIT_ABANDONED;
}
 
void UnLock(TMutex *mutex)
{
ReleaseMutex((HANDLE)mutex->mut);
}
 
void UnLock(TRecMutex *mutex, unsigned int /*pid*/)
{
ReleaseMutex((HANDLE)mutex->mut);
}
 
void UnLock(TRecMutex *mutex)
{
ReleaseMutex((HANDLE)mutex->mut);
}
 
void UnLock(TRecMutex *mutex, TThreadData /*thread_data*/)
{
ReleaseMutex((HANDLE)mutex->mut);
}
 
void DebugPutChar(char c)
{
DWORD num_written;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), &c, 1, &num_written, NULL);
}
 
void DebugPutString(const char *s)
{
DWORD num_written;
WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE), s, strlen(s), &num_written, NULL);
}
 
int GetKey()
{
if (ThreadDataStruct.keys->empty()) return -1;
else
{
unsigned char c = ThreadDataStruct.keys->front();
ThreadDataStruct.keys->pop_front();
return c;
}
}
 
int GetMouseButton()
{
return ThreadDataStruct.mouse_state;
}
 
void GetMousePosition(short &x, short &y, bool absolute)
{
POINT point;
if (!GetCursorPos(&point)) {x = -1; y = -1;}
else if (absolute) {x = (short)point.x; y = (short)point.y;}
else
{
RECT rect;
if (!ThreadDataStruct.hwnd || !GetWindowRect(ThreadDataStruct.hwnd, &rect))
{
x = -1; y = -1;
}
else
{
x = (short)(point.x - rect.left);
y = (short)(point.y - rect.top);
}
}
}
 
void GetMousePosPicture(short &x, short &y)
{
POINT point;
if (!GetCursorPos(&point)) {x = -1; y = -1;}
else if (!ThreadDataStruct.hwnd || !ScreenToClient(ThreadDataStruct.hwnd, &point))
{
x = -1; y = -1;
}
else
{
x = (short)point.x;
y = (short)point.y;
}
}
 
bool WasThreadCreated() {return WasThreadCreatedBool;}
unsigned int CreateThread(void *user, unsigned int stack_size, void* /*stack_end*/)
{
unsigned long pid = -1;
WasThreadCreatedBool = true;
if (!::CreateThread(NULL, stack_size, (LPTHREAD_START_ROUTINE)ThreadMainProc, user, 0, &pid))
{
return -1;
}
return pid;
}
 
unsigned int StrLen(const char *str) {return ::strlen(str);}
 
char *StrCopy(char *dest, const char *src) {return ::strcpy(dest, src);}
 
void *MemCopy(void *dest, const void *src, unsigned int n) {return ::memcpy(dest, src, n);}
 
void *MemSet(void *s, char c, unsigned int n) {return ::memset(s, c, n);}
 
double Floor(double x) {return floor(x);}
 
void *Alloc(unsigned int size) {return malloc(size);}
 
void *ReAlloc(void *mem, unsigned int size) {return realloc(mem, size);}
void Free(void *mem) {free(mem);}
 
TFileData FileOpen(const char *name, unsigned int /*buffer_length*/)
{
if (!name || !name[0]) return 0;
TFileData file_data = (TFileData)Alloc(sizeof(unsigned int) +
strlen(file_prefix) + strlen(name) + 1);
if (!file_data) return 0;
file_data->data = 0;
strcpy((char*)file_data + sizeof(unsigned int), file_prefix);
strcat((char*)file_data + sizeof(unsigned int), name);
return file_data;
}
 
int FileClose(TFileData file_data)
{
if (!file_data) return -1;
if (file_data->data) CloseHandle((HANDLE)file_data->data);
Free(file_data);
return 0;
}
 
bool FileEof(TFileData file_data)
{
unsigned int pos;
if (FileTestRead(file_data) < 0) return false;
pos = SetFilePointer((HANDLE)file_data->data, 0, NULL, FILE_CURRENT);
if (pos == -1) return false;
return pos >= GetFileSize((HANDLE)file_data->data, NULL);
}
 
unsigned int FileGetPosition(TFileData file_data)
{
unsigned int pos;
if (FileTestRead(file_data) < 0) return 0;
pos = SetFilePointer((HANDLE)file_data->data, 0, NULL, FILE_CURRENT);
return (pos == -1) ? 0 : pos;
}
 
void FileSetPosition(TFileData file_data, unsigned int pos)
{
if (FileTestRead(file_data) < 0) return;
SetFilePointer((HANDLE)file_data->data, pos, NULL, FILE_BEGIN);
}
 
void FileReset(TFileData file_data)
{
if (!file_data || !file_data->data) return;
FlushFileBuffers((HANDLE)file_data->data);
}
 
unsigned int FileGetLength(TFileData file_data)
{
if (FileTestRead(file_data) < 0) return -1;
return GetFileSize((HANDLE)file_data->data, NULL);
}
 
int FileTestRead(TFileData file_data)
{
if (!file_data) return -1;
if (!file_data->data)
{
file_data->data = (unsigned int)CreateFile((char*)file_data + sizeof(unsigned int),
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_RANDOM_ACCESS, 0);
if (!file_data->data) return -512;
}
return 0;
}
 
int FileRead(TFileData file_data, void *mem, int size)
{
if (!file_data || !mem || size <= 0) return -1;
int res = FileTestRead(file_data);
if (res < 0) return res;
if (!ReadFile((HANDLE)file_data->data, mem, size, (unsigned long*)&res, NULL))
{
return -512;
}
return (res >= 0) ? res : (-1);
}
}
 
bool CheckAllocConsole(LPSTR lpCmdLine)
{
char Console[] = "-console";
int ConsoleL = ::strlen(Console);
char *s;
for (s = lpCmdLine; *s; s++)
{
if ((s == lpCmdLine || isspace(s[-1])) && memcmp(s, Console, ConsoleL) == 0 &&
(!s[ConsoleL] || isspace(s[ConsoleL])))
{
AllocConsole();
SetConsoleTitle("Debug Console");
return true;
}
}
return false;
}
 
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE /*hPrevInstance*/,
LPSTR lpCmdLine,
int nCmdShow)
{
::nCmdShow = nCmdShow;
::hInstance = hInstance;
CheckAllocConsole(lpCmdLine);
Main();
//::ExitThread(0);
return 0;
}
 
/programs/demos/life2/include/write_macro.inc
0,0 → 1,49
macro writestr [arg]
{
common
 
local straddr
local strend
pushad
push straddr
push strend
jmp @Menuet@DebugPutString$qpxc
straddr db arg,0
strend:
pop eax
popad
}
 
macro writeint arg
{
push dword arg
xchg eax,[esp]
pushad
push eax
call @DebugPutNumber$qi
pop eax
popad
pop eax
}
 
macro write [arg]
{
forward
 
if arg eq
else if arg eq endline
writestr 10
else if arg eqtype ''
writestr arg
else
writeint arg
end if
}
 
macro writeln [arg]
{
common
 
write arg,endline
}
 
/programs/demos/life2/include
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/demos/life2/lif/ACORN.lif
0,0 → 1,9
#Life 1.05
#D Acorn
#D The most vigorously growing 7-cell
#D "methuselah" pattern. See also RABBITS.
#N
#P -3 -1
.*
...*
**..***
/programs/demos/life2/lif/ADDER.lif
0,0 → 1,837
#Life 1.05
#D Binary Adder
#D By David Buckingham, with size optimization by Mark
#D Niemec, 1975. Two glider streams enter the lower
#D right, representing the binary numbers 1110 and 0011.
#D The sum, 10001, appears from the middle right side
#D after about one thousand generations. The gliders go
#D in and come out backwards -- that is, 1's place first.
#D That way, the numbers to be added can be arbitrarily
#D large.
#N
#P -56 -95
**
..*
...*
#P -63 -92
..*.......*
**........*
*..**....*
.*****.**
..*
#P -78 -93
...........**
...........**
........**
.......***
........**
..**.......**
.*.*.......**
.*
**
#P -83 -79
**
.*
.*.*.......**
..**.......**....*
........**......****
.......***.....*..**
........**.....**
...........**....*
...........**
#P -49 -90
...**
...*.*
.....*
.....**
.
.
.
.
........**
.........*
.........*.*.....*
..........**....*.*
..............**...*
....*.........**...*
..*.*.........**...*
...**...........*.*
.................*
........***
**........*
**.......*
.
.
.
.
.
.
......**
......*
........*..........*
.......****......*.*
......*....*......**
......**..**
#P -51 -56
..............***
..............***
.....***.....*...*
............*.....*..*.*
.....*.*.....*...*....**
....*****.....***.....*
...**...**
...**...**
.
.
...**
.**.*
.*
............**
..***.*......*
......*...***
......*...*
.
.
.
.
.**...**
...***
..*...*
...*.*
....*
.
.**
..*
**
#P -63 -75
*.**
....*
.....*
.....*
.....*
....*
..**
.
.
...*
.***
*
**
.
.
.
.
.......***
.........*
*.......*
**
**
.......***
.......*
**......*
*.**
...*
#P -63 -47
***
.
.
.
.
.
.
..**
**
..*
.*
*
.
..**
..*
...***
.....*
.
.
.
...........*
...........*
#P -68 -59
..***
.
..*.*
.****
**
**
#P -66 -47
.*
.*
.*
.
.
.
.
**
..*
.*
..*
#P 64 -22
**
*.*
#P 66 -20
*
**
#P -40 4
*
***
#P -38 6
.*
**
#P -47 15
...........***
..........*...*
.........*.....*
..........*...*
...........***
...........***
.
.
.........**
..........*.....**
.......***......*.*
......*.........*
.......***
.........***
............*
...........**
.
.
.
.
.
..............*
.............***
............*****
...........**...**
.
.
.
.............***
.............***
.
*..........**
***.........*
...*.....***
..**.....*
.
.
.
.
.....*
....***
...*****
..*.*.*.*
..**...**
.
.
.....*
....*.*
#P -62 63
.....................*....**
.................*..*....*.*
.................*.........*
..................*
...............***
...............*
........*
......***
.....*
.....**........................*
..............................**
.......................**.....*.*
.......................**
.
.
...........**
..***.....*.*
.*...*......*
*.....*
*.....*
..............**
......*.......*.*.....***
.....**.......*......*...*
.....**.............*.....*
...*..**............*.....*
....*.*
....**..............*
....................**
....................**
..**...**..........**..*
..**...**...........*.*
.....................**
....***
....***
.....*............**...**
..................**...**
.
....................***
.......**...........***
.......*.............*
........***
..........*
.
..................**
...................*
................***
................*
#P 65 21
..**
..*
*.*
#P 65 24
**
#P 67 49
*
***
...*
..**
.
.
.
.
.
..**...**
..*.....*
#P 65 61
.**..*...*
**....***
..*
.
.
.
.
.
.....*
...**.**
.
..*.....*
.
..**.*.**
#P 65 81
..**
...*
***
#P 65 84
*
#P 22 99
.**
**
..*
#P 22 102
.
.
.
#P 38 111
.
.
.
#P 37 114
.**
**
..*
#P 13 -16
*
.*
#P 15 -17
*
*
*
#P 29 -17
...**
.
**
.*
.*.*
#P 31 -12
**
.
.....*
...**
#P 50 -15
**
*
#P 48 -13
*.*
**
#P 39 -13
**
*..*
....*
....*
#P 39 -9
....*
*..*
**
#P -6 -7
**
.**
*
#P -6 -3
.
.
.
#P 8 -8
*......*.*
***.....**
...*....*
..**
.
....***
....***
#P 10 -1
.*...*
*.....*
.*...*
..***
#P 36 6
**
*
.***
#P 33 9
**....*
*.*
..*
..**
#P -21 8
**
.**
#P -21 10
*
#P 2 11
........**
.........*
......***
......*
.
**
.*
.*.*......*.*
..**....*...*
........*
#P 9 21
*....*
.*
.*...*
...*.*
.
.*
..**
.**
#P 33 19
**
.*
.*.*
#P 35 22
**
#P 42 21
..**
.*.*
*
*..*..*
*
.*.*
..**
#P 49 23
**....*
..*..*.*
***.*.**
...**.**
....*.**
.....*.*
......*
#P 21 23
**
*.*
#P 23 25
*
**
#P -6 33
**
#P -7 34
*.*
..*
#P -16 39
**
#P -16 40
*.*
*
#P 34 45
....*
.****
****
#P 34 48
*..*
****
.****
....*
#P -21 48
**
#P -22 49
*.*
..*
#P 11 50
.................**
................*.*
................*
...............**
.
.
.
...........**
..........***
**.....*.**
**.....*..*........***
.......*.**
..........***..**..*
...........**..*...*
................*..*
................**
#P 6 69
........**...*
........*.*..*.*
........*....**
.
.
.
**..............**........*
.*..............*..*......*
.*.*.......**..*...*
..**......***..**..*
.......*.**
.......*..*........***....*
.......*.**...............*
..........***
...........**
..**
.**
...*
#P 39 50
......**
......*.*
........*
........**
.
.
.
......**
......*
....*.*
*...**
.*
..*
.*........*
*.........*
#P 50 54
.**
*..*
...*
...*
.*.*
.*.*
..*
.
.
*...**
.....*
.
*...*..**
.***....**
.......*
#P -1 54
**
#P -1 55
*.*
*
#P 37 59
*
*
.*
.*
#P 37 63
.*
*
*
#P 33 76
.*
*.*
*..*
*.*
.*
#P 38 73
..**
..*
*.*
**
#P 51 74
...*
.**.**
.
*.....*
#P 51 79
**.*.**
#P -16 87
*
#P -17 88
**
*.*
#P 56 86
**
*
#P 57 88
***
..*
#P -8 -129
..........*
........***
.......*
.......**
.
................*
.....*..........***
.....*.............*
....*.*...........**
...**.**
..*.....*
.....*...............*
..**...**............*
....................*.*
...................**.**
...****...........*.....*
...*..**.............*
....*.**..........**...**
.
.....**
......*.............****
...................**..*
...................**.*
**.*.**
*.....*.....*.......**
.*...*.......*......*
..***......***
.
....................**.*.**
..............*.....*.....*
.............*.......*...*
.............***......***
.
.
..**................................*
..**..............................***
.................................*
#P -10 -92
......................**...........**
.......................*
....................***
....................*
................*
................***
...................*
.*................**
*
***.......*....................*****
........***...................*.***.*
.......*.......................*...*
.......**.......................***
.................................*
....................***
...................*...*
..................*.....*
..................*.....*......*
.....................*.........*
....***............*...*......*.*.....*
...*...*............***......**.**..*.*
..*.....*............*......*.....*..**
..*.....*......................*
.....*......................**...**
...*...*..............***
....***...............***
.....*...............*...*......*
...............*.*..............*
...............**...**...**......*
..***...........*
..***
.*...*........................**
.........*.*..................**
**...**...**
..........*
#P 34 -90
*
***
...*
..**
#P 34 -86
.
.
.
.
#P -20 -82
**
*
#P -22 -80
*.*
**
#P 36 -78
.*****
*.***.*
.*...*
..***
...*
#P 34 -70
.......*
.......*
*.....*.*
*.*..**.**
**..*.....*
.......*
....**...**
#P -25 -70
.*
*
#P -25 -68
***
#P -25 -63
*.*
.**
.*
#P -22 -63
.
.
.
#P 38 -58
**
.*
#P 36 -56
***
*
#P 13 -54
**
**
#P 13 -52
.
.
#P 19 -53
*
*.*
**
#P 19 -49
.
.
.
#P -5 -51
**
*
.***
...*
#P -5 -47
.
.
.
.
#P -17 -47
..*
*.*
.**
#P -17 -43
.
.
.
#P -10 -48
*
.*
.*
#P -8 -48
*
*
#P 14 -45
*
#P 15 -45
.*
**
*
#P 23 -44
...*
.***
*
#P 23 -41
**
#P -15 -38
*.*
.**
.*
#P -15 -34
.
.
.
#P -2 -38
......*
......*.*
......**
.
.
.......*.*
..*.....**
*.*.....*
.**
.........*
#P 0 -28
.......*.*
.......**
.
.
.
*.*
.**
.*
#P 18 -36
..*
.**
.**
.**
**
#P 21 -36
**
.**
.**
***
..**
#P 23 -25
**
*
#P 24 -23
***
..*
#P 41 -25
..**
.*.*
*
#P 41 -22
*..*
*
.*.*
..**
#P 47 -24
....*
.***
*..*
.**
#P 52 -27
..*
.*.*
*.**
*.**
*.**
.*.*
..*
#P 33 -20
.**
*.*
#P 33 -18
*
/programs/demos/life2/lif/AK47.lif
0,0 → 1,71
#Life 1.05
#D AK47, a gun at 47 gens/shot.
#D The AK47 reaction (middle)
#D by Richard Schroeppel was
#D known for years before
#D stabilizers were found by
#D Paul Callahan in July 1994.
#D See also P94S.
#N
#P -23 -11
...**
..*..*
.*.*..*
.*.*...*
**.*.******
...*..*.*
...***.*..*
.**...*.*.*
*..*.**.*
.**...*.**
...**....*
...*.*...*
**.*.....**
.*.*.**
.*.*..*
..*..*
...**
#P -6 -12
**.......*
**.....***
......*
......**
.
...***
..*...*
.*.....*
.*.....*
.*.....*
..*...*
...***
.
.
.
.
.
.
.
.
.
....**
.....*
..***.....**
..*.......**
#P 12 -5
......**
.....*..*
....*.**.*
.*...*.*.*
.*...*.*.**
*......*
..*..***
..*.....**
..*.**.*..*
.**.*...**
**...***
.**....*
**..**.*.**
....**.*.*
....*..*.*
.....*..*
......**
/programs/demos/life2/lif/AQUA20.lif
0,0 → 1,304
#Life 1.05
#D c/5 orthogonal spaceships
#D by Tin Coe and David Bell.
#N
#P -72 -85
....................................................................*
.*.**.........**.........*..**..................................*..*.*
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.**.******........**..***....*....*...***.....***.....***.***.**.**
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
...******.*.........*********.........**...***......*..........***..*
.
...******.*.........*********.........**...***......*..........***..*
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
.**.******........**..***....*....*...***.....***.....***.***.**.**
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
.*.**.........**.........*..**..................................*..*.*
....................................................................*
#P 0 -85
...*..........***.............*
.*.**......*...........**.***..**
*...*......*.....**.*..**.....*
*...*..*...*....*.*.*..***
....**..*..*..*.*......**
..*.*...*........****..*
..*....****..*..*..*.***.*.**
..**.......***..*.....*
.................*****...*..*
.
.................*****...*..*
..**.......***..*.....*
..*....****..*..*..*.***.*.**
..*.*...*........****..*
....**..*..*..*.*......**
*...*..*...*....*.*.*..***
*...*......*.....**.*..**.....*
.*.**......*...........**.***..**
...*..........***.............*
#P 35 -85
**..............*....*
**.............*...**.*............................*.....*
*..**.***......*.....*....*.*.......*.............**....*.*
.****.***....*.....**....*.........**......**.....**...**...**
*......*....***...*.**....*.......*...*...*****.*....********.*
.***..**....*..**.**.*....*...*.....***...*....*.....*.*
....*.***...*.*..***.**..*..*..******.*...**...*.....**.......****
...**.*.**.**.*..**....*.*...*...........*....*.................**
....**...*.**..........***....*****************
.
....**...*.**..........***....*****************
...**.*.**.**.*..**....*.*...*...........*....*.................**
....*.***...*.*..***.**..*..*..******.*...**...*.....**.......****
.***..**....*..**.**.*....*...*.....***...*....*.....*.*
*......*....***...*.**....*.......*...*...*****.*....********.*
.****.***....*.....**....*.........**......**.....**...**...**
*..**.***......*.....*....*.*.......*.............**....*.*
**.............*...**.*............................*.....*
**..............*....*
#P -72 -59
....................................................................*
.*.**.........**.........*..**..................................*..*.*
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.**.******........**..***....*....*...***.....***.....***.***.**.**
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
...******.*.........*********.........**...***......*..........***..*
.
...******.*.........*********.........**...***......*..........***..*
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
.**.******........**..***....*....*...***.....***.....***.***.**.**
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
.*.**.........**.........*..**..................................*..*.*
....................................................................*
#P 0 -59
...*..........***.............*
.*.**......*...........**.***..**
*...*......*.....**.*..**.....*
*...*..*...*....*.*.*..***
....**..*..*..*.*......**
..*.*...*........****..*
..*....****..*..*..*.***.*.**
..**.......***..*.....*
.................*****...*..*
.
.................*****...*..*
..**.......***..*.....*
..*....****..*..*..*.***.*.**
..*.*...*........****..*
....**..*..*..*.*......**
*...*..*...*....*.*.*..***
*...*......*.....**.*..**.....*
.*.**......*...........**.***..**
...*..........***.............*
#P 34 -58
**....**...................**.**
.******..*................*...*
.......*.........................*.*
.**.*.**..........*..**.**.......*.*.***
.***.****..***..**...**.***.*....*.*
......**.*****...***..*...*.*.....*..*
.....*.*.*........**...**........*..*
.....**...**********..............***
.
.....**...**********..............***
.....*.*.*........**...**........*..*
......**.*****...***..*...*.*.....*..*
.***.****..***..**...**.***.*....*.*
.**.*.**..........*..**.**.......*.*.***
.......*.........................*.*
.******..*................*...*
**....**...................**.**
#P -72 -35
....................................................................*
.*.**.........**.........*..**..................................*..*.*
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.**.******........**..***....*....*...***.....***.....***.***.**.**
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
...******.*.........*********.........**...***......*..........***..*
.
...******.*.........*********.........**...***......*..........***..*
..*......**.......**.*.....*.*.....*..**...**.**....**.**.....*.....*
.**.******........**..***....*....*...***.....***.....***.***.**.**
........**...***.....**.....*....*..*.....**..*.**...**.....**......*
.***...**....*....*.....*.*.**..*..**.*..*****.*.**...*......**.**.**.*
*...*.*....***.*.*...*..*.....*........****.*....**...*...*...*..*..**
.*.**....*.**.*...*.....*.....*.***....**..***.........**.......*...**
.*.**.........**.........*..**..................................*..*.*
....................................................................*
#P 0 -35
...*..........***.............*
.*.**......*...........**.***..**
*...*......*.....**.*..**.....*
*...*..*...*....*.*.*..***
....**..*..*..*.*......**
..*.*...*........****..*
..*....****..*..*..*.***.*.**
..**.......***..*.....*
.................*****...*..*
.
.................*****...*..*
..**.......***..*.....*
..*....****..*..*..*.***.*.**
..*.*...*........****..*
....**..*..*..*.*......**
*...*..*...*....*.*.*..***
*...*......*.....**.*..**.....*
.*.**......*...........**.***..**
...*..........***.............*
#P 34 -34
**....**....................**..*.*...............*......*.*.....*
.******..*....................*...*..**......***.........*.*....**..**
.......*..............**..****.*..*..*...**..******...*...*......*....*
.**.*.**.........*****....*..*****....***...*....*....**...........*..*
.***.****..***...********.**.**..........*..*......**.*.*.*.*..*..*...*
......**.*****...***.*.....*.**.......***.*.*.....*.**.*****...**..*..*
.....*.*.*.......****......*.*........**..........*............**.....*
.....**...*******..........*............********...**********....*****
.
.....**...*******..........*............********...**********....*****
.....*.*.*.......****......*.*........**..........*............**.....*
......**.*****...***.*.....*.**.......***.*.*.....*.**.*****...**..*..*
.***.****..***...********.**.**..........*..*......**.*.*.*.*..*..*...*
.**.*.**.........*****....*..*****....***...*....*....**...........*..*
.......*..............**..****.*..*..*...**..******...*...*......*....*
.******..*....................*...*..**......***.........*.*....**..**
**....**....................**..*.*...............*......*.*.....*
#P -70 13
..**
..*..**
..*..**
.*
.****.*
....*.**
.***
..*
.**
*
.*
.*
...***
.
...***
.*
.*
*
.**
..*
.***
....*.**
.****.*
.*
..*..**
..*..**
..**
#P -70 -2
.*****
....*.*
*......*
*...*
.**.*
....*.**
..**
...*
.**
*.*
*.**
.*.*
...*
#P -47 10
.*
.*
*
.***.................***...***
.**.*.........*...*.*......***
..*...........**.*.......*....****
......*......*...*.*...**.*.....**
...*..*.***...**.........*........**.*
...**.*.....*.....*.................*
.........*.*******
.
.........*.*******
...**.*.....*.....*.................*
...*..*.***...**.........*........**.*
......*......*...*.*...**.*.....**
..*...........**.*.......*....****
.**.*.........*...*.*......***
.***.................***...***
*
.*
.*
#P 2 11
.............*.*
.*.**.*.........*
.*.**.*....**...*
*...*....****...*
.***...**.*.....*
........**...*.*
.**.*****
..*.....*
...*****
.
...*****
..*.....*
.**.*****
........**...*.*
.***...**.*.....*
*...*....****...*
.*.**.*....**...*
.*.**.*.........*
.............*.*
#P 20 -5
***
***....................*....*
.*...................*..*...*
...*..............*...*.....***.**
...**........**..*.*.**..*...*....*
....*........*.***..*...*.*..*...****
....*..*..*.***..*.......*....*...**.*
....*.****.**.......................*
.....****...********
.
.....****...********
....*.****.**.......................*
....*..*..*.***..*.......*....*...**.*
....*........*.***..*...*.*..*...****
...**........**..*.*.**..*...*....*
...*..............*...*.....***.**
.*...................*..*...*
***....................*....*
***
#P 20 27
***
***....................*....*
.*...................*..*...*
...*..............*...*.....***.**
...**........**..*.*.**..*...*....*
....*........*.***..*...*.*..*...****
....*..*..*.***..*.......*....*...**.*
....*.****.**.......................*
.....****...********
.
.....****...********
....*.****.**.......................*
....*..*..*.***..*.......*....*...**.*
....*........*.***..*...*.*..*...****
...**........**..*.*.**..*...*....*
...*..............*...*.....***.**
.*...................*..*...*
***....................*....*
***
/programs/demos/life2/lif/AQUA25.lif
0,0 → 1,1294
#Life 1.05
#D c/4 orthogonal spaceships
#D By Hartmut Holzwart, David Bell,
#D and Tim Coe.
#D Artistic arrangement by Al Hensel.
#D
#D Orthogonal c/4's are used in
#D SAWTOOTH, STRETCH.
#N
#P -158 -108
............................**
............................**
............................*
.........................*..*
......................*....*
.......**.............**.***.*
.......*..***.*...***......**
......*........*..**
.....****.*.*....*
.....**........*.**
....*.........*****
.***.*...........***
*..*.............***
.***.*...........***
....*.........*****
.....**........*.**
.....****.*.*....*
......*........*..**
.......*..***.*...***......**
.......**.............**.***.*
......................*....*
.........................*..*
............................*
............................**
............................**
#P -158 -73
.................................**
.................*...............**
.......**.......******...........*
.......*..***.*.......**......*..*
......*..........*..*.**...*....*
.....****.*.*....*...***...**.***.*
.....**......***.......***......**
....*
.***.*
*..*
.***.*
....*
.....**......***.......***......**
.....****.*.*....*...***...**.***.*
......*..........*..*.**...*....*
.......*..***.*.......**......*..*
.......**.......******...........*
.................*...............**
.................................**
#P -158 -41
.................................**......*.*
.................*...............**.....***.*
.......**.......******...........*.....**
.......*..***.*.......**......*..*..*...*
......*..........*..*.**...*....*...*..*
.....****.*.*....*...***...**.***.*.*...*
.....**......***.......***......**...***
....*..................................**
.***.*
*..*
.***.*
....*..................................**
.....**......***.......***......**...***
.....****.*.*....*...***...**.***.*.*...*
......*..........*..*.**...*....*...*..*
.......*..***.*.......**......*..*..*...*
.......**.......******...........*.....**
.................*...............**.....***.*
.................................**......*.*
#P -158 -8
....................*
.......**........****........**
.......*..***..****.....****.*
......*.......**..*....*.......*.....*
.....****.*.*...*..*....**....****.*..**
.....**........*..**.*..*..*.*.*.***
....*..........**.*.........*..*
.***.*.....*.*.....*.*.***......**
*..*.......*.........*.***
.***.*.....*.*.....*.*.***......**
....*..........**.*.........*..*
.....**........*..**.*..*..*.*.*.***
.....****.*.*...*..*....**....****.*..**
......*.......**..*....*.......*.....*
.......*..***..****.....****.*
.......**........****........**
....................*
#P -132 24
..........**
.....***..***
.......*..**.*.*....*
.....**.....***......*
.**..*..***.*...****.*....*
**.**.....*....**...***.*.*
.*...*.........*........*.*
**...*
.*...*.........*........*.*
**.**.....*....**...***.*.*
.**..*..***.*...****.*....*
.....**.....***......*
.......*..**.*.*....*
.....***..***
..........**......*
#P -114 40
***
.***
#P -149 43
.......*..**........................*
......*...**.....***..............*
.....**......*.*******...........*....*
.*...**..*..***..*****..........*......*
.*.......*......*.....*....*.*..*.****.*....*
**..*....*..*.**......*..***.*.*..*...***.*.*
.*.**......*....*.....*..**....***........*.*
.*.**
.*.**......*....*.....*..**....***........*.*
**..*....*..*.**......*..***.*.*..*...***.*.*
.*.......*......*.....*....*.*..*.****.*....*
.*...**..*..***..*****..........*......*
.....**......*.*******...........*....*
......*...**.....***..............*
.......*..**
#P -133 58
.***..*
****..*
*.....*.**
*.***...***.*
.*.*......*.*
*.***...***.*
*.....*.**
****..*
.***..*
.
.***..*
****..*
*.....*.**
*.***...***.*
.*.*......*.*
*.***...***.*
*.....*.**
****..*
.***..*
#P -160 77
..................*..**
.................*...**.....***
................**......*.*******
............*...**..*..***..*****
............*.......*......*.....*....*
...........**..*....*..*.**......*..***
............*.**......*....*.....*..**
............*.**
............*.**......*....*.....*..**
...........**..*....*..*.**......*..***
............*.......*......*.....*....*
............*...**..*..***..*****
................**......*.*******....*...........*.*
.................*...**.....***....**........***.*.*
..................*..**............**.....***.*....*
................................*.*......**...*
..............................**.****..*.....*
..............................*..**.******
.............................**..**
..............................*..**.******
..........*...................**.****..*.....*
.........*.*..*...........*.....*.*......**...*
......**......*..........*.**......**.....***.*....*
.**..*..**.**.........**.*.***.....**........***.*.*
***.*...*....**..****.*.....**.......*...........*.*
.**..*...*..***.***....***..**
.........*.*................***
.**..*...*..***.***....***..**
***.*...*....**..****.*.....**
.**..*..**.**.........**.*.***
......**......*..........*.**
.........*.*..*...........*
..........*
#P -102 -109
.......*.*
......*...*.........*
.....**...*......****
.*...**..*.**....***
.*..........***.*.*
**..*........*...**
.*.**...........***
.*.**
.*.**...........***
**..*........*...**
.*..........***.*.*
.*...**..*.**....***
.....**...*......****
......*...*.........*
.......*.*
#P -102 -85
.......*.*.......................**
......*...*.........*..........*
.....**...*.......*..**...**..*...*
.*...**..*.**...***......***...*.*
.*..........***..*......**..*..**
**..*........*...*......*....**.**
.*.**...........*....*...**...*.**
.*.**...........*....*...**
.*.**...........*....*...**...*.**
**..*........*...*......*....**.**
.*..........***..*......**..*..**
.*...**..*.**...***......***...*.*
.....**...*.......*..**...**..*...*
......*...*.........*..........*
.......*.*.......................**
#P -102 -61
.......*.*
......*...*.........*
.....**...*.......*..**...**
.*...**..*.**...***......***....**
.*..........***..*......**..*..***
**..*........*...*......*....**...***
.*.**...........*....*...**...*****.*
.*.**...........*....*...**
.*.**...........*....*...**...*****.*
**..*........*...*......*....**...***
.*..........***..*......**..*..***
.*...**..*.**...***......***....**
.....**...*.......*..**...**
......*...*.........*
.......*.*
#P -102 -37
.......*.*
......*...*.........*
.....**...*.......*..**...**
.*...**..*.**...***......***....**
.*..........***..*......**..*..***
**..*........*...*......*....**...***.**
.*.**...........*....*...**...*****.*.**..*
.*.**...........*....*...**...............*
.*.**...........*....*...**...*****.*.**..*
**..*........*...*......*....**...***.**
.*..........***..*......**..*..***
.*...**..*.**...***......***....**
.....**...*.......*..**...**
......*...*.........*
.......*.*
#P -102 -13
.......*.*.............................**
......*...*.........*...............*..**
.....**...*.......*..**...**....*..*..*.**.****
.*...**..*.**...***......***...*.**...*
.*..........***..*......**..*....*.**......*
**..*........*...*......*....**............***
.*.**...........*....*...**...*..**........***
.*.**...........*....*...**.....*
.*.**...........*....*...**...*..**........***
**..*........*...*......*....**............***
.*..........***..*......**..*....*.**......*
.*...**..*.**...***......***...*.**...*
.....**...*.......*..**...**....*..*..*.**.****
......*...*.........*...............*..**
.......*.*.............................**
#P -101 11
.......*.*
......*...*.........*.*......*........**
.....**...*......****.*......*...*...*.*
.*...**..*.**....***...**.*..*.......*.**
.*..........***.*.*....**.*...*.**..*..**
**..*........*...**.....*..*...*...*.*..**.*
.*.**...........***......**..............*.*
.*.**.............................***........**
.*.**...........***......**..............*.*
**..*........*...**.....*..*...*...*.*..**.*
.*..........***.*.*....**.*...*.**..*..**
.*...**..*.**....***...**.*..*.......*.**
.....**...*......****.*......*...*...*.*
......*...*.........*.*......*........**
.......*.*
#P -101 51
.........*..............................**
.......*..**......*....................*.....**
......*..****....*.*......*.*....****.**.**..**
.*...**...**.**.*..*.....*...*....*..**.*..**.*
.*....**....****.*.......*..****.**.*.......*
**..*.........**.*.*.....*.*..**..*.*......*..*
.*.**........***...*.....*.*..***.*.........*.*
.*.**.....******..**.***.*..*...**
.*.**........***...*.....*.*..***.*.........*.*
**..*.........**.*.*.....*.*..**..*.*......*..*
.*....**....****.*.......*..****.**.*.......*
.*...**...**.**.*..*.....*...*....*..**.*..**.*
......*..****....*.*......*.*....****.**.**..**
.......*..**......*....................*.....**
.........*..............................**
#P -101 74
..............................*........*
.........*.......*.......*...*.*....***....*
.......*..**....*.*.**..*.*.*..*...**....*.*
......*..****..*...*....*.**.*..........***
.*...**...**.***...*....*.**...**..**.*
.*....**....*****.....***.**...*.*...*.*
**..*.........**.**.**....**....**...**
.*.**........***..........*......*....**
.*.**.....******.........**
.*.**........***..........*......*....**
**..*.........**.**.**....**....**...**
.*....**....*****.....***.**...*.*...*.*
.*...**...**.***...*....*.**...**..**.*
......*..****..*...*....*.**.*..........***
.......*..**....*.*.**..*.*.*..*...**....*.*
.........*.......*.......*...*.*....***....*
..............................*........*
#P -46 -117
...........*
.........*..**...**.....**
.......***......****...*
.*..*...*.......*...*.**
.*..*.*.**......****..**
**........*.**..*..*...*
.*.**.****.**.*..**.....**
.*..........**
.*.**.****.**.*..**.....**
**........*.**..*..*...*
.*..*.*.**......****..**
.*..*...*.......*...*.**
.......***......****...*
.........*..**...**.....**
...........*
#P -46 -93
...........*.............................*
.........*..**...**.....**..........**..*.*
.......***......****...*.......*.*.****.****
.*..*...*.......*...*.**...*.***....**.**..***
.*..*.*.**......****..**...**.*.......*........***
**........*.**..*..*...*.....*..........*.....**.*
.*.**.****.**.*..**.....**............**......***
.*..........**.......................*
.*.**.****.**.*..**.....**............**......***
**........*.**..*..*...*.....*..........*.....**.*
.*..*.*.**......****..**...**.*.......*........***
.*..*...*.......*...*.**...*.***....**.**..***
.......***......****...*.......*.*.****.****
.........*..**...**.....**..........**..*.*
...........*.............................*
#P -46 -69
...........*.............................*
.........*..**...**.....**..........**..*.*
.......***......****...*.......*.*.****.****
.*..*...*.......*...*.**...*.***....**.**..***....*.*
.*..*.*.**......****..**...**.*.......*........*.**..*
**........*.**..*..*...*.....*..........*.....***....*
.*.**.****.**.*..**.....**............**......**
.*..........**.......................*
.*.**.****.**.*..**.....**............**......**
**........*.**..*..*...*.....*..........*.....***....*
.*..*.*.**......****..**...**.*.......*........*.**..*
.*..*...*.......*...*.**...*.***....**.**..***....*.*
.......***......****...*.......*.*.****.****
.........*..**...**.....**..........**..*.*
...........*.............................*
#P -46 -45
...........*..............................*
.........*..**...**.....**..........**..**
.......***......****...*.......*.*.*****..*
.*..*...*.......*...*.**...*.***....*****.*..***.*.*
.*..*.*.**......****..**...**.*.........*.**..****...*
**........*.**..*..*...*.....*...........**...........*
.*.**.****.**.*..**.....**................***********.*
.*..........**
.*.**.****.**.*..**.....**................***********.*
**........*.**..*..*...*.....*...........**...........*
.*..*.*.**......****..**...**.*.........*.**..****...*
.*..*...*.......*...*.**...*.***....*****.*..***.*.*
.......***......****...*.......*.*.*****..*
.........*..**...**.....**..........**..**
...........*..............................*
#P -46 -21
...........*......................*
.........*..**...**.....**.......****..........***
.......***......****...*........**.*
.*..*...*.......*...*.**...*.*.........**...**..**
.*..*.*.**......****..**...**...*.....**.*.*.****
**........*.**..*..*...*.....*.............*.*
.*.**.****.**.*..**.....**....**......**....***..*
.*..........**........................*....*.**.*.*
.*.**.****.**.*..**.....**....**......**....***..*
**........*.**..*..*...*.....*.............*.*
.*..*.*.**......****..**...**...*.....**.*.*.****
.*..*...*.......*...*.**...*.*.........**...**..**
.......***......****...*........**.*
.........*..**...**.....**.......****..........***
...........*......................*
#P -46 3
...........*..................**
.........*..**...**.....**....**
.......***......****...*...*..**..**
.*..*...*.......*...*.**....**...**.**.*
.*..*.*.**......****..**......*..*****.....*
**........*.**..*..*...*...****..*..******..**
.*.**.****.**.*..**.....**....*..**....*.*
.*..........**
.*.**.****.**.*..**.....**....*..**....*.*
**........*.**..*..*...*...****..*..******..**
.*..*.*.**......****..**......*..*****.....*
.*..*...*.......*...*.**....**...**.**.*
.......***......****...*...*..**..**
.........*..**...**.....**....**
...........*..................**
#P -46 28
...........**....*
..........*.**.**.**.*
.*..*..*.*.....*****.....*
.*..*.*.**.*.*.*.*******..**
**...................*.*
.*.**.*********
.*
.*.**.*********
**...................*.*
.*..*.*.**.*.*.*.*******..**
.*..*..*.*.....*****.....*
..........*.**.**.**.*
...........**....*
#P -46 51
....................................*
...........**....*...............****....*....**
..........*.**.**.**.*.......**..***...**....*.*
.*..*..*.*.....*****.....*......*.*......*...*.**
.*..*.*.**.*.*.*.*******..**.*...**....***...*.**
**...................*.*......*.****.*.***...*.*
.*.**.*********................*.*...*........**
.*..............................*
.*.**.*********................*.*...*........**
**...................*.*......*.****.*.***...*.*
.*..*.*.**.*.*.*.*******..**.*...**....***...*.**
.*..*..*.*.....*****.....*......*.*......*...*.**
..........*.**.**.**.*.......**..***...**....*.*
...........**....*...............****....*....**
....................................*
#P -46 75
..............*...*
............*..*..*.....***.*...*
.........****...**...*...*..**..*..****.**
.*..*...*.**.*.***..******..***.......*...*
.*..*.*.**......**..***.*.......*...***
**.....................*.......*....*....**
.*.**.**........................*.*..*****
.*
.*.**.**........................*.*..*****
**.....................*.......*....*....**
.*..*.*.**......**..***.*.......*...***
.*..*...*.**.*.***..******..***.......*...*
.........****...**...*...*..**..*..****.**
............*..*..*.....***.*...*
..............*...*
#P -46 96
...................*
..................*.*
.................*
..............**
............*..*.***
.........****....***
.*..*...*.**.*
.*..*.*.**
**
.*.**.**
.*
.*.**.**
**
.*..*.*.**
.*..*...*.**.*
.........****....***
............*..*.***
..............**
.................*
..................*.*
...................*
#P 18 -111
........................**
......................*....**............*
....................**.*...*****.*........**
..............**.*..**....**...*...*...*.*
..............****......*...*.***...*..***
.............*...*...****...***.*....*
.........*....*.*....**.....**...*
.........**..*...**..............*.**
.....*.*..*.*....**..............*
..*..*.......*...*
**...**.......*
..*..**
....*..*
.....**
#P 18 -90
...................*
......................*
.....**......**.***
....*..*....***.***.*
..*..**.......*.**...**.**
**...**....*...*.....*...*.......**
..*..*....*....*....*.......*.*..***.*
.....*.*.*.*........*.*..**....*...*.*
........**...........*..**.*..*..***.*
..........*...............****...**
#P 18 -74
...................*
......................*
.....**......**.***
....*..*....***.***.*
..*..**.......*.**...**.**
**...**....*...*.....*...*
..*..*....*....*....*........**
.....*.*.*.*........*.*..**.***
........**...........*..**.*...***
..........*...............******.*
.
..........*...............******.*
........**...........*..**.*...***
.....*.*.*.*........*.*..**.***
..*..*....*....*....*........**
**...**....*...*.....*...*
..*..**.......*.**...**.**
....*..*....***.***.*
.....**......**.***
......................*
...................*
#P 18 -42
...................*
......................*
.....**......**.***
....*..*....***.***.*.........*
..*..**.......*.**...**.**...*..*.....*
**...**....*...*.....*...*..*...****.*..*
..*..*....*....*....*........*..*.*..*...*
.....*.*.*.*........*.*..**...*..**..*
........**...........*..**.*.**.**.***
..........*...............**.*...*.**..**.*
.............................*.*.*..*....*
..........*...............**.*...*.**..**.*
........**...........*..**.*.**.**.***
.....*.*.*.*........*.*..**...*..**..*
..*..*....*....*....*........*..*.*..*...*
**...**....*...*.....*...*..*...****.*..*
..*..**.......*.**...**.**...*..*.....*
....*..*....***.***.*.........*
.....**......**.***
......................*
...................*
#P 18 -10
...................*
......................*
.....**......**.***
....*..*....***.***.*........**.*.*
..*..**.......*.**...**.**..*..**..*
**...**....*...*.....*...*.....*.*.*
..*..*....*....*....*.......*.*
.....*.*.*.*........*.*..**.**.*.*
........**...........*..**.*..*..*.**.*
..........*...............****.......*
.
..........*...............****.......*
........**...........*..**.*..*..*.**.*
.....*.*.*.*........*.*..**.**.*.*
..*..*....*....*....*.......*.*
**...**....*...*.....*...*.....*.*.*
..*..**.......*.**...**.**..*..**..*
....*..*....***.***.*........**.*.*
.....**......**.***
......................*
...................*
#P 18 22
...................*
......................*
.....**......**.***
....*..*....***.***.*........**.*.*
..*..**.......*.**...**.**..*..**..*.......*..**
**...**....*...*.....*...*.....*.*.*.......*..***
..*..*....*....*....*.......*.*............*....*
.....*.*.*.*........*.*..**.**.*.*....*****
........**...........*..**.*..*..*.*...*.**
..........*...............****......***
.
..........*...............****......***
........**...........*..**.*..*..*.*...*.**
.....*.*.*.*........*.*..**.**.*.*....*****
..*..*....*....*....*.......*.*............*....*
**...**....*...*.....*...*.....*.*.*.......*..***
..*..**.......*.**...**.**..*..**..*.......*..**
....*..*....***.***.*........**.*.*
.....**......**.***
......................*
...................*
#P 18 54
...................*
......................*
.....**......**.***
....*..*....***.***.*
..*..**.......*.**...**.**......*.........*.*
**...**....*...*.....*...*....*..*.....******..**
..*..*....*....*....*.......**.*.....****.....*
.....*.*.*.*........*.*..**.***..*...**.*.*
........**...........*..**...*.**..*..*
..........*...............***....****
.
..........*...............***....****
........**...........*..**...*.**..*..*
.....*.*.*.*........*.*..**.***..*...**.*.*
..*..*....*....*....*.......**.*.....****.....*
**...**....*...*.....*...*....*..*.....******..**
..*..**.......*.**...**.**......*.........*.*
....*..*....***.***.*
.....**......**.***
......................*
...................*
#P 10 89
.................*..*.*...................................**
................**..*.....***..................*..................*.*..**
.......*.....****.**......*.**.......*........*.*...*..**.*..*..***..*.*
.......*...****......*....****.....*..*.....*..*..**...**..*...***..***
.....*....*....*...**.*......*.**..*...*....**.......*.......**..*.****
.*...**.*.....***.**.*.**...*..*...*..*....**...*.*..*.*......***..***.*
.*..*.*****....*.*...*..*..**..*..***.*.**......*..*...*.......*.......**
**...............***...*....*......*..*....*.**.....**........***
.*.***********.***.....***.*..**.*...*.****
.*...............................*...*
.*.***********.***.....***.*..**.*...*.****
**...............***...*....*......*..*....*.**.....**........***
.*..*.*****....*.*...*..*..**..*..***.*.**......*..*...*.......*.......**
.*...**.*.....***.**.*.**...*..*...*..*....**...*.*..*.*......***..***.*
.....*....*....*...**.*......*.**..*...*....**.......*.......**..*.****
.......*...****......*....****.....*..*.....*..*..**...**..*...***..***
.......*.....****.**......*.**.......*........*.*...*..**.*..*..***..*.*
................**..*.....***..................*..................*.*..**
.................*..*.*...................................**
#P 74 -116
..........*
........**
.....*.*.*.*
..*..*....*....*
**...**....*...*
..*..**.......*.**
....*..*....***.***..*
.....**......**.*.*..*...*
..................**.*....*
.......................**.*....*
......................*..***.*.*
....................**.......*.*
...................*
....................**.......*.*
......................*..***.*.*
.......................**.*....*
..................**.*....*
.....**......**.*.*..*...*
....*..*....***.***..*
..*..**.......*.**
**...**....*...*
..*..*....*....*
.....*.*.*.*
........**
..........*
#P 74 -84
..........*...........................*.*
........**........................***.*.*
.....*.*.*.*...................***.*....*
..*..*....*....*..............*....*
**...**....*...*.............**...*
..*..**.......*.**..............*
....*..*....***.***...**
.....**......**.*.*..*...*.**.*
..................**.*...*.*.*
.
......................**.**
........................***
.
........................***
......................**.**
.
..................**.*...*.*.*
.....**......**.*.*..*...*.**.*
....*..*....***.***...**
..*..**.......*.**..............*
**...**....*...*.............**...*
..*..*....*....*..............*....*
.....*.*.*.*...................***.*....*
........**........................***.*.*
..........*...........................*.*
#P 74 -50
..........*
........**........................**
.....*.*.*.*.....................*....**
..*..*....*....*................*.....****
**...**....*...*...............***....****
..*..**.......*.**.............*.....*....*
....*..*....***.***..*.**.*.*..**.*.*.....*..**
.....**......**.*.*..*...**.**....*.**....*..***
..................**.*.**...*..................*
.......................**.*.**
......................*...*
.......................**.*.**
..................**.*.**...*..................*
.....**......**.*.*..*...**.**....*.**....*..***
....*..*....***.***..*.**.*.*..**.*.*.....*..**
..*..**.......*.**.............*.....*....*
**...**....*...*...............***....****
..*..*....*....*................*.....****
.....*.*.*.*.....................*....**
........**........................**
..........*
#P 74 -16
..........*
........**
.....*.*.*.*.........***..**
..*..*....*....*...**.****
**...**....*...*...*.....*.*
..*..**.......*.**.*****.**
....*..*....***.**.......*
.....**......**.*...**.*
....................**..**
....................**..**
.....**......**.*...**.*
....*..*....***.**.......*
..*..**.......*.**.*****.**
**...**....*...*...*.....*.*
..*..*....*....*...**.****
.....*.*.*.*.........***..**
........**
..........*
#P 74 16
..........*
........**
.....*.*.*.*.........***..**
..*..*....*....*...**.****..........*
**...**....*...*...*.....*.*.......**....**
..*..**.......*.**.*****.**......*...*.****
....*..*....***.**.......*...*..*......*
.....**......**.*...**.*......*..*.*...*
....................**..**..*..*
....................**..**..*..*
.....**......**.*...**.*......*..*.*...*
....*..*....***.**.......*...*..*......*
..*..**.......*.**.*****.**......*...*.****
**...**....*...*...*.....*.*.......**....**
..*..*....*....*...**.****..........*
.....*.*.*.*.........***..**
........**
..........*
#P 74 48
..........*
........**
.....*.*.*.*.........***..**...........*
..*..*....*....*...**.****.......**..**
**...**....*...*...*.....*.*..*.**.*.*.*
..*..**.......*.**.*****.**..**.****.*.*
....*..*....***.**.......*.........**...*
.....**......**.*...**.*.............*..*
....................**..**
....................**..**
.....**......**.*...**.*.............*..*
....*..*....***.**.......*.........**...*
..*..**.......*.**.*****.**..**.****.*.*
**...**....*...*...*.....*.*..*.**.*.*.*
..*..*....*....*...**.****.......**..**
.....*.*.*.*.........***..**...........*
........**
..........*
#P 118 -112
.........*...*..**............*.....**
.........**.*..*....*.....*..*.*....**
.....*.*..*..*.....**....*.***...*..**..**
..*..*........**....*.*....*......**...**.**.*
**...**.......*........**...*.*.....*..*****
..*..**......**.*....*.......*...****..*..******
....*..*......*.*........*...*......*..**....*.*..**
.....**........*.*....******.**..................*
.
.....**........*.*....******.**..................*
....*..*......*.*........*...*......*..**....*.*..**
..*..**......**.*....*.......*...****..*..******
**...**.......*........**...*.*.....*..*****
..*..*........**....*.*....*......**...**.**.*
.....*.*..*..*.....**....*.***...*..**..**
.........**.*..*....*.....*..*.*....**
.........*...*..**............*.....**
#P 130 -80
.*..**............*............*
*..*....*.....*..*.*...**..*.****
.*.....**....*.***....*..**.....*
..**....*.*....*......*.**......*
..*........**...*.*..........****
.**.*....*.......*....**.*.....*
..*.*........*...*...**
...*.*....******.**....****
.
...*.*....******.**....****
..*.*........*...*...**
.**.*....*.......*....**.*.....*
..*........**...*.*..........****
..**....*.*....*......*.**......*
.*.....**....*.***....*..**.....*
*..*....*.....*..*.*...**..*.****
.*..**............*............*
#P 130 -46
..........*...**.**
........***........*
..*...**.*..*.**
**...***..****..*...*..***
..*...***...*...*...***...**
..........**....***...*...**
......**.**....*.....**.*
......**.**....*.....**.*
..........**....***...*...**
..*...***...*...*...***...**
**...***..****..*...*..***
..*...**.*..*.**
........***........*
..........*...**.**
#P 130 -24
...........*......**
...........**.**..***.*
...........*....*...*.*
..............**..***.*
..*...***.........**
**...***..*.*
..*...******.*
.............*
......**
......**
.............*
..*...******.*
**...***..*.*
..*...***.........**
..............**..***.*
...........*....*...*.*
...........**.**..***.*
...........*......**
#P 130 8
..................*
..*.**.........**..*
**...*.........**.*
..*.*..........****
......***..*****
......**..*.*.*.*...**
........*****.*.*...*.*
.........**...****..*.*
..........*.*.*.***.*
..........*.*.*.***.*
.........**...****..*.*
........*****.*.*...*.*
......**..*.*.*.*...**
......***..*****
..*.*..........****
**...*.........**.*
..*.**.........**..*
..................*
#P 130 32
..*.**...*
**...*...*..**....*
..*.*...*....*..**
......***..**.**..*
......***...*****.*..***.*.*
........*.....*.*.**..****...*
.........**......**...........*
.........**.......***********.*
.
.........**.......***********.*
.........**......**...........*
........*.....*.*.**..****...*
......***...*****.*..***.*.*
......***..**.**..*
..*.*...*....*..**
**...*...*..**....*
..*.**...*
#P 130 64
..*
**...*
..*..**
.....**
.....*
....**
.....*
....*
..***
.....*
.*...**
.....**
..**.*
..**.**
...*...*
**.*.*
.*...*
.*
..*.*
.....*
....***
.
....*
.*..*
.**..**
.*
#P 104 72
...*...*
..*.**.*
..*.*
...*
.**
.**
.....*.**
....**
.
....**.*
....**.*
......*
...*..**
....***
.
...*
...**
..*..**
....*.*
**...*
.***
..**
.....*
...*.*
....*
#P 144 64
......***
....**...*
..*
**...*...*
..*..*...*
....**
.....*...*
.....*...*
.....***
.
.....***
.....*...*
.....*...*
....**
..*..*...*
**...*...*
..*
....**...*
......***
#P 178 -109
..........**.*
......***.*.***
..*.*..........*...**
**....**.....*...****
..*.**..*....***.*
........*....*
..*.**..*....***.*
**....**.....*...****
..*.*..........*...**
......***.*.***
..........**.*
#P 178 -96
.....................................*.*
.................................*******..**
................................****.....*
..........**.*............**...**.**.*
......***.*.***........*.***.....*
..*.*..........*...**.*....*
**....**.....*...****.*...**
..*.**..*....***.*.....****.*
........*....*.............***
..*.**..*....***.*.....****.*
**....**.....*...****.*...**
..*.*..........*...**.*....*
......***.*.***........*.***
..........**.*............**
#P 178 -78
...........................................*..**
..........**.*............**.....**........*..***
......***.*.***........*.***...**..........*....*
..*.*..........*...**.*....*.....**...*****
**....**.....*...****.*...**.....*.*...*.**
..*.**..*....***.*.....****.*...*.*****
........*....*.............***
..*.**..*....***.*.....****.*...*.*****
**....**.....*...****.*...**.....*.*...*.**
..*.*..........*...**.*....*.....**...*****
......***.*.***........*.***...**..........*....*
..........**.*............**.....**........*..***
...........................................*..**
#P 178 -61
..........**.*............**.....**
......***.*.***........*.***...**......*...**
..*.*..........*...**.*....*.....**...***.***
**....**.....*...****.*...**.....*.*.....*...***
..*.**..*....***.*.....****.*...*.************.*
........*....*.............***
..*.**..*....***.*.....****.*...*.************.*
**....**.....*...****.*...**.....*.*.....*...***
..*.*..........*...**.*....*.....**...***.***
......***.*.***........*.***...**......*...**
..........**.*............**.....**
#P 178 -46
.............................................**..........*.*
..........**.*............**.....**....**..**.........******..**
......***.*.***........*.***...**.....****..**......****.....*
..*.*..........*...**.*....*.....**...*....**.......**.*.*
**....**.....*...****.*...**.....*.*....*...**.**.*..*
..*.**..*....***.*.....****.*...*.************.*.***
........*....*.............***
..*.**..*....***.*.....****.*...*.************.*.***
**....**.....*...****.*...**.....*.*....*...**.**.*..*
..*.*..........*...**.*....*.....**...*....**.......**.*.*
......***.*.***........*.***...**.....****..**......****.....*
..........**.*............**.....**....**..**.........******..**
.............................................**..........*.*
#P 178 -30
...........................................*.*
..........**.*............**.....**.....******..**
......***.*.***........*.***...**.....****.....*
..*.*..........*...**.*....*.....**...**.*.*
**....**.....*...****.*...**.....*..*..*
..*.**..*....***.*.....****.*...*.****
........*....*.............***
..*.**..*....***.*.....****.*...*.****
**....**.....*...****.*...**.....*..*..*
..*.*..........*...**.*....*.....**...**.*.*
......***.*.***........*.***...**.....****.....*
..........**.*............**.....**.....******..**
...........................................*.*
#P 178 -14
.........................................*.*.*
..........**.*............**.....**........*.**.*
......***.*.***........*.***...**.....*.........*
..*.*..........*...**.*....*.....**..*...**
**....**.....*...****.*...**.....*..*..**
..*.**..*....***.*.....****.*...*.****
........*....*.............***
..*.**..*....***.*.....****.*...*.****
**....**.....*...****.*...**.....*..*..**
..*.*..........*...**.*....*.....**..*...**
......***.*.***........*.***...**.....*.........*
..........**.*............**.....**........*.**.*
.........................................*.*.*
#P 178 2
..........................................*..**
..........**.*............**..............*..***
......***.*.***........*.***..............*....*
..*.*..........*...**.*....*.........*****
**....**.....*...****.*...**..........*.**
..*.**..*....***.*.....****.*...*.****
........*....*.............***...*
..*.**..*....***.*.....****.*...*.****
**....**.....*...****.*...**..........*.**
..*.*..........*...**.*....*.........*****
......***.*.***........*.***..............*....*
..........**.*............**..............*..***
..........................................*..**
#P 178 18
......................................*........**
..........**.*............**..........*...*...*.*
......***.*.***........*.***......**..*.......*.**
..*.*..........*...**.*....*...*.***...*.**..*..**
**....**.....*...****.*...**...**...*...*...*.*..**.*
..*.**..*....***.*.....****.*...****..............*.*
........*....*.............***.............***........**
..*.**..*....***.*.....****.*...****..............*.*
**....**.....*...****.*...**...**...*...*...*.*..**.*
..*.*..........*...**.*....*...*.***...*.**..*..**
......***.*.***........*.***......**..*.......*.**
..........**.*............**..........*...*...*.*
......................................*........**
#P 178 35
..........**.*............**......***.*...**...*
......***.*.***........*.***......**.....****.**
..*.*..........*...**.*....*...**.*...*..*.*
**....**.....*...****.*...**...**.....*....**...**
..*.**..*....***.*.....****.*...*.**...***.*******
........*....*.............***
..*.**..*....***.*.....****.*...*.**...***.*******
**....**.....*...****.*...**...**.....*....**...**
..*.*..........*...**.*....*...**.*...*..*.*
......***.*.***........*.***......**.....****.**
..........**.*............**......***.*...**...*
#P 178 50
..............................**..........*
..........**.*............**..**.......**.*...*.*
......***.*.***........*.***...***...*.*.....*...*..*.*
..*.*..........*...**.*....*....*..*.........*..*****...*
**....**.....*...****.*...**.....***.**......*.*..*......*.**
..*.**..*....***.*.....****.*........**......*.*..******.*.**
........*....*.............***......***..***.*..*.............***
..*.**..*....***.*.....****.*........**......*.*..******.*.**
**....**.....*...****.*...**.....***.**......*.*..*......*.**
..*.*..........*...**.*....*....*..*.........*..*****...*
......***.*.***........*.***...***...*.*.....*...*..*.*
..........**.*............**..**.......**.*...*.*
..............................**..........*
#P 178 66
..............................**..........*...........**
..........**.*............**..**.......**.*...*.*..***
......***.*.***........*.***...***...*.*.....*...*.**.*
..*.*..........*...**.*....*....*..*.........*..***
**....**.....*...****.*...**.....***.**......*.*..**
..*.**..*....***.*.....****.*........**......*.*..**.**
........*....*.............***......***..***.*..*
..*.**..*....***.*.....****.*........**......*.*..**.**
**....**.....*...****.*...**.....***.**......*.*..**
..*.*..........*...**.*....*....*..*.........*..***
......***.*.***........*.***...***...*.*.....*...*.**.*
..........**.*............**..**.......**.*...*.*..***
..............................**..........*...........**
#P 178 81
............................................................**
..............................**..........*................*.....**
..........**.*............**..**.......**.*...*.*....****.**.**..**
......***.*.***........*.***...***...*.*.....*...*....*..**.*..**.*
..*.*..........*...**.*....*....*..*.........*..****.**.*.......*
**....**.....*...****.*...**.....***.**......*.*..**..*.*......*..*
..*.**..*....***.*.....****.*........**......*.*..***.*.........*.*
........*....*.............***......***..***.*..*...**
..*.**..*....***.*.....****.*........**......*.*..***.*.........*.*
**....**.....*...****.*...**.....***.**......*.*..**..*.*......*..*
..*.*..........*...**.*....*....*..*.........*..****.**.*.......*
......***.*.***........*.***...***...*.*.....*...*....*..**.*..**.*
..........**.*............**..**.......**.*...*.*....****.**.**..**
..............................**..........*................*.....**
............................................................**
#P 178 98
..............................**.......*.*
..........**.*............**..**......*..*
......***.*.***........*.***...***...*...*
..*.*..........*...**.*....*....*..*.*
**....**.....*...****.*...**.....****...*
..*.**..*....***.*.....****.*........*.*
........*....*.............***
..*.**..*....***.*.....****.*........*.*
**....**.....*...****.*...**.....****...*
..*.*..........*...**.*....*....*..*.*
......***.*.***........*.***...***...*...*
..........**.*............**..**......*..*
..............................**.......*.*
#P 250 -110
.................................*.*
..........**.*................******..**
......***.*.***........*....****.....*
..*.*..........*...**.*.*...**.*.*
**....**.....*...****.*...*..*
..*.**..*....***.*.....*****
........*....*
..*.**..*....***.*.....*****
**....**.....*...****.*...*..*
..*.*..........*...**.*.*...**.*.*
......***.*.***........*....****.....*
..........**.*................******..**
.................................*.*
#P 250 -93
..........**.*...............*
......***.*.***........*....*...**
..*.*..........*...**.*.*...*...**
**....**.....*...****.*...*.......**.*.**
..*.**..*....***.*.....************.*..***.*
........*....*...........................*.*
..*.**..*....***.*.....************.*..***.*
**....**.....*...****.*...*.......**.*.**
..*.*..........*...**.*.*...*...**
......***.*.***........*....*...**
..........**.*...............*
#P 250 -78
..................................**..........*..**
..........**.*.................*.*..*.........*..***
......***.*.***........*...*****.****.........*....*
..*.*..........*...**.*.*....***....**...*****
**....**.....*...****.*...*......**..**...*.**
..*.**..*....***.*.....**********...**.***
........*....*
..*.**..*....***.*.....**********...**.***
**....**.....*...****.*...*......**..**...*.**
..*.*..........*...**.*.*....***....**...*****
......***.*.***........*...*****.****.........*....*
..........**.*.................*.*..*.........*..***
..................................**..........*..**
#P 250 -54
..........................**.*.*
..........**.*..........*....*.**.*
......***.*.***........*..........*
..*.*..........*...**.*....**
**....**.....*...****.*.***
..*.**..*....***.*.....*
........*....*
..*.**..*....***.*.....*
**....**.....*...****.*.***
..*.*..........*...**.*....**
......***.*.***........*..........*
..........**.*..........*....*.**.*
..........................**.*.*
#P 250 -38
.........................*........**
..........**.*...........*...*...*.*
......***.*.***..........*.......*.**
..*.*..........*...**.*...*.**..*..**
**....**.....*...****.**...*...*.*..**.*
..*.**..*....***.*...................*.*
........*....*................***........**
..*.**..*....***.*...................*.*
**....**.....*...****.**...*...*.*..**.*
..*.*..........*...**.*...*.**..*..**
......***.*.***..........*.......*.**
..........**.*...........*...*...*.*
.........................*........**
#P 250 -8
.......*.........................*
.....**............*...........**......*
.......*...**.....*.*....***.***...*...*
.....***...***....**.....**.***.....*.*.**
....**........****...**...*.*.*****.**.*.*
..*....*...*..*.**...***.*.*........***...**
**....*..*.*..***.............*****....**.**
..*..***.............**********..*.*..*...*
....................*..........*......*
..*..***.............**********..*.*..*...*
**....*..*.*..***.............*****....**.**
..*....*...*..*.**...***.*.*........***...**
....**........****...**...*.*.*****.**.*.*
.....***...***....**.....**.***.....*.*.**
.......*...**.....*.*....***.***...*...*
.....**............*...........**......*
.......*.........................*
#P 250 16
.......*...........................................*.*
.....**............*.........**....................*...*
.......*...**.....*.*.......*..*..**...............*..**
.....***...***....**.......*......**.................*.*
....**........****...**........**...**.....**..........*
..*....*...*..*.**...***...*.*****....*.***.......*....**
**....*..*.*..***.......*.*.**..*....*....*....*.**....*.*
..*..***.............*****....****....*..*...**......*.*
....................*....................*...**...****..**
..*..***.............*****....****....*..*...**......*.*
**....*..*.*..***.......*.*.**..*....*....*....*.**....*.*
..*....*...*..*.**...***...*.*****....*.***.......*....**
....**........****...**........**...**.....**..........*
.....***...***....**.......*......**.................*.*
.......*...**.....*.*.......*..*..**...............*..**
.....**............*.........**....................*...*
.......*...........................................*.*
#P 250 40
.......*...................................**
.....**............*.........**.............*
.......*...**.....*.*.......*..*..**.....**.*****
.....***...***....**.......*......**.....***.******
....**........****...**........**...**...*..*.*****
..*....*...*..*.**...***...*.*****....*.*.*..*.....*....*
**....*..*.*..***.......*.*.**..*....*....*........*..***
..*..***.............*****....****....*...****.....*..**
....................*
..*..***.............*****....****....*...****.....*..**
**....*..*.*..***.......*.*.**..*....*....*........*..***
..*....*...*..*.**...***...*.*****....*.*.*..*.....*....*
....**........****...**........**...**...*..*.*****
.....***...***....**.......*......**.....***.******
.......*...**.....*.*.......*..*..**.....**.*****
.....**............*.........**.............*
.......*...................................**
#P 250 64
.......*...................................**
.....**............*.........**.............*
.......*...**.....*.*.......*..*..**.....**.****
.....***...***....**.......*......**.....***.*****
....**........****...**........**...**...*..*.****
..*....*...*..*.**...***...*.*****....*.*.*..*....*....*
**....*..*.*..***.......*.*.**..*....*....*.......*..***
..*..***.............*****....****....*...****....*..**
....................*
..*..***.............*****....****....*...****....*..**
**....*..*.*..***.......*.*.**..*....*....*.......*..***
..*....*...*..*.**...***...*.*****....*.*.*..*....*....*
....**........****...**........**...**...*..*.****
.....***...***....**.......*......**.....***.*****
.......*...**.....*.*.......*..*..**.....**.****
.....**............*.........**.............*
.......*...................................**
#P 250 88
.......*.................*.*.......**
.....**.................*...*.*...*
.......*...**.....**....*..***.*..**...**...........*
.....***...**....*.....***...*..**.......*......*..**
....**..........**.***.*........*..***.*****....*.....*
..*....*...*.*.*.***.**......****.*.*...*.......*....*
**....*..*.*.**.**.....*....**.*.......*....***.*.*....*
..*..***....................**........***....*.*..*.*.*
............................**.......*....*.*........**
..*..***....................**........***....*.*..*.*.*
**....*..*.*.**.**.....*....**.*.......*....***.*.*....*
..*....*...*.*.*.***.**......****.*.*...*.......*....*
....**..........**.***.*........*..***.*****....*.....*
.....***...**....*.....***...*..**.......*......*..**
.......*...**.....**....*..***.*..**...**...........*
.....**.................*...*.*...*
.......*.................*.*.......**
/programs/demos/life2/lif/AQUA25B.lif
0,0 → 1,609
#Life 1.05
#D c/4 diagonal spaceships
#D By Hartmut Holzwart and David Bell.
#D
#D Diagonal c/4 are used in TIRETRAX,
#D WING
#N
#P -89 -86
**
*.*
*
#P -144 -4
........*
......**.*
....**...*
...*...**
..*....**.*
.*..**.***.*
.*
...*.*...**
**...*.*
*...*...**
.*..**..*..*
....**...*........*
..........*.*...*.*.*
............**.***..*
............**....**
.............*.**
.
...........*.*
...........*
...........***
............*.*
#P -112 -20
..........*
......*.*.*
....**.*...*
....*..***.*
......*.*
.****.*..*..**
.*....**....**.*
**.............*
....*..*....*.***
***...*....*.*
**.*......**.*..*.*
...**....*.*
.**...**.**.*.*...**
....*......**.*.....*
.........*....*......*
.....**.*...*.......*
.......**..........*.**..*
........***......*.*.****
........**......**.**.*...*
...........*....*.*...*....***
...........*.*..*.**..***...*.*
...............**.**..*....*.**
.............*....*.....*..***
...................****.*...**
................*
................**
................**
#P -64 -43
....**
...***
..****.*
**......**
**.....**
*.*..*.**
*****..*
**...*..**
***.*...*....**
.*...**.****.****
.......*.***
.....**....*....*.*
.........*
..................***
.......*.*.........****
.......**..............*
.......*.*.......*....**
........**.....**.*...*
........***....*..*.**
...........*..**.....*
..........***..*..***
............**.**..**......*
....................**.....***
.............*.*.....*..***..*
.............*.......*..*..**
..............*..*....*.**
...............*.....**
.....................**
....................*
.....................*.*
....................*..*
......................*
#P -64 -5
....**
...***
..****.*
**......**
**.....**
*.*..*.**
*****..*
**...*.*
***.**...**
.*....*..**.**
......**.*....*
.......*..**..*....***
......**...*..*.*..*
.......**...**.*......*
.......*.....**.*..*
........*....***...*.*.*
.........***...****.*.*
..........***...*...*
.................******
..............*.*.**..**
..............**......**.*
.........***..**........***
.........*..**.*...........**
..........*.*..............**
.............******.........*
..............**.*..*........*
..................*......***
..................*..*...***
.......................*
...................****...*
.....................*
......................**
#P -64 33
....**
...***
..****.*
**......**
**.....**
*.*..*.**
*****..*
**...*.*
***.**...**
.*....*..**.**
......**.*....*
.......*..**..*
......**...*..*.*
.......**...**.*.....***
.......*.....**.*....*
........*....***........*
.........***...**.....*..**
..........***...**.....*.**
......................*..*
...............**.*.***..**
.................**..**
.................*...**...*.*
..................***.......**
...........***...*..*.*....**
...........*..**...*****...*..*
............*..*..***.**....**
..............***
..................**
.
..................*.**.*
......................*.*
....................**
#P -16 -59
....**.*
....*...*
....*....*
......**
**......*.*
*.*........*
*........*
.**.......*..**
.*..*...****.**.**
.*......*...**..**
...*.*
....***....*****
...........*....*
......**.....*..*
......**.*.*
......**.*.**
.......*....*
.......*
........*.*
#P -16 -29
....**.*
....*...*
....*....*
......**
**......*.*
*.*........*
*........*
.**.......*..*****
.*..*...****.**.***
.*......*....**...*
...*.*......**..*.*
....***..*......***
..........*
......**..*......****
......**.***.***..*..*
......**.***......*.*
.....***....**
.........****
.......*.....*
........*..*.*
...........*.*
.............*
#P -16 5
......**.*
......*...*
......*....*
........**
..........*.*
.............*
**.........*
*.*.........*.**
*............****
.**.......*......*
.*..*....**......**
.*.......*.*..*...*
...*.*.......**....**
....**.*....*
........*.*...*
.......***.*..***
.......*.**.***..**.*
........*......*....*...***
...........*...*.*...**.***
.........*..*..*...**...*
..........**....*...*
................*......*
..................****..*
..................*...**
......................*.*
................**
................*
.................*
#P -19 44
.............***
.............*..***
..............*.*
..........**.......*
..........*.*....*..*
..........*........**
...........**
...........*..*.....*.**
...........*.........**.*
....**.*.....*.*......**..*....**
....*...*.....**.*....**...*...*.*
....*....*........*.......*....*
......**.........****...*.*...**
***.....*.*......*.**...****
*..........*......*...**.*
...*.....*.............**
*..*......*.**.....*.***
.*..*......****.....*..*
..*...*........*
....*..*.......**
.....*..*....**...*....*
.......**....**.*.*...*.*
.......**..**..**.*..*
........*..**........*..*
.........**..*........*...**
..........*.**............**
.
...........***
#P 23 -71
......*
.....**
.....*.*
.........*
.......*..*
.*....**
****..**....**
*..***...**
..*.....*..*..*
...**.......*.*
....**....***.*
......*...**
......*........*
......*..****..*
.......*...*...*
.........*
............**.**
#P 23 -44
......*
.....**
.....*.*
.........*
.......*..*
.*....**
****..**...*
*..***...******
..*.....*....**
...**............*
....**.........*.***
.........*....***
......*.*
......*............*
.......****...*.*..*.*
.......***..**..*..*
............*........***
.........*.............*.**
.........*..*...........*
.........*.*..........**
.............**........*
..............*........*
.
...............**.***
...............**
................*...*
.................**
#P 23 -9
......*
.....**
.....*.*
.........*
.......*..*
.*....**
****..**...*
*..***...*****
..*.....*....*.*
...**........*..**
....**...*..****...**
..........**.**...*
......*.*.*........*.**
......*..*.*........****
.......**...............*
.......**...............**
........*.**...***.***..**
...............*
.................*
.........**..........***
..........*.*....*...***
...........******......*
.............**.*****.*
............*.**..*...*
.............*.*...*****
..............*.*...**
#P 23 27
......*
.....**
.....*.*
.........*
.......*..*...**
.*....**.....**
****..**....*..*
*..***...**.*.**
..*.....*..**.**
...**........*...*
....**...*....*..*
......*...***
......*..........*.....*
......*.....*..*****..**
....****..**.*........*.*
...**...*.*......*.*.**
.....*...*......****...*
.......*.*..**.*
........*...**.***
............**
.............*..*
.
.............*
............*****
............*.*
#P 23 58
......*
.....**
.....*.*
.........*
.......*..*
.*....**
****..**...*
*..***...******
..*.....*....**
...**............*
....**.........*.***
.........*....***
......*.*
......*
.......****...*.*
.......***..**..*
............*
.........*
.........*..*
.........*.*
#P 66 -81
...**
...*.*
...*
**.*
*....*
*.**......***
.....***....**
......***.*.*
.............*
......*.*
.....**.*
......*
....**.*
.......*
.....**
#P 63 -56
.........**
.........*.*
.........*
..........***
..........*.***
..........*..**
............*.*.**
...........**.*.*
..........**....*
***
*..***..*...**
.*.*...**
...**.**..*
....**....*
....****
.
......***
......*
#P 63 -28
.........**
.........*.*
.........*
..........***
..........*.***
..........*..**..**
............*.*.*.*.**
...........**.*.**.**.*
..........**....*
***............*
*..***..*...**
.*.*...**.........***
...**.**..*.......*
....**....*........*
....****
.........*
......***
.....*.*
.....**....**
.......*...*.*
......**...*
......*
.......*
#P 65 10
.......*
......**
......*.*
.
........*.*
......*.*.*
.*...**.*.**
****..*.....*
*..**.**...**
..**....*
....**...*
.....***..*.****
.....*..*..***
.......***
.........***
..........**
#P 65 37
.......*
......**
......*.*
.
........*.*
......*.*.*
.*...**.*.**
****..*.....*...***
*..**.**...**...*
..**....*........*
....**...*.........*
.....***..*.****...*.*
.....*..*..***
.......***...........*.*
.........***.........*.*
..........**..........*
...........................*
......***............*.*.**.*
......*..*.........*.....*..*
.......*..........****...**
.........**.......*......***
...........*......**.**....*
............**.*.**..**..*..**
.............***.*.****...*
...............*******........*
..................*.**......*.*
.................*..**.......**
................**....*.......*
................*.....**...**.**
......................*....**.*
.......................****....*
..........................*.*...*
.........................**.*.*
#P 65 73
.......*
......**
......*.*
.
........*.*
......*.*.*
.*...**.*.**
****..*.....*...***
*..**.**...**...*
..**....*........*
....**...*.........*
.....***..*.****...*.*
.....*..*..***
.......***...........*.*
.........***
..........**...........*.*
.......................*.*
......***...............*
......*..*.............*
.......*...............*.*
.........**..............*
...........*.............**
............**............*.**
.................*............*
.............*.****........**
...............*..*..*.....**
....................*.*......*
..............................**
.....................**.**
.....................**...*
.......................**
..........................**
#P 107 -22
..........*
.........**
.........*.*
...........*
............*
.........*.**
..........*
.
...........**
.**..*.....***.....**
**....*......**..*.**
..**.*..**.......**...*
....**..**........*....***
.........**...**........*.*
..........*..*.**......*.**
.............**........***
..............*.........**
..........**
...........**
.........**
.........**
.
...........*
............*.**
............**.**
............*.***
.............**
#P 110 27
.......*
......**
......*.*
.
............*
......*******
.*...*..****..*
**..*.........*
*.***..**
...**...*.*.*.**
...***.**.......***
.
....*.*............*
....*.**.........***.*
....*.*.........***.****.*
........*......*.**..**.***
........*.*...**.*.....****
...............*.*
.........*.**
...........**...........**.**
...........**...........**
............***...........*
.
...............*
...............***
...............***.**
...............***.*
...............*..**
#P 121 80
..........*
.........**
.........*.*...*
.............**
..............*..*
............**.*..*
........***.**....*
.......*..*....*
......*....*....**
.**...*.....*.*.**
**....**.........*
..*.....*.........*
.....**..*......***
...*.**...........*.*
...**....*.........*.**
..*..*.*............****
........**..*
....*...***.*
.....**....***.........**
..............*.......**.*
.............*.*......*..*
..............**......*
..............**...***...*
...............*..**....*.*
..................*....*
...................**.*
.......................*
/programs/demos/life2/lif/AQUA33.lif
0,0 → 1,1232
#Life 1.05
#D c/3 long spaceships
#D By Hartmut Holzwart and David Bell.
#D
#D Long c/3 are used in SAWTOOT3 and
#D SAWTOOT4. See also BARGE.
#N
#P -223 -127
......*
....**......*
....**....**
......*...**
....*
....*.*...*.*
....*.*..*..*
..*.***
.*...*..**.*
*
.*...*..**.*
..*.***
....*.*..*..*
....*.*...*.*
....*
......*...**
....**....**
....**......*
......*
#P -223 -103
......*
....**......*
....**....**........***
......*...**.......****
....*............*.....**.*
....*.*...*.*...**..*...***
....*.*..*..*...*...*..**
..*.***...........*.*....**
.*...*..**.*..***..**.***.*
*............*.....*
.*...*..**.*..***..**.***.*
..*.***...........*.*....**
....*.*..*..*...*...*..**
....*.*...*.*...**..*...***
....*............*.....**.*
......*...**.......****
....**....**........***
....**......*
......*
#P -223 -79
......*...............................**.*.**.*
....**......*..................***..*..*.**...*
....**....**........***..........*.*..**...*
......*...**.......****........*.....***......*
....*............*.....**.....****.....**...***
....*.*...*.*...**..*...*...****..*.......**.*
....*.*..*..*...*...*..***..*...**....***.***.*
..*.***...........*.*....**.....***...**.....*
.*...*..**.*..***..**.***..*..*.........*******
*............*.....*......*...**
.*...*..**.*..***..**.***..*..*.........*******
..*.***...........*.*....**.....***...**.....*
....*.*..*..*...*...*..***..*...**....***.***.*
....*.*...*.*...**..*...*...****..*.......**.*
....*............*.....**.....****.....**...***
......*...**.......****........*.....***......*
....**....**........***..........*.*..**...*
....**......*..................***..*..*.**...*
......*...............................**.*.**.*
#P -223 -55
......*...............*...........*..........*
....**......*.......**.....*......*.......*.**
....**....**........**.....****..*.......*..*
......*...**..**.*........*....***.*....*...*
....*..........*.*..*.*.*.*...**........*....*
....*.*...*.*..*....*..***...*.........***...*
....*.*..*..*.......**....*...*****.......**.*
..*.***.........*.......*....***....****.....**
.*...*..**.*..*.**..*********...****..........*
*............*..*..*
.*...*..**.*..*.**..*********...****..........*
..*.***.........*.......*....***....****.....**
....*.*..*..*.......**....*...*****.......**.*
....*.*...*.*..*....*..***...*.........***...*
....*..........*.*..*.*.*.*...**........*....*
......*...**..**.*........*....***.*....*...*
....**....**........**.....****..*.......*..*
....**......*.......**.....*......*.......*.**
......*...............*...........*..........*
#P -223 -23
......*....**
....**...**.......*
....**...**.*..**.*.....*
......*........**.*.*.*.*.*
....*.....**.*........*.**
....*.*...**.....***
....*.*...*
..*.***..**......**..*
.*...*..***.....***.*
*..............*
.*...*..***.....***.*
..*.***..**......**..*
....*.*...*
....*.*...**.....***
....*.....**.*........*.**
......*........**.*.*.*.*.*
....**...**.*..**.*.....*
....**...**.......*
......*....**
#P -223 1
......*....**
....**...**.......*
....**...**.*..**.*.....**
......*........**.*.*.*.****
....*.....**.*........*.*
....*.*...**.....***......**.*
....*.*...*................*.*
..*.***..**......**..*.....*...*.*
.*...*..***.....***.*......****.*
*..............*
.*...*..***.....***.*......****.*
..*.***..**......**..*.....*...*.*
....*.*...*................*.*
....*.*...**.....***......**.*
....*.....**.*........*.*
......*........**.*.*.*.****
....**...**.*..**.*.....**
....**...**.......*
......*....**
#P -223 25
......*....**...............*
....**...**.......*........*
....**...**.*..**.*.....**.*
......*........**.*.*.*.***.*.*
....*.....**.*........*.**..***
....*.*...**.....***........*.*.*
....*.*...*.................**
..*.***..**......**..*.........*.*
.*...*..***.....***.*.......*.***
*..............*............*
.*...*..***.....***.*.......*.***
..*.***..**......**..*.........*.*
....*.*...*.................**
....*.*...**.....***........*.*.*
....*.....**.*........*.**..***
......*........**.*.*.*.***.*.*
....**...**.*..**.*.....**.*
....**...**.......*........*
......*....**...............*
#P -223 57
......*....**.............*.**.....**
....**...**.......*.......*...*....***.*.***
....**...**.*..**.*.....**.......*....**
......*........**.*.*.*.**....*******.*...**
....*.....**.*........*.*.*.*.*........*
....*.*...**.....***......*.*.******...**.*
....*.*...*..............****.......*..*
..*.***..**......**...**..*.*...**....**.*
.*...*..***.....***.***..****...*.*....**
*..............*.........****..*
.*...*..***.....***.***..****...*.*....**
..*.***..**......**...**..*.*...**....**.*
....*.*...*..............****.......*..*
....*.*...**.....***......*.*.******...**.*
....*.....**.*........*.*.*.*.*........*
......*........**.*.*.*.**....*******.*...**
....**...**.*..**.*.....**.......*....**
....**...**.......*.......*...*....***.*.***
......*....**.............*.**.....**
#P -223 81
......*....**.............*.**.....**
....**...**.......*.......*...*....***.*.***
....**...**.*..**.*.....**.......*....**
......*........**.*.*.*.**....*******.*...**
....*.....**.*........*.*.*.*.*........*......*
....*.*...**.....***......*.*.******...**.*...*
....*.*...*..............****.......*..*.....*
..*.***..**......**...**..*.*...**....**.*...*
.*...*..***.....***.***..****...*.*....**....**
*..............*.........****..*
.*...*..***.....***.***..****...*.*....**....**
..*.***..**......**...**..*.*...**....**.*...*
....*.*...*..............****.......*..*.....*
....*.*...**.....***......*.*.******...**.*...*
....*.....**.*........*.*.*.*.*........*......*
......*........**.*.*.*.**....*******.*...**
....**...**.*..**.*.....**.......*....**
....**...**.......*.......*...*....***.*.***
......*....**.............*.**.....**
#P -223 105
......*....**.............*.**
....**...**.......*.......*...*
....**...**.*..**.*.....**
......*........**.*.*.*.**....***.*
....*.....**.*........*.*.*.*.*..**
....*.*...**.....***......*.*.**
....*.*...*..............****...*...*
..*.***..**......**...**..*.*...**...*
.*...*..***.....***.***..****....***.*
*..............*.........****
.*...*..***.....***.***..****....***.*
..*.***..**......**...**..*.*...**...*
....*.*...*..............****...*...*
....*.*...**.....***......*.*.**
....*.....**.*........*.*.*.*.*..**
......*........**.*.*.*.**....***.*
....**...**.*..**.*.....**
....**...**.......*.......*...*
......*....**.............*.**
#P -223 137
......*....**
....**...**..................*.*
....**...**.*..**..........*..*
......*........**....**.**.*..**
....*.....**.*......*
....*.*...**.....**....*.........................................*.*
....*.*...*.......*.....*...**......*.*....**.....**......*.*....**.*
..*.***..**......**....**....*.....**.*....***.....*.....**.*...*
.*...*..***.......****.**.*....*..*.*....*...*..*....*..*.*....**
*........................**...*..***.**..**..****...*..***.**..*
.*...*..***.......****.**.*....*..*.*....*...*..*....*..*.*....**
..*.***..**......**....**....*.....**.*....***.....*.....**.*...*
....*.*...*.......*.....*...**......*.*....**.....**......*.*....**.*
....*.*...**.....**....*.........................................*.*
....*.....**.*......*
......*........**....**.**.*..**
....**...**.*..**..........*..*
....**...**..................*.*
......*....**
#P -167 -63
......*....**............**.......*.....*
....**...**...........*.***....*.**....*.*
....**...**.*..**...**...*....*..*.....*
......*........**...**..**...*...*.....*
....*.....**.*........*.**...*..**.*.....*.****
....*.*...**.....**.**...*.....*.**.*.**..*.*
....*.*...*.......*......**.***...*...*.**
..*.***..**......**.......*....*.......**
.*...*..***.......**.......****...***...**
*................................*
.*...*..***.......**.......****...***...**
..*.***..**......**.......*....*.......**
....*.*...*.......*......**.***...*...*.**
....*.*...**.....**.**...*.....*.**.*.**..*.*
....*.....**.*........*.**...*..**.*.....*.****
......*........**...**..**...*...*.....*
....**...**.*..**...**...*....*..*.....*
....**...**...........*.***....*.**....*.*
......*....**............**.......*.....*
#P -167 -39
......*....**............**
....**...**...........*.***..........*
....**...**.*..**...**...*.........**.......**
......*........**...**..**.........**......***
....*.....**.*........*.**...*.........*.*..*
....*.*...**.....**.**...*....**....******..*
....*.*...*.......*......**.**.*...*....*..***
..*.***..**......**.......*.......*.***.....**
.*...*..***.......**.......*********.*..**
*....................................**
.*...*..***.......**.......*********.*..**
..*.***..**......**.......*.......*.***.....**
....*.*...*.......*......**.**.*...*....*..***
....*.*...**.....**.**...*....**....******..*
....*.....**.*........*.**...*.........*.*..*
......*........**...**..**.........**......***
....**...**.*..**...**...*.........**.......**
....**...**...........*.***..........*
......*....**............**
#P -167 -15
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*
......*........**...**..**.........*.**
....*.....**.*........*.**...*.....*...*
....*.*...**.....**.**...*....**.**......*
....*.*...*.......*......**.**.*.*...*.*.*
..*.***..**......**.......*..............*
.*...*..***.......**.......**********.*
*
.*...*..***.......**.......**********.*
..*.***..**......**.......*..............*
....*.*...*.......*......**.**.*.*...*.*.*
....*.*...**.....**.**...*....**.**......*
....*.....**.*........*.**...*.....*...*
......*........**...**..**.........*.**
....**...**.*..**...**...*
....**...**...........*.***
......*....**............**
#P -167 9
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*.......*
......*........**...**..**.......*.....*
....*.....**.*........*.**...*...*.*.*.*.*
....*.*...**.....**.**...*....**.....*.**
....*.*...*.......*......**.**.*
..*.***..**......**.......*......**
.*...*..***.......**.......******.*
*
.*...*..***.......**.......******.*
..*.***..**......**.......*......**
....*.*...*.......*......**.**.*
....*.*...**.....**.**...*....**.....*.**
....*.....**.*........*.**...*...*.*.*.*.*
......*........**...**..**.......*.....*
....**...**.*..**...**...*.......*
....**...**...........*.***
......*....**............**
#P -167 33
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*.......*
......*........**...**..**.......*
....*.....**.*........*.**...*...*.*.*.**
....*.*...**.....**.**...*....**.....*.*.*
....*.*...*.......*......**.**.*.......*
..*.***..**......**.......*......**
.*...*..***.......**.......******.*
*
.*...*..***.......**.......******.*
..*.***..**......**.......*......**
....*.*...*.......*......**.**.*.......*
....*.*...**.....**.**...*....**.....*.*.*
....*.....**.*........*.**...*...*.*.*.**
......*........**...**..**.......*
....**...**.*..**...**...*.......*
....**...**...........*.***
......*....**............**
#P -167 57
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*.......***
......*........**...**..**.....*...*.**
....*.....**.*........*.**...*.*.*...***
....*.*...**.....**.**...*........**.****
....*.*...*.......*......**.*******.....**
..*.***..**......**.......*..........*..**
.*...*..***.......**.......***********.*
*......................................*
.*...*..***.......**.......***********.*
..*.***..**......**.......*..........*..**
....*.*...*.......*......**.*******.....**
....*.*...**.....**.**...*........**.****
....*.....**.*........*.**...*.*.*...***
......*........**...**..**.....*...*.**
....**...**.*..**...**...*.......***
....**...**...........*.***
......*....**............**
#P -167 81
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*.......***
......*........**...**..**.....*...*.**
....*.....**.*........*.**...*.*.*...***..*
....*.*...**.....**.**...*........**.*****.*
....*.*...*.......*......**.*******
..*.***..**......**.......*..........*.*
.*...*..***.......**.......***********.***
*
.*...*..***.......**.......***********.***
..*.***..**......**.......*..........*.*
....*.*...*.......*......**.*******
....*.*...**.....**.**...*........**.*****.*
....*.....**.*........*.**...*.*.*...***..*
......*........**...**..**.....*...*.**
....**...**.*..**...**...*.......***
....**...**...........*.***
......*....**............**
#P -167 105
......*....**............**
....**...**...........*.***
....**...**.*..**...**...*....*..*
......*........**...**..**....*...*..*
....*.....**.*........*.**...*.*.**.*.*
....*.*...**.....**.**...*............*
....*.*...*.......*......**.*********
..*.***..**......**.......*...........*
.*...*..***.......**.......***********
*
.*...*..***.......**.......***********
..*.***..**......**.......*...........*
....*.*...*.......*......**.*********
....*.*...**.....**.**...*............*
....*.....**.*........*.**...*.*.**.*.*
......*........**...**..**....*...*..*
....**...**.*..**...**...*....*..*
....**...**...........*.***
......*....**............**
#P -124 -118
***
***
..**
.*...**
.......*..*.*
..**.*....*
...*....**
...*******
..*......*...*
...*******
...*....**
..**.*....*
.......*..*.*
.*...**
..**
***
***
#P -124 -94
***
***.................*
..**...............*.*
.*...**...........**
.......*..*.*........*
..**.*....*......*...*
...*....**...*...*
...*******....**..****
..*......*....**
...*******....**..****
...*....**...*...*
..**.*....*......*...*
.......*..*.*........*
.*...**...........**
..**...............*.*
***.................*
***
#P -112 -69
........*
.......*.*
......**
.........*
.....*...*
..*..*
.*.*..****
*..*
.*.*..****
..*..*
.....*...*
.........*
......**
.......*.*
........*
#P -112 -46
........*.*
........*...***
......**.....**
......**...*......*........**
.........*.**..**.*.......***
.....*...*......*..**.*.*..*
..*..*......*...****...**..**
.*.*..******........*..*..**
*..*..................*...**
.*.*..******........*..*..**
..*..*......*...****...**..**
.....*...*......*..**.*.*..*
.........*.**..**.*.......***
......**...*......*........**
......**.....**
........*...***
........*.*
#P -112 -22
........*.*
........*...***
......**.....**
......**...*......*........**
.........*.**..**.*.......***
.....*...*......*..**.*.*..*
..*..*......*...****...**..**...*
.*.*..******........*..*..**..***
*..*..................*...**..*
.*.*..******........*..*..**..***
..*..*......*...****...**..**...*
.....*...*......*..**.*.*..*
.........*.**..**.*.......***
......**...*......*........**
......**.....**
........*...***
........*.*
#P -112 1
.......*......*
......*.*.....***
.....**......*.**
......*....**..**
......**.*....*
.........*....*
.....*...*
..*..*.....*
.*.*..*****
*..*
.*.*..*****
..*..*.....*
.....*...*
.........*....*
......**.*....*
......*....**..**
.....**......*.**
......*.*.....***
.......*......*
#P -112 25
.......*
......*.*
.....**.....**.*
......*....*...*
......**.*....*
.........*
.....*...*
..*..*.....*
.*.*..*****
*..*
.*.*..*****
..*..*.....*
.....*...*
.........*
......**.*....*
......*....*...*
.....**.....**.*
......*.*
.......*
#P -110 56
.........*
........*.*
........*
.***....*...*
.**..*....*.*
...***.**.**
.*..*.*.***
*....*.....*
*....*.....*
.*..*.*.***
...***.**.**
.**..*....*.*
.***....*...*
........*
........*.*
.........*
#P -110 79
..........................**
.........*........*......*
........*.*......**......*..*.*.*.**
........*......*****...*........*.*.*
.***....*...*.*......******.*.....*
.**..*....*.*.*.*..**
...***.**.**...*....*.*.**.*
.*..*.*.***..........*...*.*
*....*.....*
*....*.....*
.*..*.*.***..........*.........*.*
...***.**.**...*....*..***...*..*
.**..*....*.*.*.*..**....*.*.*..**
.***....*...*.*........*.*
........*......*****.***
........*.*......**
.........*........*
#P -95 -118
.**
*..*.....**
***...***
*..*.****
.***...*
.*..***
...*....**
...*****.*
.
...*****.*
...*....**
.*..***
.***...*
*..*.****
***...***
*..*.....**
.**
#P -70 -115
.***.......*
.**..*.**.**
...***....*
.*..*.*...*
*....*....*
*....*....*
.*..*.*...*
...***....*
.**..*.**.**
.***.......*
#P -70 -95
..............................**..*
.................*............**..*.***
................*.*..............**
................*...*.**..*******...*
.***.......*....*.*..*....*..*....*
.**..*.**.**......*..**...****.*****
...***....*....**..**.*....**.**..**
.*..*.*...*....**..****....*.....***
*....*....*..*..*..****....*.....*
*....*....*..*..*..****....*.....*
.*..*.*...*....**..****....*.....***
...***....*....**..**.*....**.**..**
.**..*.**.**......*..**...****.*****
.***.......*....*.*..*....*..*....*
................*...*.**..*******...*
................*.*..............**
.................*............**..*.***
..............................**..*
#P -70 -71
..............................**..*...........................*
.................*............**..*..................**......*.*
................*.*..............**.........................*........*.*
................*...*.**..*******......***.........**..*...*..**.*.*..*
.***.......*....*.*..*....*..*....*....**..*.**...*......*****.....*..**
.**..*.**.**......*..**...****.*****.....****..*.**....**......*
...***....*....**..**.*....**.**..**...*..*...***..*...**...**
.*..*.*...*....**..****....*.....****.*....*..**.........*..**
*....*....*..*..*..****....*.....*...**....*..***
*....*....*..*..*..****....*.....*...**....*..***
.*..*.*...*....**..****....*.....****.*....*..**.........*..**
...***....*....**..**.*....**.**..**...*..*...***..*...**...**
.**..*.**.**......*..**...****.*****.....****..*.**....**......*
.***.......*....*.*..*....*..*....*....**..*.**...*......*****.....*..**
................*...*.**..*******......***.........**..*...*..**.*.*..*
................*.*..............**.........................*........*.*
.................*............**..*..................**......*.*
..............................**..*...........................*
#P -70 -47
..............................**..*
.................*............**..*..................**
................*.*..............**.......................*
................*...*.**..*******......***.........**..*..***
.***.......*....*.*..*....*..*....*....**..*.**...*......*.*..*
.**..*.**.**......*..**...****.*****.....****..*.**....**..*.*..*...**
...***....*....**..**.*....**.**..**...*..*...***..*...***..***.*.**
.*..*.*...*....**..****....*.....****.*....*..**............*.......*
*....*....*..*..*..****....*.....*...**....*..***
*....*....*..*..*..****....*.....*...**....*..***
.*..*.*...*....**..****....*.....****.*....*..**............*.......*
...***....*....**..**.*....**.**..**...*..*...***..*...***..***.*.**
.**..*.**.**......*..**...****.*****.....****..*.**....**..*.*..*...**
.***.......*....*.*..*....*..*....*....**..*.**...*......*.*..*
................*...*.**..*******......***.........**..*..***
................*.*..............**.......................*
.................*............**..*..................**
..............................**..*
#P -70 -23
..............................**..*
.................*............**..*
................*.*..............**.........*
................*...*.**..*******......***..***
.***.......*....*.*..*....*..*....*....**..*.*..*...**
.**..*.**.**......*..**...****.*****.....***..*.*.**
...***....*....**..**.*....**.**..**...*..***.......*
.*..*.*...*....**..****....*.....****.*
*....*....*..*..*..****....*.....*...**...*
*....*....*..*..*..****....*.....*...**...*
.*..*.*...*....**..****....*.....****.*
...***....*....**..**.*....**.**..**...*..***.......*
.**..*.**.**......*..**...****.*****.....***..*.*.**
.***.......*....*.*..*....*..*....*....**..*.*..*...**
................*...*.**..*******......***..***
................*.*..............**.........*
.................*............**..*
..............................**..*
#P -70 1
..............................**..*
.................*............**..*
................*.*..............**......*
................*...*.**..*******......**
.***.......*....*.*..*....*..*....*....**.........*.*
.**..*.**.**......*..**...****.*****.....*.......****
...***....*....**..**.*....**.**..**...*...*....**
.*..*.*...*....**..****....*.....****.*...****..**
*....*....*..*..*..****....*.....*...**...*.*..*
*....*....*..*..*..****....*.....*...**...*.*..*
.*..*.*...*....**..****....*.....****.*...****..**
...***....*....**..**.*....**.**..**...*...*....**
.**..*.**.**......*..**...****.*****.....*.......****
.***.......*....*.*..*....*..*....*....**.........*.*
................*...*.**..*******......**
................*.*..............**......*
.................*............**..*
..............................**..*
#P -70 25
..............................**..*........................**
.................*............**..*................*......*
................*.*..............**......*........**......*..*.....*
................*...*.**..*******......**.......*****...*........*.*.*
.***.......*....*.*..*....*..*....*....**......*......******.*.*.*.**
.**..*.**.**......*..**...****.*****.....*.....*.*..**
...***....*....**..**.*....**.**..**...*...*...*.....*.*.**.*
.*..*.*...*....**..****....*.....****.*...****.**.....*...*.*
*....*....*..*..*..****....*.....*...**...*.*.*
*....*....*..*..*..****....*.....*...**...*.*.*
.*..*.*...*....**..****....*.....****.*...****.**.....*...*.*
...***....*....**..**.*....**.**..**...*...*...*.....*.*.**.*
.**..*.**.**......*..**...****.*****.....*.....*.*..**
.***.......*....*.*..*....*..*....*....**......*......******.*.*.*.**
................*...*.**..*******......**.......*****...*........*.*.*
................*.*..............**......*........**......*..*.....*
.................*............**..*................*......*
..............................**..*........................**
#P -70 50
.................*...........***...*
................*.*.........*.....*..*
................*...*.**..**....*.*...*
.***.......*....*.*..*....***...*...*.....*.**
.**..*.**.**......*..**...**....*.*.*..**.*.*.*
...***....*....**..**.*..........*...*......*
.*..*.*...*....**..****
*....*....*..*..*..****...*
*....*....*..*..*..****...*
.*..*.*...*....**..****
...***....*....**..**.*..........*...*......*
.**..*.**.**......*..**...**....*.*.*..**.*.*.*
.***.......*....*.*..*....***...*...*.....*.**
................*...*.**..**....*.*...*
................*.*.........*.....*..*
.................*...........***...*
#P -110 103
.....................*..............................*...*.*.*
.........*..........**..**.........**...*......**.**..****.**
........*.*......*.**.*.........*.***..*.*.....**.*.*.**....*.*
........*......***.**...*.*....*...*...*.*....*....*......**..**.*
.***....*...*.*.*..**.....*..*.*..**...*.....**..*.*......***..*...*
.**..*....*.*.*....*....***.*....***..**.*.*..*..**............**.**
...***.**.**...**.***...***.*.....**.....*.........*..............**
.*..*.*.***........**.........***.**.*....**.......*.*..........*.*
*....*.....*....................*..*.*..........................*...*
*....*.....*....................*..*.*..........................*...*
.*..*.*.***........**.........***.**.*....**.......*.*..........*.*
...***.**.**...**.***...***.*.....**.....*.........*..............**
.**..*....*.*.*....*....***.*....***..**.*.*..*..**............**.**
.***....*...*.*.*..**.....*..*.*..**...*.....**..*.*......***..*...*
........*......***.**...*.*....*...*...*.*....*....*......**..**.*
........*.*......*.**.*.........*.***..*.*.....**.*.*.**....*.*
.........*..........**..**.........**...*......**.**..****.**
.....................*..............................*...*.*.*
#P -110 127
.....................*..............................*...*.*.*
.........*..........**..**.........**...*......**.**..****.**
........*.*......*.**.*.........*.***..*.*.....**.*.*.**....*.*
........*......***.**...*.*....*...*...*.*....*....*......**..**.*.......*.*
.***....*...*.*.*..**.....*..*.*..**...*.....**..*.*......***..*...*....****
.**..*....*.*.*....*....***.*....***..**.*.*..*..**............**.**...**
...***.**.**...**.***...***.*.....**.....*.........*..............**..*.*
.*..*.*.***........**.........***.**.*....**.......*.*..........*.*...*
*....*.....*....................*..*.*..........................*...*.*
*....*.....*....................*..*.*..........................*...*.*
.*..*.*.***........**.........***.**.*....**.......*.*..........*.*...*
...***.**.**...**.***...***.*.....**.....*.........*..............**..*.*
.**..*....*.*.*....*....***.*....***..**.*.*..*..**............**.**...**
.***....*...*.*.*..**.....*..*.*..**...*.....**..*.*......***..*...*....****
........*......***.**...*.*....*...*...*.*....*....*......**..**.*.......*.*
........*.*......*.**.*.........*.***..*.*.....**.*.*.**....*.*
.........*..........**..**.........**...*......**.**..****.**
.....................*..............................*...*.*.*
#P 10 -119
.....................**
.....................***.*
...................*....***
.................*******.**
.***.......*....*........**
.**..*.**.**....*.**.**.**
...***....*....*..**..**...*
.*..*.*...*....***.*.**...*
*....*....*..*...*..**
*....*....*..*...*..**
.*..*.*...*....***.*.**...*
...***....*....*..**..**...*
.**..*.**.**....*.**.**.**
.***.......*....*........**
.................*******.**
...................*....***
.....................***.*
.....................**
#P 10 -93
..................*...*
.................*.*.*..**.*.**
.***.......*.....*...*.....*.*.*
.**..*.**.**.....*.*...*.....*
...***....*........*..*
.*..*.*...*...*.**..*
*....*....*..*...*
*....*....*..*...*
.*..*.*...*...*.**..*
...***....*........*..*
.**..*.**.**.....*.*...*.....*
.***.......*.....*...*.....*.*.*
.................*.*.*..**.*.**
..................*...*
#P 10 -71
........................................*
.......................................**
..................*...........***.....**.**
.................*.*.........*..........*...*...**
.***.......*.....*...*.**..**....*.*****.**.*.**
.**..*.**.**.....*.*..*....***...*..*...*.......*
...***....*........*..**...**....*.*..***
.*..*.*...*...*.**..**.*..........*...**
*....*....*..*...*..****
*....*....*..*...*..****
.*..*.*...*...*.**..**.*..........*...**
...***....*........*..**...**....*.*..***
.**..*.**.**.....*.*..*....***...*..*...*.......*
.***.......*.....*...*.**..**....*.*****.**.*.**
.................*.*.........*..........*...*...**
..................*...........***.....**.**
.......................................**
........................................*
#P 10 -47
..................................................**
.......................................................*
..................*............*....***.........**..*..***
.................*.*..........*.*...**..*.**...*......*.*..*
.***.......*.....*.*....***..**.......****..*.**....**..*.*..*...**
.**..*.**.**.....*......***..*..*...*..*...***..*...***..***.*.**
...***....*..........*.....**.**...*....*..**............*.......*
.*..*.*...*...*.**..*...*.***...*..*....*..***
*....*....*..*...*.**...*.....*...**....*..***
*....*....*..*...*.**...*.....*...**....*..***
.*..*.*...*...*.**..*...*.***...*..*....*..***
...***....*..........*.....**.**...*....*..**............*.......*
.**..*.**.**.....*......***..*..*...*..*...***..*...***..***.*.**
.***.......*.....*.*....***..**.......****..*.**....**..*.*..*...**
.................*.*..........*.*...**..*.**...*......*.*..*
..................*............*....***.........**..*..***
.......................................................*
..................................................**
#P 10 -23
........................................*
...............................**......*.*
......................................*
.................***.........**..*...*..**.*.*..**
.***.......*.....**..*.**...*......*****.....*..*
.**..*.**.**.......****..*.**....**......*.....*.*
...***....*......*..*...***..*...**...**
.*..*.*...*...*.*....*..**.........*..**
*....*....*..*.**....*..***
*....*....*..*.**....*..***
.*..*.*...*...*.*....*..**.........*..**
...***....*......*..*...***..*...**...**
.**..*.**.**.......****..*.**....**......*.....*.*
.***.......*.....**..*.**...*......*****.....*..*
.................***.........**..*...*..**.*.*..**
......................................*
...............................**......*.*
........................................*
#P 10 3
...................*........*........*.........*
.................**........*.*......*.*......**
.***.......*.....**.......**........*.*......**.........*.*
.**..*.**.**.......*........*.......*..........*.......****
...***....*......*...*....**............*....*...*....**
.*..*.*...*...*.*...****..******...**..*..*.*...****..**
*....*....*..*.**...*.*..*.*...*.*..*.**...**...*.*..*
*....*....*..*.**...*.*..*.*...*.*..*.**...**...*.*..*
.*..*.*...*...*.*...****..******...**..*..*.*...****..**
...***....*......*...*....**............*....*...*....**
.**..*.**.**.......*........*.......*..........*.......****
.***.......*.....**.......**........*.*......**.........*.*
.................**........*.*......*.*......**
...................*........*........*.........*
#P 10 28
...................**..........*.....................**
.***.......*..................**.........***..............*
.**..*.**.**.....**..*......*****.......*..........**..*..***.......*
...***....*.....*..........*......*...**....*.....*......*.*..*.*.**
.*..*.*...*....**....***...*.*..**....***...*.*..**....**..*.*..*...**
*....*....*...*..*...**....*.....*..........*......*...***..***
*....*....*............*..........**..*......*****..........*
.*..*.*...*.............***....................**
...***....*.........................**..........*
.**..*.**.**
.***.......*
#P -12 58
...............*
..............*.*
.............**....**....***
..........**..*...*..*........*
.......*.****.**..***.....**
......*.....*.**..*...***.**.**
...*.**............**...*.*
...***..**.....*.**.......*
..*.**.........***.*...*
.**.**.**.*....*.*.*.*.*.*
*...*..**..*....*.......*
....*.*.**
.**...*.*
..*.....*
..*****
.*
..*****
..*.....*
.**...*.*
....*.*.**
*...*..**..*....*.......*
.**.**.**.*....*.*.*.*.*.*
..*.**.........***.*...*
...***..**.....*.**.......*
...*.**............**...*.*
......*.....*.**..*...***.**.**
.......*.****.**..***.....**
..........**..*...*..*........*
.............**....**....***
..............*.*
...............*
#P -9 102
...............*....................*
..............*.*..................*
.............**...................**
..........**..*...................*
.......*.****.**.................****
......*.....*.**.........*......*
...*.**.................*.......***
...***..**.....*.*.....**
..*.**.........**.*....*.......****
.**.**.**.*.........**.***...**..**
*...*..**..*....***........**..*
....*.*.**.......***....**.*.*
.**...*.*...........**.**....***
..*.....*..........**....**.*
..*****...........*.*.....*.*
.*...............*
..*****...........*.*.....*.*
..*.....*..........**....**.*
.**...*.*...........**.**....***
....*.*.**.......***....**.*.*
*...*..**..*....***........**..*
.**.**.**.*.........**.***...**..**
..*.**.........**.*....*.......****
...***..**.....*.*.....**
...*.**.................*.......***
......*.....*.**.........*......*
.......*.****.**.................****
..........**..*...................*
.............**...................**
..............*.*..................*
...............*....................*
#P 44 63
..**
**.................*
**.*..**..........*.*
......**..........*......*
.**.*............*..*..*.*.*
.**....*.**......***.*.*.**
...**..***.*.....*.*
...*.....*****.****.*
..**.*****......*.*..*
...*......****..**
....******.*.*....*
...........*........*
....******.*.*....*
...*......****..**
..**.*****......*.*..*
...*.....*****.****.*
...**..***.*.....*.*
.**....*.**......***.*.*.**
.**.*............*..*..*.*.*
......**..........*......*
**.*..**..........*.*
**.................*
..**
#P 44 95
..*..**
**.*....*........................*
*....*..*........*..*...........*.*.....*
.*.....*......*..*...*..*.**.*.*....*.**
.*..****.....*.*..*.****...****.*...*...**
.............***....**....*.*..*
..**.****.*.*...*....*..*........*
...*....*.*.**.......***.*....***
...**..*...*....*....*..*....***
....*...*..**...*.....*..*.*
.....***....******....*..*.***
.................*
.....***....******....*..*.***
....*...*..**...*.....*..*.*
...**..*...*....*....*..*....***
...*....*.*.**.......***.*....***
..**.****.*.*...*....*..*........*
.............***....**....*.*..*
.*..****.....*.*..*.****...****.*...*...**
.*.....*......*..*...*..*.**.*.*....*.**
*....*..*........*..*...........*.*.....*
**.*....*........................*
..*..**
#P 104 98
...**..........*.*
..*............*
.*....*.....***
..*.........**.*
.*****.*...*..**
**..........*.**..*
.**.**..**.*..**
....**..........*
..*.*..*.*......*.*
..***..*
..*..*
...**
#P 93 -75
...................*
..........**......*.*....**.*
..*......*..*.....*.....*...*
.*.*....*..*..**..*...*....*
**.......*.*..***.***.*
.*...**.......**.*.....*..*
.**.******.....*.****....**
..*.......*.....**..*.*...*
...*..*...*..........*.....***
.......*............**.....***
...***.*.*...........*.*
....*.................*.......***
..............................***
.
.............................**
.............................**
...............................*
#P 93 -51
...................*
..........**......*.*....**.*
..*......*..*.....*.....*...*
.*.*....*..*..**..*...*....*...*.*.....*
**.......*.*..***.***.*........*......*.*
.*...**.......**.*.....*..*..**......*.**
.**.******.....*.****....**..*.*....*...***
..*.......*.....**..*.*...*....*....***...*
...*..*...*..........*.....**.*.*.**....*
.......*............**.....**.**..**..***
...***.*.*...........*.*........*...*.**.*
....*.................*..................**
..........................................*
#P 93 -27
...................*
..........**......*.*....**.*
..*......*..*.....*.....*...*.......................*
.*.*....*..*..**..*...*....*...*.**...............**
**.......*.*..***.***.*........*...**.............**
.*...**.......**.*.....*..*..**
.**.******.....*.****....**..*.*....*.*............***
..*.......*.....**..*.*...*....*....**.............***
...*..*...*..........*.....**.*.*.**
.......*............**.....**.**..****..........***
...***.*.*...........*.*........*.....*.........***
....*.................*.............*..........*
....................................*....*....**
.....................................*...*..*..*
......................................*.*.**
........................................**..*
........................................*
........................................*.*
.........................................*
#P 93 6
..........**.........*......*
..*......*..*.......**.....*.*
.*.*....*..*..**..*.*.....**
**.......*.*..***.*.*....*...*.*
.*...**.......**.**.**...**.**.*
.**.******.....*.*.*.***.....**
..*.......*.....**.*.*.*.***..*
...*..*...*.........*...*.**..**
.......*.....................***
...***.*.*....................**
....*
#P 93 30
..........**.........*
..*......*..*.......**
.*.*....*..*..**..*.*
**.......*.*..***.*.*
.*...**.......**.**.**...*.*.*
.**.******.....*.*.*.***..**.*
..*.......*.....**.*.*.*..*..*.**
...*..*...*.........*......*...***
.......*...................*.*....*.*
...***.*.*..................*...***..*
....*...........................**
...................................*
................................**..*
.................................*..*
..................................*
#P 93 54
..........**.........*
..*......*..*.......**
.*.*....*..*..**..*.*
**.......*.*..***.*.*
.*...**.......**.**.**...*.*.*................................**.*
.**.******.....*.*.*.***..**.*..........**......*.*....**....*...*
..*.......*.....**.*.*.*..*..*.**........*.....**.*....***......*
...*..*...*.........*......*...***....*....*..*.*....*...*..*.*
.......*...................*.*....*.***...*..***.**..**..****
...***.*.*..................*...***...*....*..*.*....*...*..*.*
....*...........................**.......*.....**.*....***......*
...................................*....**......*.*....**....*...*
................................**..*.........................**.*
.................................*..*
..................................*
#P 165 -106
..........**.........*.**
..*......*..*.......**.**
.*.*....*..*..**..*.*...***
**.......*.*..***.*.*....*
.*...**.......**.**.**...**
.**.******.....*.*.*.***......................**..........*
..*.......*.....**.*.*.*.**.......***....................**
...*..*...*.........*............*..........**..*......*****.***.......*.*
.......*..................*....**....*.....*..........*........*.*...*..*
...***.*.*...............**....***...*.*..**....***...*.*..**....*.*.*..**
....*.....................*..........*......*...**....*.....*..***
...........................**..*......*****.......*..........*
........................................**.........***
.............................**..........*
#P 165 -82
..........**.........*.**
..*......*..*.......**.**
.*.*....*..*..**..*.*...***
**.......*.*..***.*.*....*
.*...**.......**.**.**...**
.**.******.....*.*.*.***
..*.......*.....**.*.*.*.**
...*..*...*.........*...............*
.......*..................*....***..***.....*
...***.*.*...............**....**..*.*..*.**
....*.....................*......*.*..*.*...**
...........................**..*..***
..................................*
.............................**
#P 165 -58
..........**.........*.**
..*......*..*.......**.**..........*
.*.*....*..*..**..*.*...***......**
**.......*.*..***.*.*....*.......**
.*...**.......**.**.**...**
.**.******.....*.*.*.***..........***
..*.......*.....**.*.*.*.**.......***
...*..*...*.........*
.......*..................*....***
...***.*.*...............**....***
....*.....................*
...........................**..*
.
.............................**
#P 165 -34
..........**.........*.**
..*......*..*.......**.**
.*.*....*..*..**..*.*...***
**.......*.*..***.*.*....*
.*...**.......**.**.**...**
.**.******.....*.*.*.***..................*
..*.......*.....**.*.*.*.**..............**
...*..*...*.........*.................**.*
.......*..................*..........*...*
...***.*.*...............**..........*..*
....*.....................*..**.*..*
............................*****..*.***
..............................*.*...**
............................*...**..**
...........................*...*....*
............................*....*.***
.............................**.*...**
#P 165 -10
..........**.........*.**
..*......*..*.......**.**
.*.*....*..*..**..*.*...***
**.......*.*..***.*.*....*
.*...**.......**.**.**...**..........**
.**.******.....*.*.*.***.............**
..*.......*.....**.*.*.*.**.........*.**.*
...*..*...*.........*..............***.**.*
.......*..................*........*...**.*
...***.*.*...............**......*..*
....*.....................*..**.*...**..***
............................**.**....*..*
.............................*.**...*....****
............................**...*........*
.............................*...*.*......**
..............................*............*
............................................*
#P 165 14
..........**.........*.**
..*......*..*.......**.**
.*.*....*..*..**..*.*...***
**.......*.*..***.*.*....*
.*...**.......**.**.**...**..........**
.**.******.....*.*.*.***.............**
..*.......*.....**.*.*.*.**.........*.**
...*..*...*.........*..............***.**
.......*..................*........*...***
...***.*.*...............**......*..*
....*.....................*..**.*...**.***
............................**.**....*.**
.............................*.**...*....**
............................**...*
.............................*...*.*
..............................*
#P 165 46
..........**
..*......*..*
.*.*....*..*..**
**.......*.*..***
.*...**.......**.*
.**.******.....*..*
..*.......*.....*.*
...*..*...*......****
.......*...........*.*
...***.*.*.........*.*
....*.............*
..................**
..................*.*
...................*
#P 165 70
..........**
..*......*..*
.*.*....*..*..**
**.......*.*..***
.*...**.......**.*
.**.******.....*..*
..*.......*.....*.*
...*..*...*......****
.......*...........*.*
...***.*.*.........*.*
....*..............*
....................*
....................*.*
.....................*
....................**
.....................*.*
......................*
#P 165 94
..........**......................*.....................**
..*......*..*....................**.........***
.*.*....*..*..**...............*****.......*..........**..*
**.......*.*..***.............*......*...**....*.....*
.*...**.......**.*............*.*..**....***...*.*..**....***
.**.******.....*..*...........*.....*..........*......*...***
..*.......*.....*.*..................**..*......*****
...*..*...*......***.*....****....................**.........***
.......*...........**.*....*...........**..........*.........***
...***.*.*..............**.*
....*.............**.*..**..................................**
..................**........................................**
....................**........................................*
/programs/demos/life2/lif/AQUA33W.lif
0,0 → 1,1656
#Life 1.05
#D c/3 wide spaceships
#D By Hartmut Holzwart and David Bell.
#D
#D Wide c/3 are used in SAWTOOT5.
#N
#P -134 -58
....*
...*.*
...**
...*
....*.*
....*.*
..****
.*.*
.*.*
*
*.*
*
..*
**
**
..*
#P -118 -72
...........*
.........**
.........**
.
..........***
..........***
.
.......***
.......**
.
........***
........***
.
.....***
.....**
.
......***
......***
.
...***
...**
.
....***
....***
.
.***
.*.*
.
***
**
..*
**
.*.*
..*
#P -158 -36
...........................*
.........................**
.........................**
.
..........................***
..........................***
.
.......................***
.......................**
..................*.....................*
................**......***...........**
................**......***...........**
.
.................***.***...............***
.................***.***...............***
.
..............***.......***.........***
..............**........***.........**
.
...............***.....**............***
...............***.....***...........***
.
............***...........***.....***
............**............***.....**
.
.............***.........**........***
.............***.........***.......***
.
..........***...............***.***
..........**................***.***
.....*
...**......***.............**......***
...**......***.............**......***
.............................*
....***.***.......................**
....***.***.......................***
.
.***.......***.......................***
.*.*.......***.......................***
.
***.......**........................**
**........***.......................***
..*........................*
**...........***.........**............***
.*.*.........***.........**............***
..*
............**............***.........**
............***...........***.........**
........................................*
...............***.....***
...............***.....**
.
..............**........***
..............***.......***
.
.................***.***
.................***.***
.
................**......***
................**......***
..................*
.......................**
.......................***
.
..........................***
..........................***
.
.........................**
.........................**
...........................*
#P -138 41
....*
..**
..**
....*
..*
.***
.*
**
..*
.*.*
.*.*
.*
...*
.**
.**
...*
#P -94 -75
....*
...*.*
..**
....*
..**
..***
.
..*..*
..*.*
..*
...*
...*.*
....*
...**
.
..*..*
.*
**..*
..****
..*.**
..*.*
..***
..**
...*.**
......*
......*
....***
..**
..**..*
.....*
...**
...***
#P -105 -36
.....*
....*
...**
.....*.*
...***..*
...**..*
.
..***
.*..*
***.**
...***
.
...*
...***
.
.
...****
..*..**
..*.*
..*.*
.
.**
.**
....**
..*.**
..*.*
..***
.
...*
..*
.*...*
..*..*
....*
..***
...*
.
....*
..**
..***
..**.**
.
..**
...*.*
...*.*
.
...*
..**
...*
...***
....*
......*
....**
....**
.
..**
..*.*
..**
..*
...*
...*.*
....*
...**
.
..*..*
..*
.*
.***
.
.*
..**
......*
..*.****
..*.****
..*..*
...***
.**
#P -104 40
..***
.*..*
.*.****
.*.****
.....*
.**
*
.
***
**.*.*
..**
......*
.....*
..**.*
**.*
**
..*.**
.**.**
.**
.**.**
....*
.***
.**..*
.*..*
..*
...****
....*
....**
.....*
......*
#P -86 -36
.....*
....*
...**
.....*.*
...***..*
...**..*
.
..***
.*..*
***.**
...***
.
...*
...***
.
.
...****
..*..**
..*.*
..*.*
.
.**
.**
....**
..*.**
..*.*
..***
.
...*
..*
.*...*
..*..*
....*
..***
...*
.
....*
..**
..***
..**.**
.
..**
...*.*
...*.*
.
...*
..**
.....**
...*.**
...*.*
...***
.
....*
...*
..*...*
...*..*
.....*
...***
....*
.
.....*
...**
...***
...**.**
.
...**
....*.*
....*.*
.
....*
...**
......**
....*.**
....*.*
....***
#P -83 40
..*
.*
*...*
.*..*
...*
.***
..*
.
...*
.**
.***
.**.**
.
.**
..*.*
..*.*
.
..*
.**
....**
..*.**
..*.*
..***
.
...*
..*
.*...*
..*..*
....*
..***
...*
.
....*
..**
..***
.....*.*
...***..*
...**
......*
...**..*
....*..*
.....*
#P -85 -94
..*
.*.*
.*.*......................*.*...*
.*.......................**.*.*..*
...........***........*.........*
**.........**..*.**...*..****
.*.*.........****..*.*..**....**
.**........*..*...***.....***
..*.......*....*..**..**..*..*
...*..*...*....*..***.*.*....**
.......*.**....*..****.....*........................**...*.*
....**...**....*..****.....*...........*............***.*..*
....*.*...*....*..***.*.*....**.......*..........**....**.*
...**.....*....*..**..**..*..*.......**..*.**...*******.**
....*.*....*..*...***.....***............**..*.*........*
.....*.......****..*.*..**....**.....**.*...*...*....**
...........**..*.**...*..****........****....*......**....*
...........***........*.........*...*..**....*..**....**.*
.........................**.*.*..*..*.***....*..***...**
..........................*.*...*...*.***....*..***...**
....................................*..**....*..**....**.*
.....................................****....*......**....*
.....................................**.*...*...*....**
.........................................**..*.*........*
.....................................**..*.**...*******.**
......................................*..........**....**.*
.......................................*............***.*..*
....................................................**...*.*
#P -61 -62
...*
..*.*
.**
..*
.*.*
.*
*
*.*
*.*
.****
...*.*
...*.*
..*
..***
*
***
.***.*
...*
...*
...**
.........***...........**
...**......*.**..**.........*
...*..*...*.....*....**..*..***.......*
...*.**.*.*...**....*......*.*..*.*.**
....***..*...*.**.*.*....**..*.*..*...**
....**....*.....**...*...***..***
......*....**.*...............*
....**
.....*.*
......*
#P -62 -24
.......*
......*.*
.....**
.......*....**.*...............*
.....**....*.....**...*...***..***
.....***..*...*.**.*.*....**..*.*..*...**
....*.**.*.*...**....*......*.*..*.*.**
....*..*...*.....*....**..*..***.......*
....**......*.**..**.........*
..........***...........**
....**
....*
....*
..***.*
.***
.
.*.***
*..*
.*.*
..*..**
.....**
....**
...*.*
..*
...*.*
....**
.....**
..*..**
.*.*
*..*
.*.***
.
.***
..***.*
....*
....*
....**
..........***...........**
....**......*.**..**.........*
....*..*...*.....*....**..*..***.......*
....*.**.*.*...**....*......*.*..*.*.**
.....***..*...*.**.*.*....**..*.*..*...**
.....**....*.....**...*...***..***
.......*....**.*...............*
.....**
......*.*
.......*
#P -67 36
.....*
....*
...**
.....*.*
...***..*
...**..*
.
..***
.*..*
***.**
...***
.
...*
...***
.
.
...****
..*..**
..*.*
..*.*
.
.**
.**
....**
..*.**
..*.*
..***
.
...*
..*
.*...*
..*..*
....*
..***
...*
.
....*
..**
..***
.....*.*
...***..*
...**
......*
...**..*
....*..*
.....*
#P -52 35
..*
.*.*
**
..*
**
***
.
*..*
*.*
*
.*
.*.*
..**
...**.*
....***
.
.
....****
...*..**
...*.*
...*.*
.
..**
..**
.....**
...*.**
...*.*
...***
.
....*
...*
..*...*
...*..*
.....*
...***
....*
.
.....*
...**
...***
......*.*
....***..*
....**
.......*
....**..*
.....*..*
......*
#P -36 35
...*
..*.*
..**
..*
...*.*
...*.*
.****
*.*
*.*
*
.*
.*.*
..**
...**.*
....***
.
.
....****
...*..**
...*.*
...*.*
.
..**
..**
.....**
...*.**
...*.*
...***
.
....*
...*
..*...*
...*..*
.....*
...***
....*
.
.....*
...**
...***
......*.*
....***..*
....**
.......*
....**..*
.....*..*
......*
#P -18 37
.....*
....*.*
....*.*
....*
...**
...*.*
.
..***
..**
.
....***
...*.**
..*
..*
.***
*
*..*
*..**
...*
..**
...**
.
.
...**.*
.**.*
.***
.
.*.*
*
*...*
.*..*
...*
.***
..*
.
...*
.**
.***
....*.*
..***..*
..**
.....*
..**..*
...*..*
....*
#P -2 37
.....*
....*.*
....*.*
....*
...**
...*.*
.
..***
..**
.
....***
...*.**
..*
..*
.***
*
*..*
*..**
...*
..**
...**
.
...**
..**
...*
*..**
*..*
*
.***
..*
..*
...*.**
....***
.
..**
..***
.
...*.*
...**
....*
....*.*
....*.*
.....*
#P -6 -91
......*
.....*
....**
....*
...****
..*
.*..*
.**..*
.***
....*
.**.**
.**
.**.**
..*.**
**
**.*
..**.*
.....*
......*
..**
**.*.*
***
.
*
.**
.....*
.*.****
.*.****
.*..*
..***
**
..***
.*..*
.*.****
.*.****
.....*
.**
*
.
***
**.*.*
..**
......*
.....*
..**.*
**.*
**
..*.**
.**.**
.**
.**.**
....*
.***
.**..*
.*..*
..*
...****
....*
....**
.....*
......*
#P -6 -17
......*
.....*.*
....**
......*
....**
....***
....***
......*.*
..**...**
..***.**
......**
..*..*
...***
.....*
...*...*
..*...*
...*...**.*
....*****.*
......*
..........*
.......*
......*.***
.....**
.....*
....****
........*
.***..*
.**...***
.....*
***
**.**.*
..*.*..*
.....*
..****
.*..**
..**.*
..***
.....*
.....*.*
#P 18 -65
....*
...*.*
..**
...*
..*.*
..*
.*
.*.*
.*.*
..****
....*.*
....*.*
...*
...***
.*
.***
..***.*
....*
....*
....**
.
....**
....*
....*
..***.*
.***
.
.*.***
*..*
.*.*
..*..**
.....**
....**
...*.*
..*
...*.*
....**
.....**
..*..**
.*.*
*..*
.*.***
.
.***
..***.*
....*
....*
....**
#P 18 -16
....**
....*
....*
..***.*
.***
.
.*.***
*..*
.*.*
..*..**
.....**
....**
...*.*
...*
..*..*
..***.*
.*..*
..*****
..*..*
...****
.**
...****
..*..*
..*****
.*..*
..***.*
..*..*
...*
...*.*
....**
.....**
..*..**
.*.*
*..*
.*.***
.
.***
..***.*
....*
....*
....**
.
....**
....*
....*
..***.*
.***
.*
...***
...*
....*.*
....*.*
..****
.*.*
.*.*
.*
..*
..*.*
...*
..**
...*.*
....*
#P 43 -67
..**
.*..*...***
**.****
.*..***
.**.*....*
..*..*****
...**....**
....*****.*
.
....***
..**.*.*
..***
.......*
...***.*
..*.**.*
..**
.**.*
.
..*
..*
.*..*
..**
..*.*
.
**.*
.**
..*
..**
..**
.
.***
*..*
.**
....***
.*.**
.*....*
.*.***
....*.*
.**
*..*.*
.***
...*
..**
..**.**
.
...*
...*
..*..*
...**
...*.*
.
..**
.**
..***
...*.*
..*
...*.*
....****
.....*..*
.....*..*
.....*
......***
.
......***
...*..**
..*.*
.*..*
#P 43 0
..*.*
...*..**
......***
.
......***
.....*
.....*..*
.....*..*
....****
...*.*
..*
...*.*
..***
.**
..**
.
...*.*
...**
..*..*
...*
...*
.
..**.**
..**
...*
.***
*..*.*
.**
....*.*
.*.***
.*....*
.*.**
....***
.**
*..*
.***
.
..**
..**
..*
.**
**.*
.
..*.*
..**
.*..*
..*
..*
.
.**.*
..**
..*.**.*
...***.*
.......*
..***
..**.*.*
....***
.
....*****.*
...**....**
..*..*****
.**.*....*
.*..***
**.****
.*..*...***
..**
#P 71 -66
.......*
......*.*
......*.*
......*
.....**
.....*.*
.
....***
....**
.
......***
.....*.**
....*
....*
...***
..*
..*..*
..*..**
.....*
....**
.....**
..*.....*
..*..*.*
.*.*..*
***
....***.*
...***..*
.**
.***
.
.*.*
.*.*
.*..**
..*.**
..*
....*
..***
..***
......**
......***
.
......***
...*..*
..*.*.*
.*..*.*.*
..*...*
...**
..**...*
.*****
.*...***
...*
...**
.
..*..*
..*..**
.**...*
.*....*
.**.***
..*...*
..**...**
...*.***.....*
....**.*....**
......*...*.*
......****..*
............*
............*
#P 71 0
............*
......****..*
......*...*.*
....**.*....**
...*.***.....*
..**...**
..*...*
.**.***
.*....*
.**...*
..*..**
..*..*
.
...**
...*
.*...***
.*****
..**...*
...**
..*...*
.*..*.*.*
..*.*.*
...*..*
......***
.
......***
......**
..***
..***
....*
..*
..*.**
.*..**
.*.*
.*.*
.
.***
.**
...***..*
....***.*
***
.*.*..*
..*..*.*
..*.....*
.....**
....**
.....*
..*..**
..*..*
..*
...***
....*
....*
.....*.**
......***
.
....**
....***
.
.....*.*
.....**
......*
......*.*
......*.*
.......*
#P 105 -101
...*
..*.*
.**
...*
.**
.***
.
..*.*
..***
.
.....***
.....***
.
....**
....**
......*
.
...***
...*.**
......*
..***.*
.*....*
.**.***
**.*..*
....**
.*..**
.*..*
.*.**
..*.**.*
.....*.*
.
.....**
....*..*
...***
.......*
......*
..*
.**.*
.*..**
**...*
*....*
**.***
.*...*
.**...**
..*.***.....*
...**.*....**
.....*...*.*
.....****..*
...........*
...........*
#P 105 -51
...........*
.....****..*
.....*...*.*
...**.*....**
..*.***.....*
.**...**
.*...*
**.***
*....*
**...*
.*..**
.**.*
..*
......*
.......*
...***
....*..*
.....**
.
.....*.*
..*.**.*
.*.**
.*..*
.*..**
...**
**..**
.**
..****
......*
..***
**....*
**..*.*
*..*
**.***
....**
..*...**
..*.****
..*
...*
....***
...**.*
..*
.*..*
..*.***
.
..***
...***.*
.....*
.....*
.....**
#P 105 0
.....**
.....*
.....*
...***.*
..***
.
..*.***
.*..*
..*
...**.*
....***
...*
..*
..*.****
..*...**
....**
**.***
*..*
**..*.*
**....*
..***
......*
..****
.**
**..**
...**
.*..**
.*..*
.*.**
..*.**.*
.....*.*
.
.....**
....*..*
...***
.......*
......*
..*
.**.*
.*..**
**...*
*....*
**.***
.*...*
.**...**
..*.***.....*
...**.*....**
.....*...*.*
.....****..*
...........*
...........*
#P 105 51
...........*
.....****..*
.....*...*.*
...**.*....**
..*.***.....*
.**...**
.*...*
**.***
*....*
**...*
.*..**
.**.*
..*
......*
.......*
...***
....*..*
.....**
.
.....*.*
..*.**.*
.*.**
.*..*
.*..**
....**
**.*..*
.**.***
.*....*
..***.*
......*
...*.**
...***
.
......*
....**
....**
.
.....***
.....***
.
..***
..*.*
.
.***
.**
...*
.**
..*.*
...*
#P 135 -82
....*
...*.*
..**
....*
..**
..***
.
..*.*
.*..*
..*
...**
.
.....*
..*
.*.*.**
**......*
.*..*..*
.**
..*
...*.**
......*
.
...***
...**
.....*
..*..*
..*
.*.**
***
.
...***
...***
..**
.
...*.*
...*.*
..*.***.*
..*.*
.***.*..*
.
....**
....***
......*
#P 144 -67
......*
.....*.*
....**
.....*
....*.*
....*
...*
...*.*
...*.*
....***
.....*.*
....*..*
...**
.
..***
.*..*
***.**
...***
.
...*
...***
.
.
...****
..*..**
..*.*
..*.*
#P 138 -39
.*.***.**
.*..*
.***..*.*
......*.*
**.*.**
.*...***
..*....*
.....***
..***.***
.*..*.*..*
.**...*
..*.....*
..******
...*..****
.....**....*
.....**...*
......*
.........*
......*****
......*..**
...*
.**.*.*.*
.*****
.......*.*
***....*..*
*..........*
.*..***..**
.*..****.**
.....**.**
..**..*.*.*
..*.*.*...*
.**....*
..*.*..*..*....*
...*.....*....**
.........****.*
..............*
..............*
...........*..*
...........*.**..*
...........*.**..*
...........*..*
..............*
..............*
.........****.*
...*.....*....**
..*.*..*..*....*
.**....*
..*.*.*...*
..**..*.*.*
.....**.**
.*..****.**
.*..***..**
*..........*
***....*..*
.......*.*
.*****
.**.*.*.*
...*
......*..**
......*****
.........*
......*
.....**...*
.....**....*
...*..****
..******
..*.....*
.**...*
.*..*.*..*
..***.***
.....***
..*....*
.*...***
**.*.**
......*.*
.***..*.*
.*..*
.*.***.**
#P 135 39
......*
....***
....**
.
.***.*..*
..*.*
..*.***.*
...*.*
...*.*
.
..**
...***
...***
.
***
.*.**
..*
..*..*
.....*
...**
...***
.
......*
...*.**
..*
.**
.*..*..*
**......*
.*.*.**
..*
.....*
.
...**
..*
.*..*
..*.*
.
..***
..**
....*
..**
...*.*
....*
#P 144 40
..*.*
..*.*
..*..**
...****
.
.
...***
...*
.
...***
***.**
.*..*
..***
.
...**
....*..*
.....*.*
....***
...*.*
...*.*
...*
....*
....*.*
.....*
....**
.....*.*
......*
/programs/demos/life2/lif/AQUA40.lif
0,0 → 1,259
#Life 1.05
#D 2c/5 spaceships
#D By Hartmut Holzwart, Dean Hickerson, and Tim Coe.
#N
#P -32 -37
......*.*
...*....*
..***....*
.*.*
**..**....*
.**..*****
.
.
.
.**..*****
**..**....*
.*.*
..***....*
...*....*
......*.*
#P -22 -22
.*
.*.*
*..*
.*.*
.*
#P -32 -17
......*.*
...*....*
..***....*
.*.*
**..**....*
.**..*****
.
.
.
.**..*****
**..**....*
.*.*
..***....*
...*....*
......*.*
#P -22 -2
.*
.*.*
*..*..***
.*.*..**
.*
#P -32 3
......*.*
...*....*
..***....*
.*.*
**..**....*
.**..*****
.
.
.
.**..*****
**..**....*
.*.*
..***....*
...*....*
......*.*
#P -22 18
.*....**
.*.*..**
*..*
.*.*..**
.*....**
#P -32 23
......*.*
...*....*
..***....*
.*.*
**..**....*
.**..*****
.
.
.
.**..*****
**..**....*
.*.*
..***....*
...*....*
......*.*
#P 0 -43
......*.*
...*....*
..***....*
.*.*
**..**....*
.**..*****
.
.
.
.**..*****
**..**....*
.*.*
..***....*
...*....*
......*.*
#P 0 -20
.............................*
......*.*..................**.*
...*....*.................*
..***....*.........**....*
.*.*..............***...**.*....****
**..**....*.............**.***...*
.**..*****...*.**.****.......**.*
.............*.*...*.*.**..**..*
............*....*.*
.............*.*...*.*.**..**..*
.**..*****...*.**.****.......**.*
**..**....*.............**.***...*
.*.*..............***...**.*....****
..***....*.........**....*
...*....*.................*
......*.*..................**.*
.............................*
#P 0 4
.......................**
......*.*.........***.***.....*......**
...*....*.........*..*.*.....***...******
..***....*........****.**....***..*...***
.*.*...................*..*....**
**..**....*.........*..*..**...**.*.**
.**..*****...*.*..*.*..*.*..*......**..*
.............*.**.*..*.*.**.****....*.***
............*.....*...**.................*
.............*.**.*..*.*.**.****....*.***
.**..*****...*.*..*.*..*.*..*......**..*
**..**....*.........*..*..**...**.*.**
.*.*...................*..*....**
..***....*........****.**....***..*...***
...*....*.........*..*.*.....***...******
......*.*.........***.***.....*......**
.......................**
#P 0 28
.............................*..*
......*.*....................*..*
...*....*...................*....*
..***....*.................*.**
.*.*.....................*..**
**..**....*.......*...***....*
.**..*****...*.*...*.*......*
.............*.**.**.*..****
............*
.............*.**.**.*..****
.**..*****...*.*...*.*......*
**..**....*.......*...***....*
.*.*.....................*..**
..***....*.................*.**
...*....*...................*....*
......*.*....................*..*
.............................*..*
#P 54 -45
..**......*..*
.*****....*..*
*....*.****
.**.*..**
..*.*...**
...**.*.*.**..*
....****......*
......*.....*
........**.*
........**
........**.*
......*.....*
....****......*
...**.*.*.**..*
..*.*...**
.**.*..**
*....*.****
.*****....*..*
..**......*..*
#P 68 -13
.*
**
.*
#P 54 -21
..**......*..*
.*****....*..*
*....*.****
.**.*..**
..*.*...**
...**.*.*.**..*
....****......*
......*.....*
........**.*
........**
........**.*
......*.....*
....****......*
...**.*.*.**..*
..*.*...**
.**.*..**
*....*.****
.*****....*..*
..**......*..*
#P 53 4
.............*..........*............*..*
.......***...*...*...*...*...........*..*
..**...**.**...**..***..............*....*
.******...*....**..................*.**
*...*..**...........***..*.......*..**
.**..**..*....*...*..**.**....***....*
..***.*........*.**....**..*.*......*
....*.****....*..*......****.*..****
...............***
....*.****....*..*......****.*..****
..***.*........*.**....**..*.*......*
.**..**..*....*...*..**.**....***....*
*...*..**...........***..*.......*..**
.******...*....**..................*.**
..**...**.**...**..***..............*....*
.......***...*...*...*...*...........*..*
.............*..........*............*..*
#P 56 27
...*
.*.*....*
**.***...*....*
.**.*........*.*
......**...***
.....*...*
......**....****
......**.****.**
.
.
......**.****.**
......**....****
.....*...*
......**...***
.**.*........*.*
**.***...*....*
.*.*....*
...*
#P 30 -46
......*..**
.....*
.....*....*
.....*.**
..**.***
.******
*....**
.**.***
..**......*
....*******
.
....*******
..**......*
.**.***
*....**
.******
..**.***
.....*.**
.....*....*
.....*
......*..**
/programs/demos/life2/lif/AQUA50.lif
0,0 → 1,2452
#Life 1.05
#D p2 c/2 spaceships
#D By Hartmut Holzwart and Dean Hickerson.
#D
#D These advance 1 cell every 2 generations.
#D It is particularly easy and fun to mix-
#D and-match these pieces.
#D
#D c/2 p2 spaceships are used in LINEPUF,
#D MAX. See also BARGE2.
#N
#P -232 -81
............*
.........*.*.*
........*..*
.......**
......*....*..*
.....*****.*.*
..**...........**
.*...***.***......*.*
*...*....***.**.**..*
*.....*...*......*
***...****
.
***...****
*.....*...*......*
*...*....***.**.**..*
.*...***.***......*.*
..**...........**
.....*****.*.*
......*....*..*
.......**
........*.*
#P -232 -59
........*.*
.......**........*
......*....*..*.**..*
.....*****.*.*....*.*
..**...........**
.*...***.***
*...*....***.**
*.....*...*
***...****
.
***...****
*.....*...*.........*.*
*...*....***.*.....*..*
.*...***.***......**
..**...........*.*
.....*****.*.*.*...***
......*....*....**
.......**....**.*...*
........*.*..***.**.*
#P -232 -39
........*.*..***.**.*
.......**....**.*...*
......*....*....**
.....*****.*.*.*...***
..**...........*.*
.*...***.***......**
*...*....***.*.....*..*
*.....*...*.........*.*
***...****
.
***...****
*.....*...*
*...*....***.**
.*...***.***
..**...........**
.....*****.*.*....*.*
......*....*..*.**..*
.......**........*
........*.*
#P -232 -19
........*.*
.......**
......*....*
.....*****.*.*..*.*
..**...........*.**
.*...***.***...***
*...*....***.*...*
*.....*...*...**
***...****.....*.*
.
***...****.....*.*
*.....*...*...**
*...*....***.*...*
.*...***.***...***
..**...........*.**
.....*****.*.*..*.*
......*....*
.......**
........*.*
#P -232 1
........*.*
.......**
......*....*
.....*****.*.*
..**...........**
.*...***.***...*****
*...*....***.*...*
*.....*...*...**
***...****.....*.*
.
***...****.....*.*
*.....*...*...**
*...*....***.*...*
.*...***.***...*****
..**...........**
.....*****.*.*
......*....*
.......**
........*.*
#P -232 21
........*.*
.......**...........*
......*....*..*..****
.....*****.*.*...**
..**...........*
.*...***.***....*****.*
*...*....***.**..*....*
*.....*...*.......**
***...****.........*.*
.
***...****.........*.*
*.....*...*.......**
*...*....***.**..*....*
.*...***.***....*****.*
..**...........*
.....*****.*.*...**
......*....*..*..****
.......**...........*
........*.*
#P -232 41
........*.*
.......**
......*....*..*
.....*****.*.*
..**...........**
.*...***.***......*.*
*...*....***.**.**..*
*.....*...*......*
***...****
.
***...****
*.....*...*.........*
*...*....***.**..****
.*...***.***.....**
..**...........*
.....*****.*.*..*****.*
......*....*..*..*....*
.......**.........**
........*.*........*.*
#P -232 61
........*.*........*.*
.......**.........**
......*....*..*..*....*
.....*****.*.*..*****.*
..**...........*
.*...***.***.....**
*...*....***.**..****
*.....*...*.........*
***...****
.
***...****
*.....*...*......*
*...*....***.**.**..*
.*...***.***......*.*
..**...........**
.....*****.*.*
......*....*..*
.......**
........*..*
.........*.*.*
............*
#P -197 -81
............*............*
.........*.*.*........**.*
........*..*..........*
.......**........*....*
......*....*..*.**..*
.....*****.*.*....*.*..*
..**...........**....*.*
.*...***.***
*...*....***.**
*.....*...*
***...****
.
***...****
*.....*...*
*...*....***.**
.*...***.***
..**...........**
.....*****.*.*....*.*
......*....*..*.**..*
.......**........*
........*..*
.........*.*.*
............*
#P -171 -82
*.*
..*
.
.*
.*
.**.*
....*.*
.......*
.....*
....***
...**
..**
...*.*
.
...*****
...*
...***.*
....*
.....***
.....*
.......***
.......*
.........***
.........*
...........***
...........*
............**......*
..................***
............*.*..**
...........**....*
............**.....*
.............******
..............*.*
.................****.*
.................*...**
...................**
...................****
......................*
#P -197 -51
............*
.........*.*.*
........*..*
.......**........*
......*....*..*.**..*
.....*****.*.*....*.*
..**...........**
.*...***.***
*...*....***.**
*.....*...*
***...****
.
***...****
*.....*...*
*...*....***.**
.*...***.***
..**...........**........*
.....*****.*.*....*.*...*.*
......*....*..*.**..*.*.*
.......**........*
........*..*........**
.........*.*.*......**.*
............*.........*
....................*
....................*.*
...................*
....................*.*
....................*
............*.........*
.........*.*.*......**.*
........*..*........**
.......**........*
......*....*..*.**..*.*.*
.....*****.*.*....*.*...*.*
..**...........**........*
.*...***.***
*...*....***.**
*.....*...*
***...****
.
***...****
*.....*...*
*...*....***.**
.*...***.***
..**...........**
.....*****.*.*....*.*
......*....*..*.**..*
.......**........*
........*..*
.........*.*.*
............*
#P -170 30
...........**
..........*
.........**..*
........*....*.*...*.*
.......*****......*..*
......*......**..**
.....*******.....*..*
..**........**.***..*
.*...*****......***...**
*...*.....*.......*
*.....***.......*...**
***...**........*.*
........*......*
***...**........*.*
*.....***.......*...**
*...*.....*.......*
.*...*****......***...**
..**........**.***..*
.....*******.....*..*
......*......**..**
.......*****......*..*
........*....*.*...*.*
.........**..*
..........*
...........**
#P -197 7
..............................................*
.................*.*...........*.*..........***
................*..*..........*..*.........**
...............**............**............*
...........*.............*.............*.....*
.........**********....**********....********........*
........*...*.*....*..*...*.*....*..*...*.*.......**.*
.......**.*...**.*...**.*...**.*...**.*...**.*....*
......*.....*..*...*.*....*..*...*.*....*..*..*...*
.....*******....**********....**********....*...*
..**..............*.............*............*...***
.*...***.*............**............**........**
*...*...**.............*..*..........*..*........*****.*
*.....***...............*.*...........*.*.........*....*
***...***..........................................**
....................................................*..*
***...***............................................*.*
*.....***.....*.*
*...*...**.*.*.**
.*...***.*.*....**
..**......*..***.*
.....***.*****
......*.....*
.......**
........*.*
.
........*.*
.......**
......*.....*
.....***.*****
..**......*..***.*
.*...***.*.*....**
*...*...**.*.*.**
*.....***.....*.*
***...***
.
***...***
*.....***.....*.*
*...*...**.*.*.**
.*...***.*.*....**
..**......*..***.*
.....***.*****
......*.....*
.......**
........*.*
.
........*.*
.......**
......*.....*
.....***.*****
..**......*..***.*
.*...***.*.*....**
*...*...**.*.*.**
*.....***.....*.*
***...***............................................*.*
....................................................*..*
***...***..........................................**
*.....***...............*.*...........*.*.........*....*
*...*...**.............*..*..........*..*........*****.*
.*...***.*............**............**........**
..**..............*.............*............*...***
.....*******....**********....**********....*...*
......*.....*..*...*.*....*..*...*.*....*..*..*...*
.......**.*...**.*...**.*...**.*...**.*...**.*....*
........*...*.*....*..*...*.*....*..*...*.*.......**.*
.........**********....**********....********........*
...........*.............*.............*.....*
...............**............**............*
................*..*..........*..*.........**
.................*.*...........*.*..........***
..............................................*
#P -139 -97
..........................*.*
.........................*..*
........................**
.......................*....*
......................*****.*
...................**
..................*...***
.................*...*
.................*.....*
.................***...*
..................*....**.*
..................*.......*
.................*
................***
...............*
..............***
.............*
............***
...........*
..........***
.........*
........***
.......*....**
......***....*..*
.....*........*.*
....***
...*
..***
.*...*
.*.*
*....*...................*
.****.................**.*
.*.......*............*
***...****............*
*.....***...........*
*...*...*........**.*
.*...**..........*
..**....*........*.**
.....***
......*........*.*
.......***....*..*
........*....**
.........***
..........*
...........***
............*
.............***
..............*
...............*.......*
...............*....**.*
..............***...*
..............*.....*
..............*...*
...............*...***
................**
...................*****.*
....................*....*
.....................**
......................*..*
.......................*.*
#P -137 -25
........*
.....****
.....***
...*...*
...***
..*....*
.******...*.*
**.......***.*
.*...****.*
...**...**
...*.*
..***...****.*
..*.....*...**
..*...*....**
...*...***.**
....**.......**
.......******.*
........*
.........**
..........*..*
...........*.*
#P -127 -5
.....*
......*
....*
...***
..**
.**
..*.*
.....*
..**
***.***
*..*
*..****
.*
..***.*
...*...*
....**
.....*..*
......*.*
#P -122 12
.....*
......*
....*
...***
..**
.**
..*.*
.....*
..**
***.***
*..*
*..****
.*
..***.*.......*
...*...*...****
....**.....**
.....*...*
......***
........**
........*
..........*
.......**
.....***.***
.....*..*
.....*..****
......*
.......***.*
........*...*
.........**
..........*...*
...........***
.............**
.............*
...............*
............**
..........***.***
..........*..*
..........*..****
...........*
............***.*
.............*...*
..............**
...............*..*
................*.*
#P -197 88
.................*.*
................*..*...............*.*
...............**.................*..*
...........*.....................**
.........**********....*.*......*
........*...*.*....*..*..*.....****
.......**.*...**.*...**.......*....*
......*.....*..*...*.*........*..*
.....*******....*******.......*..*
..**..............*............*
.*...***.*............***
*...*...**.............*..*..**
*.....***...............**..*
***...***................*.*.**
.
***...***................*.*.**
*.....***...............**..*
*...*...**.............*..*..**
.*...***.*............***
..**..............*............*
.....*******....*******.......*..*
......*.....*..*...*.*........*..*
.......**.*...**.*...**.......*....*
........*...*.*....*..*..*.....****
.........**********....*.*......*
...........*.....................**
...............**.................*..*
................*..*...............*.*
.................*.*
#P -149 88
.................*.*
................*..*...............*.*
...............**.................*..*
...........*.....................**
.........**********....*.*......*
........*...*.*....*..*..*.....****
.......**.*...**.*...**.......*....*
......*.....*..*...*.*........*..*
.....*******....*******.......*..*
..**..............*............*
.*...*****............***
*...*.....*............*..*..**
*.....***...............**..*
***...**.................*.*.**
........*
***...**.................*.*.**
*.....***...............**..*
*...*.....*............*..*..**
.*...*****............***
..**..............*............*
.....*******....*******.......*..*
......*.....*..*...*.*........*..*
.......**.*...**.*...**.......*....*
........*...*.*....*..*..*.....****
.........**********....*.*......*
...........*.....................**
...............**.................*..*
................*..*...............*.*
.................*.*
#P -88 -96
.........**.................*
........*...............**.**..*
.......**..*...........*.....*.*
......*....*..........**..**
.....*****...........*
..**.....**....*....***.**.*
.*...***..*..***...*.....*
*...*.....**.**...***....**
*.....*...*...*..*.....**...*
*..*..*.....***.***....*..**
.*.*..**.*..**.....*...*.*
.........*.....***.........***
***............**.....***..*..*
**...............*....**...**
**...............*....**...**
***............**.....***..*..*
.........*.....***.........***
.*.*..**.*..**.....*...*.*
*..*..*.....***.***....*..**
*.....*...*...*..*.....**...*
*...*.....**.**...***....**
.*...***..*..***...*.....*
..**.....**....*....***.**.*
.....*****...........*
......*....*..........**..**
.......**..*...........*.....*.*
........*...............**.**..*
.........**.................*
#P -88 -56
.........**.................*
........*...............**.**..*
.......**..*...........*.....*.*
......*....*..........**..**
.....*****...........*.................*
..**.....**....*....***.**.*.....*.*.**
.*...***..*..***...*.....*....****.*.*.*
*...*.....**.**...***....**...**..*
*.....*...*...*..*.....**...*.....***
*..*..*.....***.***....*..**......*
.*.*..**.*..**.....*...*.*........*.*
.........*.....***.........***
***............**.....***..*..*..***
**...............*....**...**....**
**...............*....**...**....**
***............**.....***..*..*..***
.........*.....***.........***
.*.*..**.*..**.....*...*.*........*.*
*..*..*.....***.***....*..**......*
*.....*...*...*..*.....**...*.....***
*...*.....**.**...***....**...**..*
.*...***..*..***...*.....*....****.*.*.*
..**.....**....*....***.**.*.....*.*.**
.....*****...........*.................*
......*....*..........**..**
.......**..*...........*.....*.*
........*...............**.**..*
.........**.................*
#P -97 -15
.........*.*
........*..*
.......**
......*....*
.....*****.*
..**
.*...***
*...*
*.....*
***...*
.*....**.*
.**......*
.*.*
.**...**
..****
.......***
....*.*
...*****.*
..**......*
.**....**
..*.*...*..*
.........*.*
..**
..*..*
...*...**
...*****
#P -94 11
.....***
..**....*
.*...**
*...*...*
*.....***
***...****
.*.......*
.**
.*.*
.**...**
..****
#P -93 22
......***
...*.*
..*****.*
.**......*
**....**
.*.*...*..*
........*.*
.**
.*..*
..*...**
..*****
#P -91 33
.....***
..**....*
.*...**
*...*...*
*.....***
***...****
.*.......*
.**
.*.*
.**...**
..****
#P -90 44
......***
...*.*
..*****.*
.**......*
**....**
.*.*...*..*
........*.*
.**
.*..*
..*...**
..*****
#P -88 55
.....***
..**....*
.*...**
*...*...*
*.....***
***...****
.*.......*
.****
*....*
.*.*
.*...*
..***
...*
....***
#P -83 69
*..........*
.*.......**.*
.*.......**...*
***...**...**.*
*.....***.*.**
*...*....*.**
.*...**.*.*
..**...**.*
.....**.......*
.....**.....**.*
.....*......**...*
...***...**...**.*
...*.....***.*.**
...*...*....*.**
....*...**.*.*
.....**...**.*
........**.......*
........**.....**.*
........*......**...*
......***...**...**.*
......*.....***.*.**
......*...*....*.**
.......*...**.*.*
........**...**.*
...........**
...........**.....*
...........*...**.*
.........***...*
.........*.....*
.........*...*
..........*...***
...........**
..............*****.*
...............*....*
................**
.................*..*
..................*.*
#P -58 -13
...........*
........****
........***
......*...*
......***
...*.*....*
..********
.**
***...****
.*.....*..*
..*.....*
..*.....**
.***...**.*
.*.....*..*
.*...*
..*...**
...**
......**....*
...**....****
..*...**.**
.*...*
.*.....****
.*.....*
..**....**
.
..*.*...*..*
.**....****
..**....*
...*****
....*.*
......*....*.*
....*.*...*..*
...*****.**
..**
.***...****
..*.....*..*
...*.....*
...*.....**
..***...**.*
..*.....*..*
..*...*
...*...**
....**
.......**....*
....**....****
...*...**.**
..*...*
..*.....****
..*.....*
...**....**
.
...*.*...*..*
..**....****
...**....*
....*****
.....*.*
.......*....*.*
.....*.*...*..*
....*****.**
...**
..***...****
...*.....*..*
....*.....*
....*.....**
...***...**.*
...*.....*..*
...*...*
....*...**
.....**
........**....*
.....**....****
....*...**.**
...*...*
...*.....****
...*.....*
....**....**
#P -55 64
.*.*...*..*
**....****
.**....*
..*****
...*.*
.....*....*.*
...*.*...*..*
..*****.**
.**
***...****
.*.....*..*
..*.....*
..*.....**
.***...**.*
.*.....*..*
.*...*
..*...**
...**
......****.*
.......*...*
........*
........******
#P -45 86
.........*
***...****
*.....***
*...*...*
.*...**
..**....*
.....***
......*
.......*.......*
.......*....**.*
......***...*
......*.....*
......*...*
.......*...***
........**
...........*****.*
............*....*
.............**
..............*..*
...............*.*
#P -42 21
......................*
...................****
...................**
.................*...**
.................****.*
..............*.*
.............******
............**.....*
...........**....*
............*.*..**
..................***
............**......*
...........*
...........***
.........*
.........***
.......*
.......***
.....*
.....***
....*
...***..*
...*....*.*
*..****
.*......**
.**.*.*
....*
#P -13 -56
.........*.*
........*..*
.......**
......*....*
.....*****.*
..**...........*.*
.*...***......*..*......*
*...*......**.*......**.*
*.....*....*....*....*
*..*..*....*....*....*
.*.*..**.*......**.*
.........*..*......*..*
***.......*.*.......*.*
**
***.......*.*.......*.*
.........*..*......*..*
.*.*..**.*......**.*
*..*..*....*....*....*
*.....*....*....*....*
*...*......**.*......**.*
.*...***......*..*......*
..**...........*.*
.....*****.*
......*....*
.......**
........*..*
.........*.*
#P 12 -51
*.*.......*.*.......*.*.......*.*.......*.*.......*.*
..*......*..*......*..*......*..*......*..*......*..*
......**.*......**.*......**.*......**.*......**.*
.*....*....*....*....*....*....*....*....*....*....*
.*....*....*....*....*....*....*....*....*....*....*
.**.*......**.*......**.*......**.*......**.*......**.*
....*..*......*..*......*..*......*..*......*..*......*.*
.....*.*.......*.*.......*.*.......*.*.......*.*.......*
#P -36 -56
.........*.*
........*..*
.......**
......*....*
.....*****.*
..**
.*...***
*...*
*.....*
*..*..*
.*.*..**.*
.........*
***
**
**
***
.........*
.*.*..**.*
*..*..*
*.....*
*...*
.*...***
..**
.....*****.*
......*....*
.......**
........*..*
.........*.*
#P -25 -66
.........*.*
........*..*......*
.....**.*......**.*
.....*....*....*
.....*....*....*
...*......**.*
**.*.........*..*
*.............*.*
*.**
#P -13 -94
.............................*.........*.........*
...........*..............**.*......**.*......**.*
........****..............*.........*.........*
........**................*.........*.........*
......*.......*.*.......*.........*.........*
......******.*..*....**.*......**.*......**.*
...*.*.......*.......*.........*.........*
..******.**....*....*..*..*...*..*..*...*..*..*
.**.....**.....*....**..**....**..**....**..**
**....**....*..**.*.*.......*.*.......*.*.......*
.**....****.*.....*.*..*.**.*.*..*.**.*.*..*.**.*
....................*...*.....*...*.....*...*
.**....****.*.....*.*..*.**.*.*..*.**.*.*..*.**.*
**....**....*..**.*.*.......*.*.......*.*.......*
.**.....**.....*....**..**....**..**....**..**
..******.**....*....*..*..*...*..*..*...*..*..*
...*.*.......*.......*.........*.........*
......******.*..*....**.*......**.*......**.*
......*.......*.*.......*.........*.........*
........**................*.........*.........*
........****..............*.........*.........*
...........*..............**.*......**.*......**.*
.............................*.........*.........*
#P 2 -15
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P -13 47
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...**....*.*....*.*
...*****.*..*..*..*.**
.....*....*...**
...*.......*......*
...*.*......*****.*.....*
..*.................**.*.*
...*.*......*****.*....*
...*.......*......*
.....*....*...**
...*****.*..*..*..*.**
...**....*.*....*.*....**
...**..................****
...***....................*
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*.*
........*
#P 25 -31
......*.*
.....*..*
....**
...*
..****
.*....*
.*..*
.*..*
..*
...****.*
....*...*
.....*
.....*.*
.
....***
....**
....***
.
.....*.*
.....*..*
.....**
.......***
.......*
....**.***
...*
..*...**.*
..*...*
.*..**.***
***
.**.****
...*
.*....*
.*.**.*
*.......*
*......*
.*.*...*
.*......*.*
...*....*
.***......*
***.....***
.***...***
...*....***
.*........*
.*.*....*
*.......*.*
*......*
.*.*....*.*
.*......*
...*......*
.***....***
***....***
#P 25 20
.***....***
...*......*
.*......*
.*.*....*.*
*......*
*.......*.*
.*.*....*
.*........*
...*....***
.***...***
***.....***
.***......*
...*....*
.*......*.*
.*.*...*
*......*
*.......*
.*.**.*
.*....*
...*
.**.****
***
.*..**.***
..*...*
..*...**.*
...*
....**.***
.......*
.......***
.....**
.....*..*
.....*.*
.
....***
....**
....***
.
.....*.*
.....*
....*...*
...****.*
..*
.*..*
.*..*
.*....*
..****
...*
....**
.....*..*
......*.*
#P 56 -105
..............*.*
.............*..*
............**
...........*
..........******
.......**.......*
......*...***.*
.....*...*....*
.....*.....*....*
.....***...*****
.
.....***...*****
....*......*....*
...*...*...*..*
..*..*......*...*
..*....*.....*
..*****.......***
.
..*****.......***
..*....*.....*
..*..*......*...*
...*...*...*..*
....*......*....*
.....***...*****
.
.....***.....*****
....*........*....*
...*...*.....*..*
..*..*........*...*
..*....*.......*
.*.****.........***
***
.*.****.........***
..*....*.......*
..*..*........*...*
...*...*.....*..*
....*........*....*
.....***.....*****
.
.....***...*****
.....*.....*....*
.....*...*....*
......*...***.*
.......**.......*
..........******
...........*
............**
.............*..*
..............*.*
#P 50 -29
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...**
...*****
.....*
...*
...*.*
..*
..*...*
...*..*
...*.*
.
..***
..**
..**
..*****
....*
..*
..*.*
.*
.*...*
..*..*
..*.*
.
.***
.**
.**
.*****
...*
.*
.*.*
*
*...*
.*..*
.*.*
.
***
**
**
*****
..*
#P 42 26
........*
........*.*
.......*
.......*...*
........*..*
........*.*
.
.......***
.......**
.......**
.......*****
.........*
.......*
.......*.*
......*
......*...*
.......*..*
.......*.*
.
......***
......**
......**
......*****
........*
......*
......*.*
.....*
.....*...*
......*..*
......*.*
.
.....***
.....**
.....**
.....*****
.......*
.....*
.....*.*
....*
....*...*
.....*..*
.....*.*
.
....***
....**
....**
....*****
......*
....*
....*.*
...*
...*...*
....*..*
....*.*
.
...***
...**
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 58 -6
......*.*.......*.*.......*.*.......*.*
.....*..*......*..*......*..*......*..*
..**.*......**.*......**.*......**.*
..*....*....*....*....*....*....*....*
..*....*....*....*....*....*....*....*
*......**.*......**.*......**.*......**.*
*..*......*..*......*..*......*..*......*
.*.*.......*.*.......*.*.......*.*
#P 82 -60
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 90 -88
.....................*.........*.........*
..................**.*......**.*......**.*
..................*.........*.........*
..................*.........*.........*
................*.........*.........*
.............**.*......**.*......**.*
.............*.........*.........*
............*..**.....*..**.....*..**
...........***.......***.......***
............**........**........**
.............***.......***.......***
..............*.........*.........*
................*.........*.........*
...........*.*.*.....*.*.*.....*.*.*
..........*..*......*..*......*..*......*
.......**.*......**.*......**.*......**.*
.......*....*....*....*....*....*....*
.......*....*....*....*....*....*....*
.....*......**.*......**.*......**.*
..**.*.........*..*......*..*......*..*
..*.............*.*.*.....*.*.*.....*.*.*
.*..**...............*.........*.........*
***................*.........*.........*
.**...............***.......***.......***
..***............**........**........**
...*............***.......***.......***
.....*...........*..**.....*..**.....*..**
*.*.*.............*.........*.........*
..*...............**.*......**.*......**.*
.....................*.........*.........*
.*.....................*.........*.........*
.*.....................*.........*.........*
.**.*..................**.*......**.*......**.*
....*.*...................*.........*.........*
.......*
.....*
....***
...**
..***
...*..**
....*.............*.*.......*.*.......*.*
....**.*.........*..*......*..*......*..*
.......*......**.*......**.*......**.*
.........*....*....*....*....*....*....*
.........*....*....*....*....*....*....*
.........**.*......**.*......**.*......**.*
............*..*......*..*......*..*......*
.............*.*.*.....*.*.*.....*.*.*
..................*.........*.........*
................*.........*.........*
...............***.......***.......***
..............**........**........**
.............***.......***.......***
..............*..**.....*..**.....*..**
...............*.........*.........*
...............**.*......**.*......**.*
..................*.........*.........*
....................*.........*.........*
....................*.........*.........*
....................**.*......**.*......**.*
.......................*.*.......*.*.......*.*
..........................*.........*.........*
........................*.........*.........*
.......................***.......***.......***
......................**........**........**
.....................***.......***.......***
......................*..**.....*..**.....*..**
.......................*.........*.........*
.......................**.*......**.*......**.*
..........................*.........*.........*
............................*.........*.........*
............................*.........*.........*
............................**.*......**.*......**.*
...............................*.........*.........*
#P 69 68
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 74 20
............*.*
...........*..*
..........**
.........*....*
........*****.*
.....**
....*...***
...*...*
...*.....*
...***...*
....*....**.*
....*.......*
...*
..***
.*...*
.*.*
*....*
.****
.*.......*
***...****
*.....**
*...*
.*...*****
..**
.....***.*
.....***.*
.....*
....******
...*
..*...****
..*...*
..*...**.*
...*
....*****.*
..........*
..*****.*
.*......*
*...**
*....*..*.**
*.....*.*....**
.**..........****
................*
.*.*
**
.**
..***
...*
.....*
....*
#P 102 10
.......*.*
......*..*
.....**
....*....*
...*****.*
..*
..****
.*
***..*
.***
..*
...***.*
...*..**
....***
......*
....*
....*.*
...*
...*
....*.*
....*
......*
....*****
....**
....**
....***
.
.....*.*
....*..*
....*
....*
.....*..**
......****
.
....******
...*
..*...**.*
..*...*
..*...****
...*
....****
.....*
.....*.*
...*.*
..***.*
.**..*****
**.....*
.*.*.*
....*
.***
..***
....*
..*
..*.*
.*.......*
.*...*.**
..*..*.*.*
..*.*
.
.***
.**
.**....*
.*****.*.*
...*....*
.*
.*.*
*
*...*
.*..*
.*.*
.
***
**
**
***
#P 99 86
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 130 21
........*
.....****
.....**
...*...**
...****.*
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...****.*
..**...**
.*...**
*....****
*.......*
*..*
.*.*
.
***
**
**
***
.
.*.*
*..*
*.......*
*....****
.*...**
..**...**
...****.*
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 166 -90
............*
.........**.*
.........*
.........*
.......*
....**.*
....*
...*..**
...**
......**
..*...**
..**.**
..*.*.*
.**
**.*
...*
#P 160 -74
.....*
.....**.*
.....*.*
....**
...**.*
......*
..*
..**.*
..*.*
.**
**.*
...*
#P 154 -62
.....*
...****.*
..**....*
...**
....***
.....*
.......*
...***
..**...*..*
.**..*..***
***..*.*.*
.**...**.*
..*****.*
...*...**..*
.........*.*
#P 156 -47
.**
.***
.***
...*
.*
.*.*.........*
*.........****
.*.*......***
.*......*...*
...*....***
.***...*....*
***...******
.**
..********
...*.*....*
......***
......*...*
........***
........****
...........*
#P 158 0
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...****.*
...*...**
....***
.....*.**
......**.*
.
......*
.....****
....**
...**...*
..**
...******
.
...**.*
..**..*
.**
***
.**.**.*
...*...*
.*....*
.*.**
*
#P 158 50
.*.**
.*....*
...*...*
.**.**.*
***
.**
..**..*
...**.*
.
...******
..**
...**...*
....**
.....****
......*
.
......**.*
.....*.**
....***
...*...**
...****.*
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 183 -55
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
#P 186 -41
***
**
***
.
.*.*....*
.*..*.**
*...*.*.*
*
.*.*
.*...*.*
...*...*.*
.***....*
***..*
.**..*
..**...*
...***.*
.
...**.*
..**
.**..**
***.*
.**..**
..**
...***..**
........*
....**..**
..**.......**
.**.***.....*..*
...*.........*.*
.*...****
.*.*.*
*....*..*
*....*..*
.*.*.*
.*...****
...*
.**.***
..**
....**
.
...*****
..**
.**..**
***.*
.**..**
..**
...**.*
.
...****
..**
.**..**
***.*
.**..***
..**
...***
.
....**
..**
.**.***
...*
.*...****
.*.*.*
*....*..*
*....*..*
.*.*.*
.*...****
...*
.**.***
..**
....**
#P 186 30
...*****
..**
.**..**
***.*
.**..**
..**
...**.*
.
...****
..**
.**..**
***.*
.**..***
..**
...***
.
....**
..**
.**.***
...*
.*...****
.*.*.*
*....*..*
*....*..*
.*.*.*
.*...****
...*
.**.***
..**
....**..**
........*
...***..**
..**
.**..**
***.*
.**..**
..**
...**.*
.
...***.*
..**...*
.**..*
***..*
.***....*
...*...*.*
.*...*.*
.*.*
*
*...*.*.*
.*..*.**
.*.*....*
.
***
**
***
#P 183 86
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 221 -42
.......*
....****
....**
..*
..****
.*
***..*
.***
..*
...***.*
...*..**
....***
......*
....*
....*.*
...*
....*.*
....*
......*
....***
...***
...*.*
...**
...*
..***
..*..*
.*..*
.**
#P 220 -13
..*.*
.**..*
.*.*
.**
.*.......*
***...****
*.....***
*...*...*
.*...**
..**....*
.....***
......*
.......*
.......*
......***
......*..*
.....*..*
.....**
.
.....*.*
....**..*
....*.*
....**
....*
...***
...*..*
..*..*
..**
#P 220 16
..*.*
.**..*
.*.*
.**
.*.......*
***...****
*.....**
*...*
.*...*****
..**
.....***.*
......*
.......***
.
.....*.***
....**..**
....*.*
....**
....*
...***
...*..*
..*..*
..**
#P 217 40
.....*.*
....**..*
....*.*
....**
....*
...***
...*..*
..*..*
..**
.
..*.*
.**..*
.*.*
.**
.*.......*
***...****
*.....**
*...*
.*...*****
..**
.....***.*
.....***.*
.....*
....******
...*
..*...****
..*...*
..*...**.*
...*
....******
.
......****
.....*..**
....*
....*
....*..*
.....*.*
.
....***
....**
....**
....*****
......*
....*
....*.*
...*
...*
....*.*
....*
......*
....***
...*..**
...***.*
..*
.***
***..*
.*
..****
..*
...*****.*
....*....*
.....**
......*..*
.......*.*
#P 250 -34
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 255 -4
....*
.....*
...*
..***
.**
***
.*
..*
..*
.***
.*..*
*..*
**
#P 252 10
...*.*
..**..*
..*.*
..**
..*
.***
.*..*
*..*
**
#P 249 20
...*.*
..**..*
..*.*
..**
..*
.***
.*..*
*..*..**
**.....*..*
........*.*
#P 246 30
...*.*
..**..*
..*.*
..**
..*
.***
.*..*
*..*
**
#P 240 46
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
#P 245 40
.*.*
**
.**
..***
...*
.....*
....*
#P 274 -24
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*
..****.*
...*...*
....*
....*.*
.
...***
...**
...**
...***
.
....*.*
...*..*
...*
..*..*
.***
..***
....*
..*
..*.*
.*
..*.*
..*
....*
..***
.***
..**
...**..*
....**.*
#P 274 14
....**.*
...**..*
..**
.***
..***
....*
..*
..*.*
.*
..*.*
..*
....*
..**.*
...**
.....***
........*
....***
...**...*
..**..**
.***.*
..**..**
...**...*
....***
........*
.....***
...**
..**.*
....*
..*
..*.*
.*
..*.*
..*
....*
..***
.***
..***
....*
..*
..*.*
.*
..*.*
..*
....*
..***
.***
..*..*
...*
...*..*
....*.*
.
...***
...**
...**
...***
.
....*.*
....*
...*...*
..****.*
.*
*..*
*..*
*....*
.****
..*
...**
....*..*
.....*.*
/programs/demos/life2/lif/AQUA50F.lif
0,0 → 1,867
#Life 1.05
#D c/2 flipper spaceships
#D By Hartmut Holzwart.
#D
#D There are many flippers missing from this
#D collection, due to extreme biodiversity.
#N
#P -125 -17
****
*...*
*
.*..*
#P -125 -1
*****
*....*
*
.*...*
...*
#P -125 15
******
*.....*
*
.*....*
...**
#P -115 -41
****
*...**.*
*....*.*
.*..*
.
.
.******
.*.....*
.*
..*....*
....**
#P -111 34
******
*.....*
*
.*.....*
...**..*
.....*
....*..*
.....*.*
.
******
*.....*
*
.*....*
...**
#P -113 -58
..........*.....*
..........*
.....***..*.....*
.....***...*****
.**...**
**.**
.******
..***...*
....*
....*...*
....****
#P -95 -44
****
*...*.*
*.....**
.*....**
......*
...*********
...*........*
...*
....*...*...*
.
****.**
*...**.*
*....*.*
.*..*
#P -72 -18
..***.*
.****.*
**
.*.*
..****.*
...***
.
.
......*****
......*....*
......*
.......*...*
.........*
#P -105 -21
.........**
.......*....*
......*
......*.....*
......******
.
.
.
....************
....*...........*
....*
.....*..........*
.................**
...*................*
..*
..*.................*
..******************
.
.
.
************************
*.......................*
*
.*......................*
.....................**
...*................*
..*
..*.................*
..******************
.
.
.
....************
....*...........*
....*
.....*..........*
.............**
.......*....*
......*
......*.....*
......******
#P -95 32
..****
..*...*
..*
...*..*..*
.......****
.*........*
*.........*
*
*********
........**.**
........*
........*.**
..****
..*...*
..*
...*..*
#P -98 57
...........***
..........*****
******...**.***
*.....*...**
*
.*....*
...**...**.*
........***
.
******.....***
*.....*...*****
*........**.***
.*....*...**
...**
#P -88 -66
****........***.***
*...**.*.**..*..*
*....*.*.....*.*.......*.*
.*..*.....*..***.....**..*.**.*
................***..**.......**
.............***.........*
.******.....******..****.*....**
.*.....*...**.***..........**.*
.*..........**....***.**.*
..*....*.........*.*.*...*
....**...........***.**
..........*..**.*.*...*..*.**
*****.*..**..**.*.*....*.*
*.....*..*..*
*.....*......****.*
.*...........**.*.*
#P -72 -44
****
*...*...........*.*
*..............*..*
.*..*..*......**
.....****.....*.*
.*......*....*.*..*
*.......*...***.**
*...........*
*******.....***.**
......**.**..*.*..*
......*.......*.*
......*.**....**
****...........*..*
*...*...........*.*
*
.*..*
#P -74 4
..******
..*.....*
..*
...*....*
.....**
.
.....*.*
.**..*.*
**.**.*
.**
..**..*
.......*
....*
....*..*
.....*
.....**
.***.*
.*...*.**
.*.*.*
..**.*.**
.....*
....***
.....**
....**
..*
.*....*
.*....*
.*****
#P -74 41
****
*...*
*
.*..*
......**
....*
...*****
..*.**
.**
..**
...**.*
......*
..*
**...*
*.....*
*...**..*
.**..*
......*.*
#P -73 67
******
*.....*
*
.*....*
...**
.
....***
.
..**...*
.*.*
**..**
.**
..*****
.
.....**
.
.**
**.***
.*****
..***
#P -57 68
.*****
.*....*
.*
..*...*
....*
.
...***
..*
.**
**.***
.*.....*
..***..*
....*
.......*
.
..**
.**.****
..******
...****
#P -58 34
.**
**.****
.******
..****
.
.
.*******
.*......*
.*
..*.....*
....*
......**
....*
...*****
..*.**
.**
..**
...**.*
......*
..*
**...*
*.....*
*...**..*
.**..*
......*.*
#P -56 -18
..***.*
.****.*
**
.*.*
..****.*
...***
.
.....*
....***
.
..**.**
..*
..*
...***
.
.....*.*
.....*.*
.....**
..***
.*
**....*
.***
..***.**
....*
.
...*.*
.**.*
.*..*..**
.*.*
..***
....*.*
......*
.
.
.******
.*.....*
.*
..*....*
....**
#P -45 -44
****
*...*
*
.*..*.....*
....*...**.*
.*...*..**
*......*....*
*....*.***..*
*****...*.*
.......**.*
.........*
..........*
****
*...*
*
.*..*
#P -47 -65
..****....*.*
..*...*..*
..*......*..*..**
...*..*..***..*
......*.......***
.*.....*....***
*..........**.*
*......*..**.*.*
*******....*.*
.............*
..........*
........*.....**
..****...*.....*
..*...*..**.*
..*........*
...*..*
#P -40 -18
..***.*
.****.*
**
.*.*
..****.*
...***
.
.....*
....***
.
..**.**
..*
..*
...***
.
.....*.*
.....*.*
.....**
..***
.*
**....*
.***
..***.**
....*
....*
..***
.*....*
**....**
.**...**
..*..***
.....**
.....*.*
..***
.****
**.**
.**...**
......**
......*
...***
..***
.*.*
**.*.**.*
.**.*
..**
.
....*
....*
.**..*.*
**...***
.**.*
..*...**
...*
.....**
.....*
.....**
....**
..**.*
..*
..*.*
...**.*
....*..*
.
.
.....*
..**.***
.**..**
**..**
.**.***
....**
#P -24 -43
....*..*
..***....**
.*......****
**.**.*.*..*
.**....*..**.*.*
..*...*....***.*...**
...***......*..*.*
.....*.......*...*...*
....*..*....*..*.*....*
........*...*.....***
..**.......***.*
.*.**...*.*....*
**...**..**
.**.....**
..*****
.....*
#P -24 -19
................**
..***.*........*
.****.*...****.***
**......*.*...**
.*.*....*......*
..****....**...**
...***.**....*.**
..........****.*
.........**.....*
......*..*.****
.....*......*.**
..**.**.***
.**..**....***
**..**...*....*
.**.***..**
....**.........**
................*
#P -18 6
*****
*....*
*
.*...*
...*
.
....****
...*..*
...*..*
...*..*
....***
.
.....*
..***
.*
.*
.**.**
.
...*
.......*
....**
...*
...*..*.*
...*
....*...*
.....*..*
......*
.
*****
*....*
*
.*...*
...*
#P -24 47
........*
......*****
.....**...*...*.*..*
..**...*.***.*....*...*
.*...***..*.*.*.**.*..*
*...*.**.****...****
*
***...**********..**
......*
***...*********..*
*................*
*...*.**.**...*...*
.*...***...**.......**
..**...*.*....**.****
.....**.......*
......***.*
........*.*
#P 4 -44
....................*
.**...*...........*...*
**.**...*........*
.****.**.........*....*.....****..*
..*****...**....*.****.....*....*.*
..........***..**........**.**
....**......**...........*..******
...**.*****.....**.**.**....******
....******...**....**.....**
.....***...***...*..*.***
..........**.**.....***
.........**.*.........****
.............****.......**...****
....**......*.***.*******...******
...**.***..........***...*.*.****.*
....*****.*..*..*.*...*..*..*
.....*...**...*.......*..*.......*
......*.....*..*..........*****.*
.**.............*.....*.....**..*
**.**.***........*****.......*..*
.****
..**
#P 4 -12
....................*
.**...*...........*...*....***
**.**...*........*........*****
.****.**.........*....*..**.***
..*****...**....*.****....**
..........***..**
....**......**
...**.*****.....**.**.**....**
....******...**....**...*
.....***...***...*..******.***
..........**.**.....*.*
.........**.*.........*..***.*
.............****........***.*
....**......*.***.*******.**
...**.***..........***
....*****.*..*..*.*...*
.....*...**...*.......*....***
......*.....*..*..........*****
.**.............*.....*..**.***
**.**.***........*****....**
.****
..**
#P 4 20
.................*..*
.**...*.........*
**.**...*.......*...*...******
.****.**...*.*..****....*.....*
..*****...**.*..........*
..........*...........**.*....*
....**........*......***...**
...**.*****....*.....*..*
....*******.*..*.....***
.....***...**.*......*
.........**..*.*.**
.........***.**....**.**
.............*...*
....**.......*.......***
...**.***.****..*....*.*
....*****............**
.....*...*
......*...*..*...*..*...******
.**........**...*.......*.....*
**.**.***.......*...*...*
.****...........****.....*....*
..**.......................**
#P 52 -43
...........**
..........****
.........**.**
..........**........**.*
.**................**...*
**.****......**....**
.******....*.....*....**
..*******.**...*.*
......*..****
......*...*
.....***.*
........***
..........*..**.*.*
.**.........*...*..*.*
**.****.....*.....****
.******....**......*...*
..****....****.......*
.........**.**.......*
..........**
#P 52 -19
...........**
..........****
.........**.**....................**
..........**........*.....*......*****
.**................*.*..**......*...***
**.****......**..**...*.*.*.*.*..**..**
.******....*....**....***...***.*.*
..*******.**...**.*.....*.......*
......*..****....*..*.......**.****..*
......*...*.......*.*.......**....*..*
.....***.*.........*.*......*..***
........***......*.*.........****..**
..........*..**.**.*....*...*....*.**
.**.........*...**.*..**....**.....*
**.****.....*.....**.....**......*.**
.******....**......*....******..**.**.*
..****....****.......**..***.....**
.........**.**
..........**
#P 52 5
...........**
..........****..............**
.........**.**.............**.**
..........**........*..***.*****
.**................*.*..*.*****
**.****......**..**...*.***
.******....*....**....*.***
..*******.**...**.*...****..**
......*..****....*..*.*.*....***
......*...*.......*.*.***....**
.....***.*.........*.**........*
........***......*.*.........***
..........*..**.**.*..**....**
.**.........*...**.*....*...*
**.****.....*.....**....*....*
.******....**......*.....*
..****....****.......*.****
.........**.**..........**.*****
..........**................****
.............................**
#P 52 29
.............*..*
............*
............*...*
............****........*..*
.**...............***...*..*
**.****.........**.**...*
.******....*.*..*....*..**.*
..*******.**.....****.*
......*..***.**....*.....**
......*...*
.....***.*
........***..**.......*
..........*...*...**..*****
.**.........***.**..*.*
**.****.....****...*.**....*
.******......*.....***.**.*
..****......*.....***....*
............*...*
............****
#P 99 -56
........**.......................*.**..**...**
.......**.**...........**.*.....***...****.****
.**.....****.........*.**...*.*.....*.*..**
**.**....**.....**.*.*.**.*.*..*.***.....**
.****............****...***.*.*.....*.*..**
..**...******..**........*......***...****.****
........*.***.*..................*.**..**...**
......*.*......*..***..**
.....**.*..*..**..*...**
.....*...*.......****.**
......**.*..**....***...**
......**.**..........*...........*..*.*....*
.............*....*.....**.*....*..***.**..**..*
.**.....**...*.**........*.*..*.*......**...***
**.**............*.**.*.....**..**..**..*...*
.****...**...........******...*.*......**...***
..**...**.**............**......*..***.**..**..*
........****............**.......*..*.*....*
.........**
#P 99 -33
......................................*
........**......................***...**
.......**.**...........**.*....****...**
.**.....****.........*.**...*.**.............*
**.**....**.....**.*.*.**.*.*...**...*****.**
.****............****...***.*.*.**.**.*****
..**...******..**........*......*...*.**..*
........*.***.*....................*.*
......*.*......*..***..**...............**....*
.....**.*..*..**..*...**................***..*.**
.....*...*.......****.**...................*
......**.*..**....***...**............**...*...**
......**.**..........*...........**...****.*
.............*....*.....**.*.....***...****
.**.....**...*.**........*.*..***....**.....*
**.**............*.**.*.....**.*..*...*.....**
.****...**...........******....**..*.**.....**
..**...**.**............**....***.***.**
........****............**........**..*
.........**............................*
#P 99 -8
........**.....................*.*.**....***
.......**.**.................*****....**
.**.....****........*.......*.....**.***..*
**.**....**.....**...*...*..*..****.**
.****............*.***.**.*..**.**......**
..**...******..**.....*......*........*..**
........*.***.*.........*.*.*.........**.....*
......*.*......*....*......*..........**..**.*
.....**.*..*..**.**...*.*.................**
.....*...*..........**..*.*............*.***
......**.*..**....*.........**........*....***
......**.**.......*...****............*..*...*
.............*......**.*.***...*......***
.**.....**...*.**....................**
**.**............*..*.**..***..**...***.*..*
.****...**........**........**...*...*.....*
..**...**.**..................***.*.....****
........****....................*.**.....*.**
.........**
#P 99 16
........**.....................*.*.**..*
.......**.**.................*****...*..*
.**.....****........*.......*.....*.*..**
**.**....**.....**...*...*..*..****.**.***....***
.****............*.***.**.*..**.***...*.*....*****.*
..**...******..**.....*......*.....***.**......*....*
........*.***.*.........*.*.*..........*....**.*....*
......*.*......*....*......*.....****....***...*
.....**.*..*..**.**...*.*......*....**...***.....*..*
.....*...*..........**..*.*....***.*..*...........*.*
......**.*..**....*.........**......*...*....*...*
......**.**.......*...****........*.....*..****.**
.............*......**.*.***...*...****.****.**..*
.**.....**...*.**..................*.........**....*
**.**............*..*.**..***..**...***........*.*
.****...**........**........**...*..**.*
..**...**.**..................***.*..**
........****....................*.**..*
.........**
#P 99 40
........**
.......**.**
.**.....****.....................*.**.***..*...*
**.**....**........*.**..**....*******...***.***
.****...........*******.*...*.*..........**...**
..**...******..***.....*...****.**.*.....*...**
........*.***.*..*...*.......*..*.**.****....**
......*.*......*..*..*..**.....*..*...**...**
.....**.*..*..**....*........*.*..*.....*..**.**
.....*...*.......*........**.*.*.........*.*.**..*
......**.*..**........*...*....*....*.****......*
......**.**.......*******......*........****
.............*..**..*...*..***.*.****..**.***
.**.....**...*.*.*..**.*..***.**...*.*...**...*
**.**..............*....*.**....***...*...*...*
.****...**........................*...*....**.*
..**...**.**...........................**
........****
.........**
#P 168 -43
............*.*.............*..*
...........*
...........*..*................*
...........*.**.*.......*******
....**......**...*....*
...**.****.*.....****.*..*.....***
....******.....*..*...........*****
.....*.............*.........**.***
......*.............**........**
.**
**.**.***
.****
..**
#P 168 -27
............*.*.............*...*
...........*
...........*..*.................*
...........*.**.*.......********
....**......**...*....*
...**.****.*.....****.*..*
....******.....*..*
.....*.............*
......*.............**
.**
**.**.***
.****
..**
#P 168 -11
............*.*
...........*................**
...........*..*...........*****
...........*.**.*.......***.***
....**......**...*....*....*
...**.****.*.....****.*..**
....******.....*..*
.....*.............*
......*.............**
.**
**.**.***
.****
..**
#P 170 20
............................*.**
..........................******
.........................*.....****.*
.........................*..**..*....*
.......***...............**.*.****.*.....*
..******...................**.......****.*
..*...**...**..**.**........**.......*
..*...*.......****..*..**...**.........**
...**.*..**..........*..**.*...**.....*
....****..*....**.*.*..*..*.......**...*
........*...*..**.*..**.***......*.....*...*
..**....**..****...*.*..*.......*.......******
**.....*.***.*.....*.*.**......*....*.......**
*..*..***..*.*............*....*...*........**
*......**.............*...*....*..*......*..*
.**.....*...**....*****.........**..........*
.........*****.....*..***..........*...**.*
...*...*.*...*..*..*....**...*...*.*...*
...*.*.*.*.....*.**....*..*...*...*...*..*
..**.**...***.***.*....****.*.*........**
..*..*............*..*...***..*......*
..*....*..................**...*..*..*.**
...*..****...............*...*....*.*...*
.....*..**...............*..*****.**
.........................**...*....*
...........................***...*
.............................*
/programs/demos/life2/lif/AQUA50FA.lif
0,0 → 1,703
#Life 1.05
#D c/2 flipper spaceships with B-heptomino front ends
#D By Hartmut Holzwart.
#D
#D These are set apart by their b-heptomino
#D front ends. Most flipper front ends look
#D like *WSS.
#N
#P -148 -53
....**
.**
**..*.*
.**.*.*......**......**
..*...**....****....**.***
...**.***.....*...*.******
....**.......***..**..***
......*.**.*.*.......*
....***.....*...*.*..*
....***.**...**..*
......*..**.**.*...*
..**.**.*...***.....******
.*.**................*****
**....................***
.****
..***
#P -148 -30
..................**
....**...........**.**.......****
.**...............****...**.*....*
**..*.*............**...****
.**.*.*......**..................*
..*...**....****.......**.*.*
...**.***.....*...*...*.*..*
....**.......***..**...*
......*.**.*.*........*.*
....***.....*...*.*.*.**
....***.**...**..*...*.*.*
......*..**.**.*...**..*
..**.**.*...***........*..*
.*.**..................**.**
**......................**...****
.****.............**.........*...*
..***............**.**.......*
..................****........*..*
...................**
#P -148 -6
..................**
....**...........**.**.......***
.**...............****...**.*.....*.*
**..*.*............**...****....**
.**.*.*......**................**....*
..*...**....****.......**.*.*...*
...**.***.....*...*...*.*..*.......*
....**.......***..**...*........**
......*.**.*.*........*.*.......***
....***.....*...*.*.*.**........**
....***.**...**..*...*.*.*......**
......*..**.**.*...**..*..........*
..**.**.*...***........*..*.....*.*
.*.**..................**.**...*..*
**......................**...**...*
.****.............**.........*....*
..***............**.**.......*...*
..................****........**
...................**
#P -148 18
..................**
....**...........**.**
.**...............****...*
**..*.*............**...****
.**.*.*......**.............*
..*...**....****.......**.*
...**.***.....*...*...*.*.*..*
....**.......***..**...*..*.*
......*.**.*.*........*.*...*.**
....***.....*...*.*.*.**.*.*....*
....***.**...**..*...*.*.*.*.*.*
......*..**.**.*...**..*.*..*
..**.**.*...***........*.**
.*.**..................**...*
**......................*..*
.****.............**.....*
..***............**.**
..................****
...................**
#P -148 42
..................**
....**...........**.**
.**...............****...***
**..*.*............**...**.*
.**.*.*......**............**
..*...**....****.......**.***
...**.***.....*...*...*.*.*.**
....**.......***..**...*..*.*
......*.**.*.*........*.*.*.*.*..*
....***.....*...*.*.*.**.*.*.**.*
....***.**...**..*...*.*.*.*.*.*
......*..**.**.*...**..*.*.*
..**.**.*...***........*.*
.*.**..................**
**......................*.**
.****.............**.....*
..***............**.**....**
..................****
...................**
#P -100 -79
......................*..*
.....................*
....**...............*...*
.**..................****
**..*.*
.**.*.*......**
..*...**....****
...**.***.....*...*....***
....**.......***..**
......*.**.*.*......***.**
....***.....*...*.*
....***.**...**..*.....*
......*..**.**.*...*..*.*
..**.**.*...***
.*.**...................*
**....................*..*
.****................*
..***................*...*
.....................****
#P -100 -55
................................*
..............................*..*
....**
.**.........................**.**
**..*.*......................*.**
.**.*.*......**..........***.*.***
..*...**....****........**.*.*.*.**
...**.***.....*...*........*.*...*
....**.......***..**...***.*.**...*
......*.**.*.*......***.**.*
....***.....*...*.*......*..*..*
....***.**...**..*......**..*...*
......*..**.**.*...*..*.*.*.*.*.***
..**.**.*...***.........*.*.*.*..*.*
.*.**....................*..*.*
**........................***.*
.****.......................*....*
..***........................**..*
...............................**
#P -100 -23
......................**
.....................****
....**..............**.**
.**..................**
**..*.*
.**.*.*......**..........*...*
..*...**....****........***
...**.***.....*...*
....**.......***..**...***..**
......*.**.*.*......***.**
....***.....*...*.*......*
....***.**...**..*......****
......*..**.**.*...*..*.*..*
..**.**.*...***.........*...*
.*.**....................*.*
**....................*****
.****................****
..***...............**.**
.....................**
#P -100 1
......................**
.....................****
....**..............**.**
.**..................**
**..*.*
.**.*.*......**..........*...*
..*...**....****........***
...**.***.....*...*
....**.......***..**...***..*.*
......*.**.*.*......***.**...**.*
....***.....*...*.*......*
....***.**...**..*......****..*.*
......*..**.**.*...*..*.*..*
..**.**.*...***.........*...*
.*.**....................*.*
**....................*****
.****................****
..***...............**.**
.....................**
#P -100 27
....**
.**.......................**.*
**..*.*................****...*
.**.*.*......**......**
..*...**....****.....**..**...*
...**.***.....*...*.*....*..**
....**.......***..**.*..*
......*.**.*.*
....***.....*...*.*...*.**
....***.**...**..*...**....*
......*..**.**.*...*.*..**.*
..**.**.*...***.....**.***.*
.*.**.................*.....*
**.....................***..*
.****....................*..*
..***
#P -100 51
....**
.**.......................**.*
**..*.*................****...*
.**.*.*......**......**
..*...**....****.....**..**...*
...**.***.....*...*.*....*......**..*
....**.......***..**.*..*......*.**
......*.**.*.*...............*...****
....***.....*...*.*...*.**...**.*
....***.**...**..*...**....*...**.***
......*..**.**.*...*.*..**.*.....**
..**.**.*...***.....**.***.*.....**
.*.**.................*.....*
**.....................***..*
.****....................*..*
..***
#P -100 74
.......................................................**..........**
....**................................................*****..........*
.**.......................**.*........................*....*....***
**..*.*................****...*...........*..........*.***...*.****
.**.*.*......**......**.............*...**.*........**.*...*.*.*
..*...**....****.....**..**...*....*....*...*......**..*.**
...**.***.....*...*.*....*....*...**.....*.*.....*..*.*....*.**
....**.......***..**.*..*......**.***...**.*.**..*..*.*.**....**
......*.**.*.*...............*.**..*.***.*.*....*.*.*.*....*..**
....***.....*...*.*...*.**...**..*........*.*...**.*.*.*...*.**
....***.**...**..*...**....*.........**.*.*.*..***.*.*.*..*..*.*
......*..**.**.*...*.*..**.*......*******.*.*......*.*.*..**..**
..**.**.*...***.....**.***.*.......**....*.........**.*.**..*.*.**
.*.**.................*.....*.......*....*...*......*.*....*.*.*.*
**.....................***..*............*..*.........*.**.....**.**
.****....................*..*........................**.**.*.....*
..***.................................................**..........**.*
...................................................................*.*
#P -44 -79
..........*..*
.........*
....**...*...*
.**......****
**..*.*
.**.*.*......**
..*...**....***
...**.***.....**
....**.......*
......*.**.*.*.*
....***.....*.*
....***.**...**
......*..**.**.*
..**.**.*...**
.*.**
**........*
.****....*
..***....*...*
.........****
#P -44 -55
..........*
.........*
....**..**..****........**
.**......***....**.....**.****
**..*.*...**...**..*....******
.**.*.*....*.....*.......****
..*...**...******
...**.***............**
....**.......**.*****.....*
......*.**.*.**.*******.**
....***.....**.*.........**
....***.**....*.....*.**.*
......*..**.*....**.**.....*
..**.**.*....*********
.*.**.......*.....*
**...........***.***....**
.****....**.*.....*....**.****
..***...**.**...**......******
.........****............****
..........*
#P -44 -31
..........*
.........*...............***
....**..**..****........*****
.**......***....**.....**.***
**..*.*...**...**..*....**
.**.*.*....*.....*
..*...**...******
...**.***............**....*
....**.......**.*****.....*
......*.**.*.**.*******.**
....***.....**.*.........**
....***.**....*.....*.**.**
......*..**.*....**.**
..**.**.*....*********
.*.**.......*.....*......***
**...........***.***....*****
.****....**.*.....*....**.***
..***...**.**...**......**
.........****
..........*
#P -44 -7
..........*...............*...*
.........*...............**..*.*
....**..**..****........**.**
.**......***....**.......***..*...**
**..*.*...**...**..*........*.**.**.**
.**.*.*....*.....*.........*..*..*****
..*...**...******......*.**..**.*****
...**.***............*...*.......*
....**.......**.*****.**.*....**.*
......*.**.*.**.******.*.*.....**
....***.....**.*........*......***
....***.**....*.....*.*.*.**...*
......*..**.*....**.**.**.....*
..**.**.*....*********...*....***
.*.**.......*.....*........*.*
**...........***.***......**.*.*.*****
.****....**.*.....*......**..*....****
..***...**.**...**......**...*.....**
.........****............*..**..*
..........*...............*....*
#P -44 17
..........*
.........*
....**..**..****
.**......***....**
**..*.*...**...**..*...............**
.**.*.*....*.....*.......**.**....*...*
..*...**...******......*...***....*..*
...**.***............*...*.*....*
....**.......**.*****.**......*.**
......*.**.*.**.******.*.....*
....***.....**.*.........*....*...*
....***.**....*.....*.*......**...*
......*..**.*....**.**.*...*.*..*
..**.**.*....*********..**..*.*..**
.*.**.......*.....*.......*........***
**...........***.***................**
.****....**.*.....*
..***...**.**...**
.........****
..........*
#P 4 -78
............*
....**....*..*
.**.......*
**..*.*...*.***
.**.*.*.*..*
..*...***..*
...**.**
....**
......*..**
....***
....***.*
......*.**
..**.**..*.*
.*.**.......*.*
**......*......*
.****....**..*
..***......**
#P 4 -54
............*............**
....**....*..*..........**.**.*
.**.......*........****.***.*..*
**..*.*...*.****..*............*.*
.**.*.*.*..*...*....*....**.*.*.*..*
..*...***..*....*.*.****.*...**.....*
...**.**.............****.**..**.*
....**................*...........***
......*..**................**..*..**
....***......................*....**
....***.*.............*....*.*....***
......*.**..........**....**.*......*
..**.**..*.*.....*..**..*...*....**
.*.**.......*.*.**..***.***....*.*
**......*.......*...*..*...***
.****....**..*.*....*.*.***.*....*
..***......**.......*.*.*.......*
.........................*****
..........................**
#P 4 -30
............*............**
....**....*..*..........**.**.*
.**.......*........****.***.*..*
**..*.*...*.****..*............*
.**.*.*.*..*...*....*....**.*.*
..*...***..*....*.*.****.*...**
...**.**.............****.**..**..**
....**................*..........*
......*..**................**..*..*.*
....***......................*
....***.*.............*....*.*...**
......*.**..........**....**.*....*
..**.**..*.*.....*..**..*...*
.*.**.......*.*.**..***.***.....*
**......*.......*...*..*...***...*
.****....**..*.*....*.*.***.*...*
..***......**.......*.*.*
.........................*****
..........................**
#P 4 -7
.......................**
............*..........**
....**....*..*......**
.**.......*........*..**.*
**..*.*...*.****.*.*..*.*
.**.*.*.*..*...***.**.*.*.*.*..**
..*...***..*.....*...*.*..**...**
...**.**..........***..*.*.*...*
....**..............**.**....**
......*..**...........*......***
....***..............*...*...*.*
....***.*............**...*...****
......*.**.........**.*.*...*..**
..**.**..*.*.....**...*.*.**.***
.*.**.......*.*.*.*.**.*.**.....*
**......*.......*.*....*.*
.****....**..*.*...**..*.*
..***......**.......***
......................**.*
.......................*.*
#P 4 18
............*
....**....*..*.....*
.**.......*.......*.**
**..*.*...*.****.*....*..**.......**.*
.**.*.*.*..*...***....***...*....**...*
..*...***..*.....*.*.*..***.*....**
...**.**..........**.*.........*....**
....**...............*...***.*.*
......*..**..........**..*
....***..............**
....***.*...........*.**.***..*.*
......*.**.........**.****..*.*..*.*
..**.**..*.*.....**.*....**.....****
.*.**.......*.*.*.*..***...*.....*...*
**......*.......*.*....**..........*
.****....**..*.*..*...*............*
..***......**......*..*
#P 4 41
........................*..*
............*..........*
....**....*..*......*..*...*
.**.......*........*...****
**..*.*...*.****.*.*..*
.**.*.*.*..*...***...*
..*...***..*.....*...*
...**.**..........*..*.*
....**.............***.*
......*..**..........*.*
....***...............*
....***.*..........**.*.**
......*.**........*...*
..**.**..*.*.....**
.*.**.......*.*.*.*......*
**......*.......*.*........*
.****....**..*.*...***
..***......**.......*.*....*
.......................****
#P 4 66
............*................***
....**....*..*.....****
.**.......*.......*...*.....****.*
**..*.*...*.****.*.*.*.**.*.*
.**.*.*.*..*...***...*....*
..*...***..*.....*..*
...**.**..........*.*
....**.............*
......*..**
....***
....***.*...........*
......*.**........*...*
..**.**..*.*.....**....*
.*.**.......*.*.*.*......*.*
**......*.......*.**.**..*.....*
.****....**..*.*...*........*..**
..***......**.......*..*....**.**
....................*..*......*.*
#P 62 -55
....................*.*
............*....****.***
....**....*..*...**..**.**
.**.......*..........*.***
**..*.*...*.***.**.*..*
.**.*.*.*..*...**....**
..*...***..**...****.*
...**.**...........*.**
....**
......*..**
....***
....***.*
......*.**........*.**
..**.**..*.**...***.*
.*.**..........*....*.*
**......*....*.*.**.*..*
.****....**..*.*.*...**
..***......**....**..**..**
..................***.*
....................*.*
#P 60 -31
....................*.*
............*....****.***
....**....*..*...**..**.**
.**.......*..........*.***
**..*.*...*.***.**.*..*..*.*****
.**.*.*.*..*...**....**...*.....*
..*...***..**...****.*....*
...**.**...........*.**....*....*
....**.......................**
......*..**
....***
....***.*
......*.**........*.**
..**.**..*.**...***.*.....******
.*.**..........*....*.*...*.....*
**......*....*.*.**.*..*..*
.****....**..*.*.*...**.....*...*
..***......**....**..**.......*
..................***.*
....................*.*
#P 60 -7
....................*.*
............*....****.***
....**....*..*...**..**.**
.**.......*..........*.***
**..*.*...*.***.**.*..*..*.**
.**.*.*.*..*...**....**...*..*.***
..*...***..**...****.*....*.....**..*
...**.**...........*.**....**.*.**...*
....**........................*.**..*
......*..**....................*
....***.......................**
....***.*....................***
......*.**........*.**......*.....***
..**.**..*.**...***.*.....**...*..***
.*.**..........*....*.*...*....****
**......*....*.*.**.*..*..*.**...*
.****....**..*.*.*...**
..***......**....**..**
..................***.*
....................*.*
#P 60 17
....................*.*
............*....****.***
....**....*..*...**..**.**.........**
.**.......*..........*.***........*...*
**..*.*...*.***.**.*..*..*.**.....*..*
.**.*.*.*..*...**....**...*..*.**
..*...***..**...****.*....*.....*.*
...**.**...........*.**....**.*.**
....**........................*.**
......*..**....................*
....***.......................**
....***.*....................***
......*.**........*.**......*
..**.**..*.**...***.*.....**...**
.*.**..........*....*.*...*....***
**......*....*.*.**.*..*..*.**...**
.****....**..*.*.*...**............***
..***......**....**..**.............**
..................***.*
....................*.*
#P 108 -78
............*...............*
....**....*..*...****....****...*..*
.**.......*....*......*.*.*....*
**..*.*...*.***.*....**........*...*
.**.*.*.*..*...**..*....**.*...****
..*...***..**...**.*.**.**
...**.**.............**.**..**
....**............**.........***
......*..**.......**........*
....***...........*..*.......*.*
....***.*.........*..........*.*
......*.**.............**....**
..**.**..*.**...**..****...****.*..*
.*.**..........*...*.....*.**..*
**......*....*.*.*...***.*.**..*...*
.****....**..*.***...*.***.*...****
..***......**....*........**
...................**.....**
#P 108 -55
..................................**
............*...............*....*
....**....*..*...****......**.**.*
.**.......*....*......*..*..*
**..*.*...*.***.*....**..*....*.*
.**.*.*.*..*...**..*....*....**
..*...***..**...**.*.**.**..**..**
...**.**.............**.**..*****....*
....**............**......*..*..*.*.**
......*..**.......**.........*..******
....***...........*..*....***.***.*.*
....***.*.........*.......*.*.........*
......*.**.............**.**......*...*
..**.**..*.**...**..****..*.*...***
.*.**..........*...*.....**...**..*
**......*....*.*.*...***.***.*.*..*
.****....**..*.***...*.*.***.*.*.*
..***......**....*...............*
...................**.......*.*..**
.............................*....*
#P 108 -31
..............................*.*
............*...............*...*
....**....*..*...****......**...***.*
.**.......*....*......*..*..*.*.....*
**..*.*...*.***.*....**..*....**....*
.**.*.*.*..*...**..*....*....**
..*...***..**...**.*.**.**..***....*
...**.**.............**.**..***..*
....**............**......*..*..*.*
......*..**.......**.........*.**
....***...........*..*....***.*.*
....***.*.........*.......*.*...**
......*.**.............**.**....*.*
..**.**..*.**...**..****..*.*....*
.*.**..........*...*.....**
**......*....*.*.*...***.***.**.**
.****....**..*.***...*.*.***.***..**.*
..***......**....*.............*...*.*
...................**.......*.**..*
.............................*
#P 108 -7
.............................**
............*...............*...*
....**....*..*...****......**....*.**
.**.......*....*......*..*..*.**.*
**..*.*...*.***.*....**..*..*.**.*.**
.**.*.*.*..*...**..*....**......**
..*...***..**...**.*.***....*....*..*
...**.**.............*.....*........*
....**............**...******..*
......*..**.......**..*...**.**
....***...........*..*.*........*
....***.*.........*....****...*.*
......*.**................*
..**.**..*.**...**..*****........***
.*.**..........*...*.......*...**.*
**......*....*.*.*...****..**.....*
.****....**..*.***...*.**.**.*.**.*
..***......**....*.........*...**.**
...................**.......*.*
.............................*
#P 108 18
............*..................*.*
....**....*..*...****.........**.*
.**.......*....*......*......****
**..*.*...*.***.*....**...**..*
.**.*.*.*..*...**..*...*...*.*
..*...***..**...**.*.*****..*....**
...**.**.............**....*.....**
....**............**.......*...**.***
......*..**.......**..**.....**.*
....***...........*..*.......*...****
....***.*.........*.....*......*.**
......*.**............*.**.*....**..*
..**.**..*.**...**..**...*....*
.*.**..........*...*..*.***
**......*....*.*.*...****..**
.****....**..*.***...*.**....*
..***......**....*............*.**
...................**..........*
#P 108 41
...............................*
............*..............**....*
....**....*..*...****....**
.**.......*....*......*..**......*
**..*.*...*.***.*....**...*******
.**.*.*.*..*...**..*...*
..*...***..**...**.*.****.*
...**.**.............**..*..*
....**............**.......**.*.*
......*..**.......**..**..***.*.***
....***...........*..*...*.......*
....***.*.........*.....**.*.**...*
......*.**............*.*..*
..**.**..*.**...**..**..*
.*.**..........*...*..*..........*
**......*....*.*.*...****
.****....**..*.***...*.****......*
..***......**....*.........******
...................**......*
#P 108 65
...............................*
............*..............**....*
....**....*..*...****....**
.**.......*....*......*..**......*
**..*.*...*.***.*....**...*******
.**.*.*.*..*...**..*...*
..*...***..**...**.*.****.*
...**.**.............**..*..*
....**............**.......**.*
......*..**.......**..**..***.*
....***...........*..*...*
....***.*.........*.....**.*.**
......*.**............*.*..*
..**.**..*.**...**..**..*
.*.**..........*...*..*..........*
**......*....*.*.*...****
.****....**..*.***...*.****......*
..***......**....*.........******
...................**......*
/programs/demos/life2/lif/AQUA50FN.lif
0,0 → 1,668
#Life 1.05
#D c/2 flipper spaceships with narrow necks
#D By Hartmut Holzwart.
#D
#D These all have narrow necks.
#N
#P -157 -63
..........**
.**......**.****
**.***....******
.****..*...******
..**...........*.*
....*...*......*
.....*.*.......*.*.*
.....*.*.*****..**.*..*
.....*..*.......*.***.*
..........*..*
....***....*....**
.....*........**
.**
**.**.*...**
.*****...**.****
..***.....******
...........****
#P -157 -40
..........**
.........**.**..............*.**.*
.**.......****.........*.*.*.*
**.***.....**..............*.**
.****..*.......**.*.*.**...*.***
..**...........**.*.**.*.....*.**
....*...*...*****...**..**....**
.....*.*......*...**............*
.....*.*.***.*..*
.....*..*.......*...*
..........*.*...*...***
....***....*.*...*.******.....***
.....*.........****......*....*.*
.**............*......*......*..**
**.**.*...............**.*.**...**
.*****....**............*..**.*.*
..***....**.**..............****
..........****................*
...........**
#P -157 -9
..........**
.........****.......*
........**.**.....****.*
.**......**......*....*...*
**.***..........**.**.*.*
.****..*.........**.*.*...**
..**......**.**...**...*..*
....*...*.**.**...***..*..*
.....*.*...*..**.....*.*.*
.....*.*.*.*.***.*...*.*.*.*..*
.....*..*.*.*...*.....*.*.**.*
..........*..*....***.*.*.*.*
....***...*.**....**.*..*
.....*....**........**..*
.**........*....*...**
**.**.*...**....**..**.**.*.*
.*****...****....**....**..*
..***...**.**.....***..*
.........**............*
#P -157 15
..........**
.........****.......*.........**
........**.**.....****.*....*....*
.**......**......*....*...*
**.***..........**.**.*.*...*....*
.****..*.........**.*.*...**.****
..**......**.**...**...*..*
....*...*.**.**...***..*..*
.....*.*...*..**.....*.*.*
.....*.*.*.*.***.*...*.*.*.*..*
.....*..*.*.*...*.....*.*.**.*
..........*..*....***.*.*.*.*
....***...*.**....**.*..*
.....*....**........**..*....*...*
.**........*....*...**
**.**.*...**....**..**.**.*......*
.*****...****....**....**..******
..***...**.**.....***..*
.........**............*
#P -157 48
..........****
..........*...*
.**.......*
**.***.....*..*
.****..*.....*
..**
....*...*....**.*
.....*.*..*..***
.....*.*.*.*..**
.....*..*.***
..........**
....***......***
.....*........**
.**
**.**.*
.*****....****
..***.....*...*
..........*
...........*..*
#P -109 -57
.........................*
.......................*..*......*.*
..............**...............*.*
.**..........*****...**.**....*...*
**.***.......*..***.*.*.**...*.*.***
.****..*....*.**....*.*.**.*.*..***
..**.......**.*...*...**.***..*..**
....*...*.**..*.*.........*...*
.....*.*...*.*.*.*.*.**.....*.*
.....*.*.*.*.*.*.*......*..*
.....*..*.*.*.*.*.*.*.*.*.****
..........*.*.*.*....***.*..*..*
....***...**.*.*.*.*..*.**.*.....*
.....*.....*.*.*...*..*.**..*....*
.**..........*.**.**.*......*
**.**.*.....**.**..*.*.*.....**.**
.*****.......**....*.*....*...***..*
..***.................**..*......***
........................**.......*
#P -109 -24
.........****
.........*...*....****
.**......*.......******
**.***....*..*..*******
.****..*....*
..**.........**
....*...*..**.**
.....*.*....*.*
.....*.*.*..*.*.*.*
.....*..*.**.*.**
.........*.*.*.*.*
....***.....**..*
.....*......*..***.***
.**...........**.******
**.**.*.........**.****
.*****...****....**
..***....*...*
.........*
..........*..*
#P -86 -24
.........*...**
......***..**
.....****......*
.....*....**.*
....*.**.**.*
...**.*.**
.**.*...**
.**.*...*
*....*...*.*
**.*....*
.*.*..*..*
..**.*
...*.*.**
.....*.**....*
....**.***.*.*
.....**..*
.......**..***.*
.........*...*.*
#P -109 -1
.............................**
................**..........*
...............**.**.......*.**
.**.............****....**.*
**.***...........*****.....**
.****..*............*.***...*.*.**
..**........**.....*..*.*.*.*...**
....*...*..**.**.*.*....*.......*
.....*.*....*.**...*.**.*.**.*
.....*.*.*..*....*.*..***.*
.....*..*.**.*...*..*....**
.........*.*.*.*...**....*.**
....***.....*....*.......*.*.*
.....*......*****..**....*.**.*.*
.**..........**.....*....*.....*.*
**.**.*...............*****...**.*
.*****..........**........*...**
..***..........**.**.......**.*
................****........***
.................**
#P -109 23
......................*....*
.....................*..***
....................**.....*
.**..................***
**.***................*..**..**
.****..*................**...***
..**........**...******.**...***
....*...*..**.**..........*...**
.....*.*....*.**.........**....*...*
.....*.*.*..*....*....*.*.*.*..*...*..*
.....*..*.**.*..............*.***..*..*
.........*.*.*.*.**.**.....**..****.*
....***.....*....*.*..****.**....**
.....*......*****.......**..*
.**..........**....*.....*.**
**.**.*................**.***
.*****...............*..*...*
..***...............**..*
.....................****...*
......................*...*.*
#P -53 -57
...........*..*
..........*
..........*...*...........***...*
.**.......****............**..*.*
**.***...........*..*...**.**.***
.****..*........**..*.**.*...*.**
..**..........***.*.*.*.....*....****
....*...*.....*......**....*......**
.....*.*.....*.............*......*.*
.....*.*.*........**.*.*..*...**..**
.....*..*.***.*....*...*.***......***
.........*.**..*........*.****
....***.......***...*..*...*.*...**
.....*........***...**..*.....*...***
.**.............**.*.*.**.*...*..*.**
**.**.*....*..*...*...*.*.*.***..**
.*****....*..............***.**.***
..***.....*...*.............*...**
..........****..............*
#P -53 -32
..........*..*
.........*
.........*...*............***...*
.**......****.............**..*.*
**.***...........*..*...**.**.***
.****..*........**..*.**.*...*.**
..**..........***.*.*.*.....*....****
....*...*.....*......**....*......**
.....*.*.....*.............*......*.*
.....*.*.*........**.*.*..*...**..**
.....*..*.***.*....*...*.***......***
.........*.**..*........*.****
....***.......***...*..*...*.*...**
.....*........***...**..*.....*...***
.**.............**.*.*.**.*...*..*.**
**.**.*...*..*....*...*.*.*.***..**
.*****...*...............***.**.***
..***....*...*..............*...**
.........****...............*
#P -53 0
.............**
...........*....*
..........*
.**.......*.....*
**.***....******
.****..*
..**................*.*
....*...*.....*.*.*.**..*
.....*.*.....*****
.....*.*.*............*..*
.....*..*.***..*.......*.*
.........*.**....**...*
....***.......**.****.*
.....*..........*...*.*
.**........*....*
**.**.*...*
.*****....*.....*
..***.....******
#P -53 26
..........******....******
.**.......*.....*...*.....*
**.***....*.....*...*
.****..*...*.........*....*
..**...........****....**
....*...*.....***..*
.....*.*..........***.*
.....*.*.*...*...***.*
.....*..*.***..*.......*
.........*.**.****...**
....***.......**.**
.....*.........**
.**
**.**.*...*******...******
.*****....*.........*.....*
..***.....*.........*
...........*....*....*....*
.............**........**
#P 11 -55
.......................******
.**....................*.....*
**.***.................*
.****..*........*.......*
..**...........**.........**
....*...*.....****..........**..*
.....*.*.........*****.****.**.*
.....*.*.*...*....**....***..*.....*
.....*..*.***..*.**.*.**...*..*.****
.........*.**.***...**........*.**
....***.......**....**......***
.....*.........*.............**
.**.............*
**.**.*................******
.*****.................*.....*
..***..................*
........................*....*
..........................**
#P 11 -30
.**.......................**.*
**.***...................*...*......*
.****..*........*........*........**
..**...........**........**..*..***.*
....*...*.....****...........*.**
.....*.*.........*****.....*...**
.....*.*.*...*....**...*...*....***
.....*..*.***..*.**.*.****......*.*
.........*.**.***...**........*
....***.......**....**....**...*
.....*.........*.........*.**...*.*.*
.**.............*........*......*.**
**.**.*..................****.......*
.*****......................*
..***
#P 11 -9
.........................*.**
.......................******.......*
......................*......*.....***
.**...................*..*.*.....**
**.***................***.*.*....**
.****..*........*........*.**....**
..**...........**.........**.....**
....*...*.....****.......*...****.*
.....*.*.........*****..*.*...*.*.*.*
.....*.*.*...*....**...*....*.*.*.*
.....*..*.***..*.**.*.**.....***.*.*.**
.........*.**.***...**..*.**.....*.*
....***.......**....**....*...*..*.**
.....*.........*..........*.*....****
.**.............*......*..****.*.*.***
**.**.*...............*......**..*****
.*****................*..*****....*...*
..***.................**....**.....*
........................***........*..*
..........................*..........*
#P 11 16
........................*
......................*...*
.**..................*
**.***...............*....*....**.*
.****..*........*....*****....*...*
..**...........**............**
....*...*.....******.......****..**..*
.....*.*.........**.**..**.*....***.*.*
.....*.*.*...*......**..**.*
.....*..*.***..*.***.*.**.**.*....****
.........*.**.***....*....*.*..*.*.**
....***.......**....****...***.*
.....*.........*....**.....*..*.....*
.**.............*....*.........**.*
**.**.*..............*....*....*.*
.*****...............*****
..***
#P 67 -86
.**
**.***...............*..*
.****..*........*....*...*
..**...........**....*
....*...*.....*******.*.*
.....*.*.........**.*.*.*
.....*.*.*...*........*.*
.....*..*.***..*.***.*.*
.........*.**.***...**.*.**
....***.......**.....*.*
.....*.........*....*...*
.**.............*...**.*
**.**.*...............*
.*****
..***
#P 67 -54
.**
**.***...............*..***...*
.****..*........*....*....*****
..**...........**....*......**
....*...*.....*******.*.*
.....*.*.........**.*.*.*
.....*.*.*...*........*.*
.....*..*.***..*.***.*.*
.........*.**.***...**.*.**
....***.......**.....*.*
.....*.........*....*...*
.**.............*...**.*..***..**
**.**.*...............*...***.*
.*****....................**
..***
#P 67 -31
.................................**.**
.**..............................******
**.***...............*..***...*.*.*****
.****..*........*....*....*****.**
..**...........**....*......**
....*...*.....*******.*.*
.....*.*.........**.*.*.*
.....*.*.*...*........*.*
.....*..*.***..*.***.*.*
.........*.**.***...**.*.**
....***.......**.....*.*
.....*.........*....*...*.......*.****
.**.............*...**.*..***..*.******
**.**.*...............*...***.*..*.****
.*****....................**....***
..***
#P 67 -7
.................................**.**
.**..............................******
**.***...............*..***...*.*.*****
.****..*........*....*....*****.**
..**...........**....*......**
....*...*.....*******.*.*
.....*.*.........**.*.*.*
.....*.*.*...*........*.*
.....*..*.***..*.***.*.*
.........*.**.***...**.*.**
....***.......**.....*.*
.....*.........*....*...*.......*.****
.**.............*...**.*..***..*.******
**.**.*...............*...***.*..*.****
.*****....................**....***
..***
#P 106 -8
.........*...**
......***..**
.....****......*
.....*....**.*
....*.**.**.*
...**.*.**
.**.*...**
.**.*...*
*....*...*.*
**.*....*
.*.*..*..*
..**.*
...*.*.**
.....*.**....*
....**.***.*.*
.....**..*
.......**..***.*
.........*...*.*
#P 67 25
..............................**
.**...........................***
**.***...............*..***.....*
.****..*........*....*....********
..**...........**....*......**...*
....*...*.....*******.*.*
.....*.*.........**.*.*.*
.....*.*.*...*........*.*
.....*..*.***..*.***.*.*
.........*.**.***...**.*.**
....***.......**.....*.*
.....*.........*....*...*......**
.**.............*...**.*..***..**
**.**.*...............*...***.**.*
.*****....................**..*
..***
#P 67 48
..........................................*
..............................***.......*..*
.**...........................***......*...*
**.***...............*..***......*.*.*.*...*
.****..*........*....*....*******.****.*...*
..**...........**....*......**..*.....*.**.*
....*...*.....*******.*.*.........***......**
.....*.*.........**.*.*.*..........*.......**
.....*.*.*...*........*.*...........*.***.****
.....*..*.***..*.***.*.*...........*....**...*
.........*.**.***...**.*.**........*..****
....***.......**.....*.*..........*****..*
.....*.........*....*...*........*....****..**
.**.............*...**.*..***...**.**.*...*
**.**.*...............*...***.**..*.*.*.......*
.*****....................**..*.****...*.*
..***..........................*.*......*.**.*
................................*
#P 131 -56
................................*......*..*
..............................**.*....*
.**...........................*...**..*...*
**.***...............*..***.*.*.*.....****
.****..*........*....*....**.*..*.*..*
..**...........**....*......*.*.*...*
....*...*.....*******.*.*....**.*.....*.*
.....*.*.........**.*.*.*.......*..*.*..*
.....*.*.*...*........*.*......*......*
.....*..*.***..*.***.*.*.......*..*.....*
.........*.**.***...**.*.**...**.....**.*
....***.......**.....*.*.....*.*.**..*
.....*.........*....*...*...**.*.*.......*
.**.............*...**.*..**.*.*..*.......*
**.**.*...............*...***..*.*.**
.*****....................**...*.....*....*
..***..........................*...*..****
...............................*
#P 131 -32
................................*.........***
..............................**.*
.**...........................*...**..****...*
**.***...............*..***.*.*.*.....***
.****..*........*....*....**.*..*.*..*...**.*
..**...........**....*......*.*.*...*.....*.*
....*...*.....*******.*.*....**.*
.....*.*.........**.*.*.*.......*..*
.....*.*.*...*........*.*......*
.....*..*.***..*.***.*.*.......*..*
.........*.**.***...**.*.**...**
....***.......**.....*.*.....*.*.**
.....*.........*....*...*...**.*.*.....**..*
.**.............*...**.*..**.*.*..*..*****..*
**.**.*...............*...***..*.*.****....*
.*****....................**...*.......**
..***..........................*...*....***.**
...............................*.........**
#P 131 -8
................................*....*
..............................**.*...*
.**...........................*....*
**.***...............*..***.*.*.*.*.***.*
.****..*........*....*....**.*..*.*.**
..**...........**....*......*.*.*.....***
....*...*.....*******.*.*....**.*......*.*
.....*.*.........**.*.*.*.......*..*...***
.....*.*.*...*........*.*......*.......***...*
.....*..*.***..*.***.*.*.......*..*....**..***
.........*.**.***...**.*.**...**..........**
....***.......**.....*.*.....*.*.**...*..**
.....*.........*....*...*...**.*.*....*****
.**.............*...**.*..**.*.*..*......*
**.**.*...............*...***..*.*.*..*.*
.*****....................**...*.*.**.*
..***..........................*...**
...............................*.*
#P 131 25
...............................***......*
.**...........................*.**.**.*.*
**.***...............*..***.***.*.***....*
.****..*........*....*....**..*.*.*.***....**
..**...........**....*......*.*.*.....*...****
....*...*.....*******.*.*....**.*.......******
.....*.*.........**.*.*.*.......*..*..*
.....*.*.*...*........*.*......*.....*..*
.....*..*.***..*.***.*.*.......*..*..*....***
.........*.**.***...**.*.**...**......*.******
....***.......**.....*.*.....*.*.**.......****
.....*.........*....*...*...**.*.*....****
.**.............*...**.*..**.*.*.*
**.**.*...............*...***..*..*.**
.*****....................**..**.**...*
..***...........................***....**
.................................**
#P 131 48
...............................**...........*.*
..............................***..........*..*
.**.........................*.*...........**
**.***...............*..***..**..........*....*
.****..*........*....*....***.**..*.....*****.*
..**...........**....*......*.**.***
....*...*.....*******.*.*...*...*...**.****
.....*.*.........**.*.*.*...*****.....*
.....*.*.*...*........*.*.....*.*.....***.*
.....*..*.***..*.***.*.*......*..**...***.*
.........*.**.***...**.*.**.***.*****
....***.......**.....*.*....**..**....*****
.....*.........*....*...*....*...*
.**.............*...**.*..**..*..*...*..*****.*
**.**.*...............*...***.....**.....*....*
.*****....................**..............**
..***.........................**...........*..*
..............................**............*.*
#P 187 -56
..................................***
.
.**..............................****.*
**.***...............*....****.**
.****..*........*....*...*...****
..**...........**....*....***..*
....*...*.....*******.*.*..*
.....*.*.........**.*.*.*..*
.....*.*.*...*........*.*.*
.....*..*.***..*.***.*.*.*
.........*.**.***...**.*.*.**
....***.......**.....*.*.*
.....*.........*....*...***.**
.**.............*...**.*..*....*
**.**.*...............*....*..*.....*
.*****.....................*..*..*..**
..***............................**.**
...................................*.*
#P 187 -32
.......................................*.....***
...................................*.**.*.**.***
.**..............................**.***..***.*.*..*
**.***...............*....****.***.......*..**...*
.****..*........*....*...*...****.*******.*..*
..**...........**....*....***..*.......*.*
....*...*.....*******.*.*..*.......**.....*..*
.....*.*.........**.*.*.*..*......**.*....***
.....*.*.*...*........*.*.*.......**...**
.....*..*.***..*.***.*.*.*..........*..****
.........*.**.***...**.*.*.**......*.....**..*
....***.......**.....*.*.*........***........*
.....*.........*....*...***.**..........*....**
.**.............*...**.*..*....*..*************
**.**.*...............*....*..*...*......*...***
.*****.....................*..*...*..*..**......**
..***.............................*..**..*...*.*.*
........................................*....****
..............................................**
#P 187 -8
.................................**
.................................**...........*
.**.............................*......**.....*.**
**.***...............*....****.**..**....***.*...*
.****..*........*....*...*...****..**..*...**
..**...........**....*....***..*...*.*.**......*
....*...*.....*******.*.*..*.........*.**...*
.....*.*.........**.*.*.*..*.......*.*.*......*
.....*.*.*...*........*.*.*.......**.*.*.**...*
.....*..*.***..*.***.*.*.*........*...*....*..**
.........*.**.***...**.*.*.**......**.*.*.*...**
....***.......**.....*.*.*.........**.*......*
.....*.........*....*...***.**........*....***
.**.............*...**.*..*....*.***..*.*.*...*
**.**.*...............*....*..*..**..**.*.....*...*
.*****.....................*..*.**...*...*..***...*
..***...........................**........*.....*
..................................**
#P 187 24
...............................................*.*
..................................**..........**.*
.**..............................**.**.*.....*
**.***...............*..*.........*.**.....**.**
.****..*........*....*...*......*.*....*.*.*.*
..**...........**....*.........**.*.**..*.*.**
....*...*.....*******.*.*......*.*.*..**..**
.....*.*.........**.*.*.*..***.*.*.*..*..*.*
.....*.*.*...*........*.*...**.*.*.*...*.**
.....*..*.***..*.***.*.*....*.*.*.*....*..**
.........*.**.***...**.*.**..*..*.*.**....**
....***.......**.....*.*.....*..*.*....*.**
.....*.........*....*...*......**..*.**
.**.............*...**.*........**.*...*.*.*
**.**.*...............*..........*.***...*.****
.*****............................*....*....***
..***.............................*****..........*
...................................**..........**
#P 187 48
....................................*
..................................**.*.***.*
.**..............................**.***.*..*
**.***...............*..*.........*.*...***...**.**
.****..*........*....*...*......*.*.*.*.*.******....*
..**...........**....*.........**.*.****..**.*
....*...*.....*******.*.*......*.*.*..*.....*..*.*...*
.....*.*.........**.*.*.*..***.*.*.*..*.......*.*....*
.....*.*.*...*........*.*...**.*.*.*.***.....*.**...***
.....*..*.***..*.***.*.*....*.*.*.*.*..*......*...*...*
.........*.**.***...**.*.**..*..*.*.*.............*
....***.......**.....*.*.....*..*.*.**.....***....*
.....*.........*....*...*......**..*.**...*****...*
.**.............*...**.*........**.*.*...*.....*..*
**.**.*...............*..........*.*...*........**
.*****............................*.*.**...*
..***.............................***...****
...................................**...**
/programs/demos/life2/lif/AQUA50S.lif
0,0 → 1,1206
#Life 1.05
#D c/2 symmetrical spaceships
#D By Hartmut Holzwart.
#D
#D One of the front ends came
#D in handy for MAX.
#N
#P -154 -105
..*
.*****
**...**.*
.*.......*
..**..*.*
.
..**..*.*
.*.......*
**...**.*
.*****
..*
#P -154 -88
****
*...*
*
.*..*..**
......***
.*..*..**
*
*...*
****
#P -154 -64
****
*...*
*
.*..*
.
.*..*
*
*...*
****
#P -148 -71
....****
...******
..**.****
...**
.
........*
......*
.....*...*
....**....*
..*..*
.***.*..*
**..**..*..*
.***.*..*
..*..*
....**....*
.....*...*
......*
........*
.
...**
..**.****
...******
....****
#P -154 -37
.**
**.**
.****
..**
.
.
.
..**
.****
**.**
.**
#P -148 -41
..............*.*
.............*..*
........**..**
.......****........*
.........**.**
.....*.**...*......*
....**.*..*.*.*****
..*..*...*....*
.***.*....*..*
**..**
.***.*....*..*
..*..*...*....*
....**.*..*.*.*****
.....*.**...*......*
.........**.**
.......****........*
........**..**
.............*..*
..............*.*
#P -154 -17
****.....*..*
*...*...*
*.......*...*
.*..*...****
.
.....**
.....**
.....**
.
.*..*...****
*.......*...*
*...*...*
****.....*..*
#P -156 2
..****
..*...*
..*
...*
......*
...*
..**
.*.*...*
**..*..*
.**...*
..**
.
..**
.**...*
**..*..*
.*.*...*
..**
...*
......*
...*
..*
..*...*
..****
#P -141 22
..**.******
.****......*
**
.*.........*
..***.*
....*
....*
.....*
....*
....*
..***.*
.*.........*
**
.****......*
..**.******
#P -156 34
******
*.....*
*
.*
......*
...*
..**
.*.*...*
**..*..*
.**...*
..**
.
..**
.**...*
**..*..*
.*.*...*
..**
...*
......*
.*
*
*.....*
******
#P -148 70
...*
..*..*
.*...*
*
*..**
*
.*...*
..*..*
...*
#P -152 66
.*..*
*
*...*
****
#P -152 79
****
*...*
*
.*..*
#P -149 94
...*
..*..*
.*...*
*
*..**
*
.*...*
..*..*
...*
#P -152 88
...*
.*...*
*
*....*
*****
#P -152 104
*****
*....*
*
.*...*
...*
#P -115 -65
............****
............*...*
............*
...........**...*
.........******
.*.......**.*
*.....*...*
*.....**.*
*****.*.*
.......*****
.
.......*****
*****.*.*
*.....**.*
*.....*...*
.*.......**.*
.........******
...........**...*
............*
............*...*
............****
#P -115 -40
........**
.......**.***
........*****
.........***
.*
*.....*
*.....***.*
*****.*.*..*.*
........*.*.*
........*.*.**
........*.*.*
*****.*.*..*.*
*.....***.*
*.....*
.*
.........***
........*****
.......**.***
........**
#P -115 -17
.......*..*
......*
......*...*
......****
............**
.*.........*....**
*.....*..*..*..**.****
*.....***.*.*.**.*****
*****.*.*.*.*.***.***
........*.*.*.*.*
........*.*.*.*
........*.*.*.*.*
*****.*.*.*.*.***.***
*.....***.*.*.**.*****
*.....*..*..*..**.****
.*.........*....**
............**
......****
......*...*
......*
.......*..*
#P -115 9
....................*.*
...........**.....**....*
..........****....**.....**
.*.......*.*.**.*....***.****
*.....*.**.....*..***.**
*.....***....*......**.*.*.*
*****.*.*..**....*....**
........*.*.*...*......*.*
........*.*
........*.*.*...*......*.*
*****.*.*..**....*....**
*.....***....*......**.*.*.*
*.....*.**.....*..***.**
.*.......*.*.**.*....***.****
..........****....**.....**
...........**.....**....*
....................*.*
#P -115 30
........*..*....*..*
.......*.......*
.......*...*...*...*
.......****....****
.
.............*
.*..........***
*.....*......*..*
*.....***.**.*.*
*****.*.*..**..**
........*.*.*...*
........*.**....*
........*.*.*...*
*****.*.*..**..**
*.....***.**.*.*
*.....*......*..*
.*..........***
.............*
.
.......****....****
.......*...*...*...*
.......*.......*
........*..*....*..*
#P -83 -105
....................**....****
..................**...*..*...**.*
..................*....*..*....*.*
...............*.*.*.*.....*..*
................**.*.*.**
.*.......***.**.....*.*..***
*.....*...**...*.....***.*
*.....***.**..............**
*****.*.*..*
........*
........**.*.*
........*
*****.*.*..*
*.....***.**..............**
*.....*...**...*.....***.*
.*.......***.**.....*.*..***
................**.*.*.**
...............*.*.*.*.....*..*
..................*....*..*....*.*
..................**...*..*...**.*
....................**....****
#P -83 -81
....................**....****...**
..................**...*..*...**...*
..................*....*..*.....*
...............*.*.*.*.....*..****
................**.*.*.**
.*.......***.**.....*.*..***
*.....*...**...*.....***.*
*.....***.**..............**
*****.*.*..*
........*
........**.*.*
........*
*****.*.*..*
*.....***.**..............**
*.....*...**...*.....***.*
.*.......***.**.....*.*..***
................**.*.*.**
...............*.*.*.*.....*..****
..................*....*..*.....*
..................**...*..*...**...*
....................**....****...**
#P -83 -57
...................*.*
..................*
..................*..*
...............*.*.**......**
................**...**..*.****
.*.......***.**.....*...*....***
*.....*...**...*.....*..*.**..**
*.....***.**..........*.*.*..**...*
*****.*.*..*............*..........*.*
........*................***********.*
........**.*.*
........*................***********.*
*****.*.*..*............*..........*.*
*.....***.**..........*.*.*..**...*
*.....*...**...*.....*..*.**..**
.*.......***.**.....*...*....***
................**...**..*.****
...............*.*.**......**
..................*..*
..................*
...................*.*
#P -83 -33
...................*.*
..................*
..................*..*...............*.*
...............*.*.**......**....**.*.**
................**...**..*.****..**.**
.*.......***.**.....*...*....**.**...*
*.....*...**...*.....*..*.**.***..***
*.....***.**..........*.*.*...**.*...*
*****.*.*..*............*......*..**.*
........*................*******..**.**.*
........**.*.*...........................*
........*................*******..**.**.*
*****.*.*..*............*......*..**.*
*.....***.**..........*.*.*...**.*...*
*.....*...**...*.....*..*.**.***..***
.*.......***.**.....*...*....**.**...*
................**...**..*.****..**.**
...............*.*.**......**....**.*.**
..................*..*...............*.*
..................*
...................*.*
#P -83 -9
...................*.*
..................*
..................*..*
...............*.*.**......**
................**...**..*.****....***
.*.......***.**.....*...*....**.......*
*.....*...**...*.....*..*.**.***..*...*
*.....***.**..........*.*.*...**.**
*****.*.*..*............*......*......*
........*................*******...**.*
........**.*.*
........*................*******...**.*
*****.*.*..*............*......*......*
*.....***.**..........*.*.*...**.**
*.....*...**...*.....*..*.**.***..*...*
.*.......***.**.....*...*....**.......*
................**...**..*.****....***
...............*.*.**......**
..................*..*
..................*
...................*.*
#P -83 25
.....................*..*.*.*
.....................*....*.*
..............**.**..*.....*
.*........***...**.*..*...*
*.....*..**...........*...*
*.....***.*.*..*.......**.*
*****.*.*.*.*..*..........**..*
........*.*...*............****
........*.*
........*.*...*............****
*****.*.*.*.*..*..........**..*
*.....***.*.*..*.......**.*
*.....*..**...........*...*
.*........***...**.*..*...*
..............**.**..*.....*
.....................*....*.*
.....................*..*.*.*
#P -83 49
.....................*..*.*.*
.....................*....*.*
..............**.**..*.....*
.*........***...**.*..*...*
*.....*..**...........*...*
*.....***.*.*..*.......**.*
*****.*.*.*.*..*..........**..*
........*.*...*............****
........*.*
........*.*...*............****
*****.*.*.*.*..*..........**..*
*.....***.*.*..*.......**.*
*.....*..**...........*...*
.*........***...**.*..*...*
..............**.**..*.....*
.....................*....*.*
.....................*..*.*.*
#P -52 49
******
*.....*
*
..*...*
....*
#P -52 61
....*
..*...*
*
*.....*
******
#P -83 73
.....................*..*.*.*
.....................*....*.*
..............**.**..*.....*
.*........***...**.*..*...*
*.....*..**...........*...*
*.....***.*.*..*.......**.*
*****.*.*.*.*..*..........**..*
........*.*...*............****
........*.*
........*.*...*............****
*****.*.*.*.*..*..........**..*
*.....***.*.*..*.......**.*
*.....*..**...........*...*
.*........***...**.*..*...*
..............**.**..*.....*
.....................*....*.*
.....................*..*.*.*
#P -51 76
..****
..*...*
.*
****..*
**
.
**
****..*
.*
..*...*
..****
#P -35 -56
****
*...*.......***
*.......***..***
.*..*..****..***
......***.....**
....**....**..***
...*.**.*.**..*.**
..*......*..*.*.*
..*..*.....*..*.**
..*......*..*.*.*
...*.**.*.**..*.**
....**....**..***
......***.....**
.*..*..****..***
*.......***..***
*...*.......***
****
#P -35 -32
****
*...*.......***
*.......***..***
.*..*..****..***
......***.....**
....**....**..***
...*.**.*.**..*.**
..*......*..*.*.*
..*..*.....*..*.**
..*......*..*.*.*
...*.**.*.**..*.**
....**....**..***
......***.....**
.*..*..****..***
*.......***..***
*...*.......***
****
#P -16 -32
.**
**.***
.*****
..***
.
.
..**.**
..*
..*
..*
..**.**
.
.
..***
.*****
**.***
.**
#P -35 -8
****
*...*.......***
*.......***..***
.*..*..****..***
......***.....**
....**....**..***
...*.**.*.**..*.**
..*......*..*.*.*
..*..*.....*..*.**
..*......*..*.*.*
...*.**.*.**..*.**
....**....**..***
......***.....**
.*..*..****..***
*.......***..***
*...*.......***
****
#P -17 -9
.*.*.......*.*
*.........*.**
*..*....*..............*.*
***.**.*.*.*..........*..*
....**.*.*.**........**
...*...*.*.**..***..*...*
....**.*...**.*....***.*
.....**.....*.*...*
.......*****...*********
.
.......*****...*********
.....**.....*.*...*
....**.*...**.*....***.*
...*...*.*.**..***..*...*
....**.*.*.**........**
***.**.*.*.*..........*..*
*..*....*..............*.*
*.........*.**
.*.*.......*.*
#P -35 16
****
*...*.......***
*.......***..***
.*..*..****..***
......***.....**
....**....**..***
...*.**.*.**..*.**
..*......*..*.*.*
..*..*.....*..*.**
..*......*..*.*.*
...*.**.*.**..*.**
....**....**..***
......***.....**
.*..*..****..***
*.......***..***
*...*.......***
****
#P -17 15
.*.*.......*.*...........*.*
*.........*.**..........*..*
*..*....*..............**
***.**.*.*.*..........*...*
....**.*.*.**........***.*
...*...*.*.**..***..*
....**.*...**.*....*******
.....**.....*.*...*........*.*
.......*****...***************
.
.......*****...***************
.....**.....*.*...*........*.*
....**.*...**.*....*******
...*...*.*.**..***..*
....**.*.*.**........***.*
***.**.*.*.*..........*...*
*..*....*..............**
*.........*.**..........*..*
.*.*.......*.*...........*.*
#P -35 40
****
*...*.......***
*.......***..***
.*..*..****..***
......***.....**
....**....**..***
...*.**.*.**..*.**
..*......*..*.*.*
..*..*.....*..*.**
..*......*..*.*.*
...*.**.*.**..*.**
....**....**..***
......***.....**
.*..*..****..***
*.......***..***
*...*.......***
****
#P -17 39
.*.*...................*.*
*.....................*..*.*
*..*....***..........**.....*
***.**.*.**.**......*....*..*
....**.*.*.**...**.*****.*.*
...*...*.*
....**.*********...***.***..*
.....**................***..*
.......************..*
.....................**
.......************..*
.....**................***..*
....**.*********...***.***..*
...*...*.*
....**.*.*.**...**.*****.*.*
***.**.*.**.**......*....*..*
*..*....***..........**.....*
*.....................*..*.*
.*.*...................*.*
#P 21 -63
*****...........*
*....*
*....*...*..****..*.**...**
.*......*.*......**...*
...**......**.....**...**.*
....**..***.**.*...****.*.....*
....***.*.....*.......*.*.****
....***
....***.*.....*.......*.*.****
....**..***.**.*...****.*.....*
...**......**.....**...**.*
.*......*.*......**...*
*....*...*..****..*.**...**
*....*
*****...........*
#P 21 -40
..............................****
*****...........*...........*.....*
*....*.....................**
*....*...*..****..*.**...**.*.....*
.*......*.*......**...*.....**.*
...**......**.....**...**.*
....**..***.**.*...****.*....*
....***.*.....*.......*.*.***
....***
....***.*.....*.......*.*.***
....**..***.**.*...****.*....*
...**......**.....**...**.*
.*......*.*......**...*.....**.*
*....*...*..****..*.**...**.*.....*
*....*.....................**
*****...........*...........*.....*
..............................****
#P 21 -16
..............................****
*****...........*...........*.....**.*
*....*.....................**......*.*
*....*...*..****..*.**...**.*.....*
.*......*.*......**...*.....**.*
...**......**.....**...**.*
....**..***.**.*...****.*....*
....***.*.....*.......*.*.***
....***
....***.*.....*.......*.*.***
....**..***.**.*...****.*....*
...**......**.....**...**.*
.*......*.*......**...*.....**.*
*....*...*..****..*.**...**.*.....*
*....*.....................**......*.*
*****...........*...........*.....**.*
..............................****
#P 21 7
.........................................**
..............................****....*.....*
*****...........*...........*.....**.*
*....*.....................**......*.*......*
*....*...*..****..*.**...**.*.....*...******
.*......*.*......**...*.....**.*.......*
...**......**.....**...**.*
....**..***.**.*...****.*....*
....***.*.....*.......*.*.***
....***
....***.*.....*.......*.*.***
....**..***.**.*...****.*....*
...**......**.....**...**.*
.*......*.*......**...*.....**.*.......*
*....*...*..****..*.**...**.*.....*...******
*....*.....................**......*.*......*
*****...........*...........*.....**.*
..............................****....*.....*
.........................................**
#P 21 32
..............................****...**
*****...........*...........*.....**...*
*....*.....................**.......*
*....*...*..****..*.**...**.*.....****
.*......*.*......**...*.....**.*
...**......**.....**...**.*
....**..***.**.*...****.*....*
....***.*.....*.......*.*.***
....***
....***.*.....*.......*.*.***
....**..***.**.*...****.*....*
...**......**.....**...**.*
.*......*.*......**...*.....**.*
*....*...*..****..*.**...**.*.....****
*....*.....................**.......*
*****...........*...........*.....**...*
..............................****...**
#P 21 56
..............................****...**
*****...........*...........*.....**...*
*....*.....................**.......*
*....*...*..****..*.**...**.*.....****
.*......*.*......**...*.....**.*.........*
...**......**.....**...**.*.............*..*
....**..***.**.*...****.*....*.........*...*
....***.*.....*.......*.*.***.........*
....***...............................*..**
....***.*.....*.......*.*.***.........*
....**..***.**.*...****.*....*.........*...*
...**......**.....**...**.*.............*..*
.*......*.*......**...*.....**.*.........*
*....*...*..****..*.**...**.*.....****
*....*.....................**.......*
*****...........*...........*.....**...*
..............................****...**
#P 77 -64
..............................****
*****...........*...........*.....*
*....*.....................**
*....*...*..****..*.**...**.*
.*......*.*......**...*.....**....*..*
...**......**.....**...**.*.......*..*
....**..***.**.*...****.*....*.***..*
....***.*.....*.......*.*.***....**
....***
....***.*.....*.......*.*.***....**
....**..***.**.*...****.*....*.***..*
...**......**.....**...**.*.......*..*
.*......*.*......**...*.....**....*..*
*....*...*..****..*.**...**.*
*....*.....................**
*****...........*...........*.....*
..............................****
#P 77 -40
..............................****
*****...........*...........*.....*
*....*.....................**
*....*...*..****..*.**...**.*.......*.*
.*......*.*......**...*.....**....**
...**......**.....**...**.*.......**..*
....**..***.**.*...****.*....*.***...*
....***.*.....*.......*.*.***....***
....***
....***.*.....*.......*.*.***....***
....**..***.**.*...****.*....*.***...*
...**......**.....**...**.*.......**..*
.*......*.*......**...*.....**....**
*....*...*..****..*.**...**.*.......*.*
*....*.....................**
*****...........*...........*.....*
..............................****
#P 77 -15
*****...........*
*....*
*....*...*..****..*.**...**..**.****
.*......*.*......**...*......********
...**......**.....**...**.*..********
....**..***.**.*...****.*...*
....***.*.....*.......*.*.**
....***
....***.*.....*.......*.*.**
....**..***.**.*...****.*...*
...**......**.....**...**.*..********
.*......*.*......**...*......********
*....*...*..****..*.**...**..**.****
*....*
*****...........*
#P 77 9
*****...........*....................*
*....*.....................**...***...*
*....*...*..****..*.**.....***.*****
.*......*.*......**...*....*........**
...**......**.....**...*****..*...*
....**..***.**.*...****.*.**......*
....***.*.....*.......*.*.*....**
....***........................***
....***.*.....*.......*.*.*....**
....**..***.**.*...****.*.**......*
...**......**.....**...*****..*...*
.*......*.*......**...*....*........**
*....*...*..****..*.**.....***.*****
*....*.....................**...***...*
*****...........*....................*
#P 77 39
.......................*
.....................*.*
*****...........*..**.*
*....*............*
*....*...*..****....*
.*......*.*......**.**
...**......**.....*
....**..***.**.*...*..**
....***.*.....*.....*.**
....***
....***.*.....*.....*.**
....**..***.**.*...*..**
...**......**.....*
.*......*.*......**.**
*....*...*..****....*
*....*............*
*****...........*..**.*
.....................*.*
.......................*
#P 77 63
.......................*
.....................*.*
*****...........*..**.*
*....*............*
*....*...*..****....*
.*......*.*......**.**
...**......**.....*
....**..***.**.*...*..**
....***.*.....*.....*.**
....***
....***.*.....*.....*.**
....**..***.**.*...*..**
...**......**.....*
.*......*.*......**.**
*....*...*..****....*
*....*............*
*****...........*..**.*
.....................*.*
.......................*
#P 102 63
.......*....**
.......**...***
..*......*.*..**
.******..*......***
**.**....*..*....**
.*..*....*
...**....*
...*..*
.......***
......*
.......***
...*..*
...**....*
.*..*....*
**.**....*..*....**
.******..*......***
..*......*.*..**
.......**...***
.......*....**
#P 133 -83
........**
.......*****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......*****
........**
#P 133 -51
........**
.......****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......****
........**
#P 145 -51
**.**
.
*...*
.**
#P 145 -33
.**
*...*
.
**.**
#P 133 -19
........**
.......*****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......*****
........**
#P 146 -19
..*
.*****.*
......**
***.*.*........***
..**..*...***.****
....**.*..**..**
......**.*.*.*...*
.......*.*..*.****
........*..**
.........**
.
.
.........**
........*..**
.......*.*..*.****
......**.*.*.*...*
....**.*..**..**
..**..*...***.****
***.*.*........***
......**
.*****.*
..*
#P 133 13
........**
.......*****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......*****
........**
#P 146 13
..*
.*****.*
......**
***.*.*........***
..**..*...***.****
....**.*..**..**
......**.*.*.*...*
.......*.*..*.****
........*..**
.........**
.
.
.........**
........*..**
.......*.*..*.****
......**.*.*.*...*
....**.*..**..**
..**..*...***.****
***.*.*........***
......**
.*****.*
..*
#P 166 15
....**
...**.***
....*****
.....***
**
..***
*....*
**
.
.
**
*....*
..***
**
.....***
....*****
...**.***
....**
#P 133 45
........**
.......*****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......*****
........**
#P 146 45
..*
.*****.*
......**
***.*.*........***
..**..*...***.****
....**.*..**..**
......**.*.*.*...*
.......*.*..*.****
........*..**
.........**
.
.
.........**
........*..**
.......*.*..*.****
......**.*.*.*...*
....**.*..**..**
..**..*...***.****
***.*.*........***
......**
.*****.*
..*
#P 166 45
...*..*
..*
..*...*
..****
.
.
**
..********
*.........*
**
.
.
**
*.........*
..********
**
.
.
..****
..*...*
..*
...*..*
#P 133 77
........**
.......*****
....*.*
..***.**.**
.*........*
**.**.**
.**.*.*...**
..*.*.*.*.*
...**.*.*.**
......*
.....*
.....*
......*
...**.*.*.**
..*.*.*.*.*
.**.*.*...**
**.**.**
.*........*
..***.**.**
....*.*
.......*****
........**
#P 146 77
..*
.*****.*
......**
***.*.*........***
..**..*...***.****
....**.*..**..**
......**.*.*.*...*
.......*.*..*.****
........*..**
.........**
.
.
.........**
........*..**
.......*.*..*.****
......**.*.*.*...*
....**.*..**..**
..**..*...***.****
***.*.*........***
......**
.*****.*
..*
#P 166 83
.**
.*
**.*
....*
.*..*
.*..*
....*
**.*
.*
.**
/programs/demos/life2/lif/AQUA50SB.lif
0,0 → 1,645
#Life 1.05
#D c/2 symmetrical spaceships, "B" front end
#D By Hartmut Holzwart.
#N
#P -144 -70
.....................................**
.................**.................****
.**.............**.**..............**.**
**.***...........****...............**
.*****............**.............**
..***....*.........**.......*....**
.........*..*.....*****...**..*.*.....*
......**..***.....******.*.*.***.**
.....**........**........*.*..*..*
.....****....*.*.......*.*...**
.....*.*.*..*...***......*...**..**....*
.....*.*.*..*...***......*...**..**....*
.....****....*.*.......*.*...**
.....**........**........*.*..*..*
......**..***.....******.*.*.***.**
.........*..*.....*****...**..*.*.....*
..***....*.........**.......*....**
.*****............**.............**
**.***...........****...............**
.**.............**.**..............**.**
.................**.................****
.....................................**
#P -144 -45
.................**.......**
.**.............**.**....**.**
**.***...........****.....****......**
.*****............**.......**....***
..***....*.........*...........*
.........*..*.....****.........*
......**..***.....******...**.*
.....**........**.......*....*....***
.....****....*.*......**.*.....*.***.*
.....*.*.*..*...***...*....*.*......***
.....*.*.*..*...***...*....*.*......***
.....****....*.*......**.*.....*.***.*
.....**........**.......*....*....***
......**..***.....******...**.*
.........*..*.....****.........*
..***....*.........*...........*
.*****............**.......**....***
**.***...........****.....****......**
.**.............**.**....**.**
.................**.......**
#P -144 -21
.................**.......**.......***
.**.............**.**....**.**....*****
**.***...........****.....****...**.***
.*****............**.......**.....**
..***....*.........*...........*
.........*..*.....****.........*
......**..***.....******...**.*.....**
.....**........**.......*....*....****
.....****....*.*......**.*.....*.*....*
.....*.*.*..*...***...*....*.*....*....*
.....*.*.*..*...***...*....*.*....*....*
.....****....*.*......**.*.....*.*....*
.....**........**.......*....*....****
......**..***.....******...**.*.....**
.........*..*.....****.........*
..***....*.........*...........*
.*****............**.......**.....**
**.***...........****.....****...**.***
.**.............**.**....**.**....*****
.................**.......**.......***
#P -144 10
....................................**
.................**......*.*.......***
.**.............**.**...*.........***
**.***...........****...*..*....*.*..**
.*****............**....***.**.*.**
..***....*.........***......**.*......*
.........*..*.....*****....*...*.**..**
......**..***.....*****.....**.*.....*
.....**........**............**..**.**.*
.....****....*.*...............***.**
.....*.*.*..*...***.............*
.....*.*.*..*...***.............*
.....****....*.*...............***.**
.....**........**............**..**.**.*
......**..***.....*****.....**.*.....*
.........*..*.....*****....*...*.**..**
..***....*.........***......**.*......*
.*****............**....***.**.*.**
**.***...........****...*..*....*.*..**
.**.............**.**...*.........***
.................**......*.*.......***
....................................**
#P -144 34
.....................................**
.................**......*.*............*
.**.............**.**...*.........*
**.***...........****...*..*....*.......*
.*****............**....***.**.*.*.*****
..***....*.........***......**.*...*
.........*..*.....*****....*...*..*
......**..***.....*****.....**..*
.....**........**............**
.....****....*.*...............***
.....*.*.*..*...***...........*..*
.....*.*.*..*...***...........*..*
.....****....*.*...............***
.....**........**............**
......**..***.....*****.....**..*
.........*..*.....*****....*...*..*
..***....*.........***......**.*...*
.*****............**....***.**.*.*.*****
**.***...........****...*..*....*.......*
.**.............**.**...*.........*
.................**......*.*............*
.....................................**
#P -144 59
.................**
.**.............**.**
**.***...........****
.*****............**.......*
..***....*.........*.....***
.........*..*.....******.*.***
......**..***.....**...*.*.*.**
.....**........**...**.**.**...*
.....****....*.*.....*..*....*
.....*.*.*..*...***...***
.....*.*.*..*...***...***
.....****....*.*.....*..*....*
.....**........**...**.**.**...*
......**..***.....**...*.*.*.**
.........*..*.....******.*.***
..***....*.........*.....***
.*****............**.......*
**.***...........****
.**.............**.**
.................**
#P -88 -77
.............****
.**..........*...*
**.***.......*
.*****........*..*
..***....*.........****
.........*..*.....******
......**..***.....******
.....**........**
.....****....*.*
.....*.*.*..*...***....*
.....*.*.*..*...***....*
.....****....*.*
.....**........**
......**..***.....******
.........*..*.....******
..***....*.........****
.*****........*..*
**.***.......*
.**..........*...*
.............****
#P -88 -46
.....................................**
.............****...................****
.**..........*...*.................**.**
**.***.......*......................**
.*****........*..*...............**
..***....*.........**.......*....**
.........*..*.....*****...**..*.*.....*
......**..***.....******.*.*.***.**
.....**........**........*.*..*..*
.....****....*.*.......*.*...**
.....*.*.*..*...***......*...**..**....*
.....*.*.*..*...***......*...**..**....*
.....****....*.*.......*.*...**
.....**........**........*.*..*..*
......**..***.....******.*.*.***.**
.........*..*.....*****...**..*.*.....*
..***....*.........**.......*....**
.*****........*..*...............**
**.***.......*......................**
.**..........*...*.................**.**
.............****...................****
.....................................**
#P -88 -21
.............****......****
.**..........*...*.....*...*.....**
**.***.......*.........*........****
.*****........*..*......*...*..**.**
..***....*.........**...........**
.........*..*.....*****...**
......**..***.....******.*.*.......*
.....**........**........*.*.......*
.....****....*.*.......*.*...*****.*
.....*.*.*..*...***......*.....*..***
.....*.*.*..*...***......*.....*..***
.....****....*.*.......*.*...*****.*
.....**........**........*.*.......*
......**..***.....******.*.*.......*
.........*..*.....*****...**
..***....*.........**...........**
.*****........*..*......*...*..**.**
**.***.......*.........*........****
.**..........*...*.....*...*.....**
.............****......****
#P -88 10
........................**
.............****......****....**
.**..........*...*....**.**...****
**.***.......*.........**....**.**
.*****........*..*............**
..***....*.........*
.........*..*.....**.....**
......**..***.....****.*..*.**
.....**........**......*..**
.....****....*.*....*....*
.....*.*.*..*...***.*..*
.....*.*.*..*...***.*..*
.....****....*.*....*....*
.....**........**......*..**
......**..***.....****.*..*.**
.........*..*.....**.....**
..***....*.........*
.*****........*..*............**
**.***.......*.........**....**.**
.**..........*...*....**.**...****
.............****......****....**
........................**
#P -88 35
.............****....****
.**..........*...*...*...*
**.***.......*.......*
.*****........*..*....*....*...******
..***....*.........*..........*......*
.........*..*.....**....***..**
......**..***.....****.**.*..**......*
.....**........**......****.......**
.....****....*.*....*....*
.....*.*.*..*...***.*..*.**
.....*.*.*..*...***.*..*.**
.....****....*.*....*....*
.....**........**......****.......**
......**..***.....****.**.*..**......*
.........*..*.....**....***..**
..***....*.........*..........*......*
.*****........*..*....*....*...******
**.***.......*.......*
.**..........*...*...*...*
.............****....****
#P -88 58
......................**.*..*
.............****....*...*.*..............**
.**..........*...*...*.....*.**..........**.**
**.***.......*.......**....*.***...****...****
.*****........*..*.....*..*...**..*........**
..***....*.........*..............*.*
.........*..*.....**....***......**.*....*
......**..***.....****.**..***.**..**....**
.....**........**......**.****.....*.******
.....****....*.*....*....**..*.*****...*
.....*.*.*..*...***.*..*.**.....*.**
.....*.*.*..*...***.*..*.**.....*.**
.....****....*.*....*....**..*.*****...*
.....**........**......**.****.....*.******
......**..***.....****.**..***.**..**....**
.........*..*.....**....***......**.*....*
..***....*.........*..............*.*
.*****........*..*.....*..*...**..*........**
**.***.......*.......**....*.***...****...****
.**..........*...*...*.....*.**..........**.**
.............****....*...*.*..............**
......................**.*..*
#P -24 -70
................**
...............****
.**...........**.**
**.***.........**
.*****
..***....*..........*
.........*..*
......**..***.....**....*
.....**........*...*.****
.....****....*.*.***.***
.....*.*.*..*...****.*
.....*.*.*..*...****.*
.....****....*.*.***.***
.....**........*...*.****
......**..***.....**....*
.........*..*
..***....*..........*
.*****
**.***.........**
.**...........**.**
...............****
................**
#P -24 -46
................**.......*
...............****.....*
.**...........**.**.....*.....**
**.***.........**.......*****
.*****........................*.*
..***....*..........*........*...*
.........*..*.....................*
......**..***.....**....*..**....**
.....**........*...*.****..*..*..**.**
.....****....*.*.***.***......**
.....*.*.*..*...****.*.......*
.....*.*.*..*...****.*.......*
.....****....*.*.***.***......**
.....**........*...*.****..*..*..**.**
......**..***.....**....*..**....**
.........*..*.....................*
..***....*..........*........*...*
.*****........................*.*
**.***.........**.......*****
.**...........**.**.....*.....**
...............****.....*
................**.......*
#P -24 -22
................**.....................*..*
...............****............*..*...*
.**...........**.**...........*.......*...*
**.***.........**.............*...*...****
.*****........................****
..***....*..........*
.........*..*...........................***
......**..***.....**....*..*...*......****
.....**........*...*.****...*.*......*....*
.....****....*.*.***.***...**..*..****
.....*.*.*..*...****.*.........*.*..*
.....*.*.*..*...****.*.........*.*..*
.....****....*.*.***.***...**..*..****
.....**........*...*.****...*.*......*....*
......**..***.....**....*..*...*......****
.........*..*...........................***
..***....*..........*
.*****........................****
**.***.........**.............*...*...****
.**...........**.**...........*.......*...*
...............****............*..*...*
................**.....................*..*
#P -24 12
.**............**
**.***........**.***
.*****.........*****
..***....*......*****
.........*..*......****
......**..***.....*..***
.....**........*..**..**
.....****....*.*.*.*
.....*.*.*..*...***
.....*.*.*..*...***
.....****....*.*.*.*
.....**........*..**..**
......**..***.....*..***
.........*..*......****
..***....*......*****
.*****.........*****
**.***........**.***
.**............**
#P -24 34
.................**
................****...................*
.**............**.**................*****
**.***..........**..........**....**
.*****...............*.....*......**.**
..***....*............*....*...*.*...*
.........*..*......*****...**....**...******
......**..***.....*....**.....**.*...*......*
.....**........*..**....**.*....*.*..*
.....****....*.*.*.*....**........*..*......*
.....*.*.*..*...***.....*.................*
.....*.*.*..*...***.....*.................*
.....****....*.*.*.*....**........*..*......*
.....**........*..**....**.*....*.*..*
......**..***.....*....**.....**.*...*......*
.........*..*......*****...**....**...******
..***....*............*....*...*.*...*
.*****...............*.....*......**.**
**.***..........**..........**....**
.**............**.**................*****
................****...................*
.................**
#P -24 59
..............****
.**...........*...*
**.***........*
.*****.........*..*..**
..***....*..........**.*.**
.........*..*......*.***
......**..***.....*.***...*
.....**........*...*.....*
.....****....*.*.***
.....*.*.*..*...***
.....*.*.*..*...***
.....****....*.*.***
.....**........*...*.....*
......**..***.....*.***...*
.........*..*......*.***
..***....*..........**.*.**
.*****.........*..*..**
**.***........*
.**...........*...*
..............****
#P 32 -78
................**......****
...............****....******
.**...........**.**...**.****
**.***.........**......**
.*****........................*
..***....*..........*.........*
.........*..*
......**..***.....**
.....**........*...*.************
.....****....*.*.***.************
.....*.*.*..*...****.***********
.....*.*.*..*...****.***********
.....****....*.*.***.************
.....**........*...*.************
......**..***.....**
.........*..*
..***....*..........*.........*
.*****........................*
**.***.........**......**
.**...........**.**...**.****
...............****....******
................**......****
#P 32 -46
................**
...............****
.**...........**.**
**.***.........**
.*****
..***....*..........*
.........*..*
......**..***.....**
.....**........*...*.********
.....****....*.*.***.********
.....*.*.*..*...****.*******
.....*.*.*..*...****.*******
.....****....*.*.***.********
.....**........*...*.********
......**..***.....**
.........*..*
..***....*..........*
.*****
**.***.........**
.**...........**.**
...............****
................**
#P 32 -22
................**......**
...............****....****
.**...........**.**...**.**...***
**.***.........**......**....**.***...********
.*****........................***..*.*..******
..***....*..........*......**..**..*.*...*.**
.........*..*....................*...**
......**..***.....**..............**.*
.....**........*...*.*******......***..*
.....****....*.*.***.*******.......*.***
.....*.*.*..*...****.******.........*..**
.....*.*.*..*...****.******.........*..**
.....****....*.*.***.*******.......*.***
.....**........*...*.*******......***..*
......**..***.....**..............**.*
.........*..*....................*...**
..***....*..........*......**..**..*.*...*.**
.*****........................***..*.*..******
**.***.........**......**....**.***...********
.**...........**.**...**.**...***
...............****....****
................**......**
#P 32 2
................**......**...............*.*
...............****....****.............*
.**...........**.**...**.**...***......**...*
**.***.........**......**....**.***...*...**
.*****........................***..*.*.**..**
..***....*..........*......**..**..*.*.....**
.........*..*....................*...*.....**
......**..***.....**..............**.*...*
.....**........*...*.*******......**...**..**
.....****....*.*.***.*******........**...***
.....*.*.*..*...****.******
.....*.*.*..*...****.******
.....****....*.*.***.*******........**...***
.....**........*...*.*******......**...**..**
......**..***.....**..............**.*...*
.........*..*....................*...*.....**
..***....*..........*......**..**..*.*.....**
.*****........................***..*.*.**..**
**.***.........**......**....**.***...*...**
.**...........**.**...**.**...***......**...*
...............****....****.............*
................**......**...............*.*
#P 32 34
................**......**.........**.*
...............****....****......**......*
.**...........**.**...**.**......***.*...*
**.***.........**......**.....**..**..**.*
.*****.......................*..*.**
..***....*..........*.......**....**
.........*..*................*..*.**
......**..***.....**..........**..*
.....**........*...*.******......***.**.*
.....****....*.*.***.******......***.**.*
.....*.*.*..*...****.*****
.....*.*.*..*...****.*****
.....****....*.*.***.******......***.**.*
.....**........*...*.******......***.**.*
......**..***.....**..........**..*
.........*..*................*..*.**
..***....*..........*.......**....**
.*****.......................*..*.**
**.***.........**......**.....**..**..**.*
.**...........**.**...**.**......***.*...*
...............****....****......**......*
................**......**.........**.*
#P 32 58
................**......**.........**.*
...............****....****......**......*.**
.**...........**.**...**.**......***.*...*...*
**.***.........**......**.....**..**..**.*
.*****.......................*..*.**.......*
..***....*..........*.......**....**
.........*..*................*..*.**....**
......**..***.....**..........**..*....**.**
.....**........*...*.******......***....****
.....****....*.*.***.******......***.....**
.....*.*.*..*...****.*****
.....*.*.*..*...****.*****
.....****....*.*.***.******......***.....**
.....**........*...*.******......***....****
......**..***.....**..........**..*....**.**
.........*..*................*..*.**....**
..***....*..........*.......**....**
.*****.......................*..*.**.......*
**.***.........**......**.....**..**..**.*
.**...........**.**...**.**......***.*...*...*
...............****....****......**......*.**
................**......**.........**.*
#P 96 -76
.**...............***
**.***...........**.***
.*****.........*..*.*****
..***....*....***.**....**
.........*..**...**.....*
......**..*****.*.....*
.....**...............***.**
.....****....*.**.*....***.*
.....*.*.*..*.*
.....*.*.*..*.*
.....****....*.**.*....***.*
.....**...............***.**
......**..*****.*.....*
.........*..**...**.....*
..***....*....***.**....**
.*****.........*..*.*****
**.***...........**.***
.**...............***
#P 96 -46
....................**
...................****.......*
.**...............**.**......**
**.***.............**.......**.**
.*****.......................*****
..***....*.............*.........*
.........*..***..*.....*.*
......**..******..*...*...*.*..*
.....**.............***..*..*
.....****....*..***.*****....**
.....*.*.*..*.**....*.........*
.....*.*.*..*.**....*.........*
.....****....*..***.*****....**
.....**.............***..*..*
......**..******..*...*...*.*..*
.........*..***..*.....*.*
..***....*.............*.........*
.*****.......................*****
**.***.............**.......**.**
.**...............**.**......**
...................****.......*
....................**
#P 96 -22
........................................**
.......................................***
.**.........................*........**.***
**.***.....................*.**....**.*
.*****...................**....*.**...**..*
..***....*..............*......*.**.***
.........*..***..*......*.......****
......**..******..*...**...*.*.**.*
.....**.............**.**.****...**
.....****....*..***.**.*..*...**.*.**
.....*.*.*..*.**....*..*..*....*.*
.....*.*.*..*.**....*..*..*....*.*
.....****....*..***.**.*..*...**.*.**
.....**.............**.**.****...**
......**..******..*...**...*.*.**.*
.........*..***..*......*.......****
..***....*..............*......*.**.***
.*****...................**....*.**...**..*
**.***.....................*.**....**.*
.**.........................*........**.***
.......................................***
........................................**
#P 96 4
.**.........................*
**.***.....................*.**
.*****...................**....*.**
..***....*..............*......*.*.....**
.........*..***..*......*.......***....**
......**..******..*...**...*.*.***.***.***...*
.....**.............**.**.****....*......**.*
.....****....*..***.**.*..*...*****.....***..*
.....*.*.*..*.**....*..*..*......*...******
.....*.*.*..*.**....*..*..*......*...******
.....****....*..***.**.*..*...*****.....***..*
.....**.............**.**.****....*......**.*
......**..******..*...**...*.*.***.***.***...*
.........*..***..*......*.......***....**
..***....*..............*......*.*.....**
.*****...................**....*.**
**.***.....................*.**
.**.........................*
#P 96 58
................*
.............****.......**..........**
.**.........**.....******..........*
**.***.....**..*****....*.*..*.....*....*
.*****......*.*........*...*.***...**...*
..***....*....**...***....*.****.....**.*
.........*.........****..**...****
......**..**...*......*..****...*.*
.....**.....*....*...*.*.*.*.*.**.*.*.*
.....****...*..*.*..**.**..**...*....*
.....*.*.*.**.*...**.*.....*..*..**
.....*.*.*.**.*...**.*.....*..*..**
.....****...*..*.*..**.**..**...*....*
.....**.....*....*...*.*.*.*.*.**.*.*.*
......**..**...*......*..****...*.*
.........*.........****..**...****
..***....*....**...***....*.****.....**.*
.*****......*.*........*...*.***...**...*
**.***.....**..*****....*.*..*.....*....*
.**.........**.....******..........*
.............****.......**..........**
................*
/programs/demos/life2/lif/AQUA50SH.lif
0,0 → 1,805
#Life 1.05
#D c/2 symmetrical spaceships, hammerhead front end
#D By Hartmut Holzwart.
#N
#P -120 -108
................*
.**...........*...*
**.***.......*
.*****.......*....*
..*****.....*.****
......***.*.**
......***....*
......***.***
..........**
..........**
......***.***
......***....*
......***.*.**
..*****.....*.****
.*****.......*....*
**.***.......*
.**...........*...*
................*
#P -120 -86
.........................................**
........................................****
.......................................**.**
.**...........*........**....*...*......**
**.***.......*.....*..**.....**
.*****.......*.....***.**......****..*
..*****.....*.****.*.*.**.**..*.*.*......**
......***.*.**.......*....**.***...*..*.**.*
......***....*......**.*...*.***....**..**.*
......***.***.........**.....*........***
..........**..........***..............**
..........**..........***..............**
......***.***.........**.....*........***
......***....*......**.*...*.***....**..**.*
......***.*.**.......*....**.***...*..*.**.*
..*****.....*.****.*.*.**.**..*.*.*......**
.*****.......*.....***.**......****..*
**.***.......*.....*..**.....**
.**...........*........**....*...*......**
.......................................**.**
........................................****
.........................................**
#P -120 -62
.........................................**
........................................****
.......................................**.**
.**...........*........**....*...*......**
**.***.......*.....*..**.....**
.*****.......*.....***.**......****..*
..*****.....*.****.*.*.**.**..*.*.*......**
......***.*.**.......*....**.***...*..*.**.****
......***....*......**.*...*.***....**..**.****
......***.***.........**.....*........***...**
..........**..........***..............**
..........**..........***..............**
......***.***.........**.....*........***...**
......***....*......**.*...*.***....**..**.****
......***.*.**.......*....**.***...*..*.**.****
..*****.....*.****.*.*.**.**..*.*.*......**
.*****.......*.....***.**......****..*
**.***.......*.....*..**.....**
.**...........*........**....*...*......**
.......................................**.**
........................................****
.........................................**
#P -120 11
........................***
.
.**...................**.**.*
**.***............*.**...****
.*****.....**...**..***....***
..*****....**...*
......***.*.**.***
......***.*........****************
......***.**..**...****************
....................**************
....................**************
......***.**..**...****************
......***.*........****************
......***.*.**.***
..*****....**...*
.*****.....**...**..***....***
**.***............*.**...****
.**...................**.**.*
.
........................***
#P -120 34
................................**.*
........................***....*..****
...............................*..*.**
.**...................**.**.*..**...**.**
**.***............*.**...****....*
.*****.....**...**..***....***
..*****....**...*
......***.*.**.***
......***.*........***********************
......***.**..**...***********************
....................*********************
....................*********************
......***.**..**...***********************
......***.*........***********************
......***.*.**.***
..*****....**...*
.*****.....**...**..***....***
**.***............*.**...****....*
.**...................**.**.*..**...**.**
...............................*..*.**
........................***....*..****
................................**.*
#P -120 58
......................................**
........................***..........****
....................................**.**
.**...................**.**.*........**
**.***............*.**...****...**........*
.*****.....**...**..***....***.***........*
..*****....**...*
......***.*.**.***
......***.*........**************************
......***.**..**...**************************
....................************************
....................************************
......***.**..**...**************************
......***.*........**************************
......***.*.**.***
..*****....**...*
.*****.....**...**..***....***.***........*
**.***............*.**...****...**........*
.**...................**.**.*........**
....................................**.**
........................***..........****
......................................**
#P -120 90
.....................................*
...................................****
..................................*
.**....................****.....*.*..*.***
**.***............*...*....**.*.*.*.*.*...*
.*****.....**...**.*.**......**.*..**.....*
..*****....**...*...***....**.*.*....*
......***.*.**.**.*.**..............**..*.*
......***.*......*..*..*.******......**.*.*
......***.**..**...***...*****........*.**
.....................*.**....*.........**
.....................*.**....*.........**
......***.**..**...***...*****........*.**
......***.*......*..*..*.******......**.*.*
......***.*.**.**.*.**..............**..*.*
..*****....**...*...***....**.*.*....*
.*****.....**...**.*.**......**.*..**.....*
**.***............*...*....**.*.*.*.*.*...*
.**....................****.....*.*..*.***
..................................*
...................................****
.....................................*
#P -64 -109
.................*.*
................**.**..*
.**...........*****.**...*
**.***.......*...........*.*
.*****.......*..*...*..*..*
..*****.....*.****...*
......***.*.**...*
......***....*
......***.***
..........**
..........**
......***.***
......***....*
......***.*.**...*
..*****.....*.****...*
.*****.......*..*...*..*..*
**.***.......*...........*.*
.**...........*****.**...*
................**.**..*
.................*.*
#P -64 -86
..................................**.....**
.................*.*.............*
................**.**..*........**..*.***
.**...........*****.**...*.....*
**.***.......*...........*.**.****.*.****..*
.*****.......*..*...*..*..***....*.*..*...*
..*****.....*.****...*.......*.*.......*
......***.*.**...*...........**........*.*
......***....*.................*........*
......***.***
..........**
..........**
......***.***
......***....*.................*........*
......***.*.**...*...........**........*.*
..*****.....*.****...*.......*.*.......*
.*****.......*..*...*..*..***....*.*..*...*
**.***.......*...........*.**.****.*.****..*
.**...........*****.**...*.....*
................**.**..*........**..*.***
.................*.*.............*
..................................**.....**
#P -64 -62
..................................**.....*
.................*.*.............*......**
................**.**..*........**..*...*
.**...........*****.**...*.....*...***..*
**.***.......*...........*.**.******...**
.*****.......*..*...*..*..***....*...*...*
..*****.....*.****...*.......*.*......**.*
......***.*.**...*...........**........*
......***....*.................*
......***.***
..........**
..........**
......***.***
......***....*.................*
......***.*.**...*...........**........*
..*****.....*.****...*.......*.*......**.*
.*****.......*..*...*..*..***....*...*...*
**.***.......*...........*.**.******...**
.**...........*****.**...*.....*...***..*
................**.**..*........**..*...*
.................*.*.............*......**
..................................**.....*
#P -64 -21
.................*.*......*
................**.**..*.*.*
.**...........*****.**...*
**.***.......*
.*****.......*..*...*..*
..*****.....*.****...*
......***.*.**...*
......***....*
......***.***
..........**
..........**
......***.***
......***....*
......***.*.**...*
..*****.....*.****...*
.*****.......*..*...*..*
**.***.......*
.**...........*****.**...*
................**.**..*.*.*
.................*.*......*
#P -64 3
.................*.*......*.*
................**.**..*.*..*......*
.**...........*****.**...*......**.*
**.***.......*.............*....*
.*****.......*..*...*..*...*....*
..*****.....*.****...*.....**.*
......***.*.**...*............*..*
......***....*.................*.*
......***.***
..........**
..........**
......***.***
......***....*.................*.*
......***.*.**...*............*..*
..*****.....*.****...*.....**.*
.*****.......*..*...*..*...*....*
**.***.......*.............*....*
.**...........*****.**...*......**.*
................**.**..*.*..*......*
.................*.*......*.*
#P -64 42
..........................*..*
.................*.*.....*...**
................**.**..*.*...*
.**...........*****.**...**.*
**.***.......*...........*...*
.*****.......*..*...*..*.*...**
..*****.....*.****...*....*..*
......***.*.**...*
......***....*
......***.***
..........**
..........**
......***.***
......***....*
......***.*.**...*
..*****.....*.****...*....*..*
.*****.......*..*...*..*.*...**
**.***.......*...........*...*
.**...........*****.**...**.*
................**.**..*.*...*
.................*.*.....*...**
..........................*..*
#P -64 66
..........................*..*
.................*.*.....*...**
................**.**..*.*...*
.**...........*****.**...**.*
**.***.......*...........*...*
.*****.......*..*...*..*.*...**
..*****.....*.****...*....*..*
......***.*.**...*
......***....*
......***.***
..........**
..........**
......***.***
......***....*
......***.*.**...*
..*****.....*.****...*....*..*
.*****.......*..*...*..*.*...**
**.***.......*...........*...*
.**...........*****.**...**.*
................**.**..*.*...*
.................*.*.....*...**
..........................*..*
#P -32 69
.**
*
.**
#P -32 82
.**
*
.**
#P -64 90
..........................*..*
.................*.*.....*...**.....**
................**.**..*.*...*.....**.**
.**...........*****.**...**.*.......****
**.***.......*...........*...*.......**
.*****.......*..*...*..*.*...*
..*****.....*.****...*....*..*.....*
......***.*.**...*............**...**
......***....*..................*****
......***.***....................*
..........**
..........**
......***.***....................*
......***....*..................*****
......***.*.**...*............**...**
..*****.....*.****...*....*..*.....*
.*****.......*..*...*..*.*...*
**.***.......*...........*...*.......**
.**...........*****.**...**.*.......****
................**.**..*.*...*.....**.**
.................*.*.....*...**.....**
..........................*..*
#P -15 -109
.................*.*......*.*
................**.**..*.*..*
.**...........*****.**...*
**.***.......*.............*....*
.*****.......*..*...*..*..*...**.*.**
..*****.....*.****...*.....*..**...****
......***.*.**...*.........*.*...*....*
......***....*.................**
......***.***.............***..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*
......***....*.................**
......***.*.**...*.........*.*...*....*
..*****.....*.****...*.....*..**...****
.*****.......*..*...*..*..*...**.*.**
**.***.......*.............*....*
.**...........*****.**...*
................**.**..*.*..*
.................*.*......*.*
#P -15 -85
.................*.*......*.*
................**.**..*.*..*.........*
.**...........*****.**...*.........****
**.***.......*.............*....*..**
.*****.......*..*...*..*..*...**.*
..*****.....*.****...*.....*..**
......***.*.**...*.........*.*...*
......***....*.................**
......***.***.............***..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*
......***....*.................**
......***.*.**...*.........*.*...*
..*****.....*.****...*.....*..**
.*****.......*..*...*..*..*...**.*
**.***.......*.............*....*..**
.**...........*****.**...*.........****
................**.**..*.*..*.........*
.................*.*......*.*
#P -15 -61
.................*.*......*.*...............*
................**.**..*.*..*.........*.*.**
.**...........*****.**...*.........****.*.*.*
**.***.......*.............*....*..**..*
.*****.......*..*...*..*..*...**.*.....***
..*****.....*.****...*.....*..**.......*
......***.*.**...*.........*.*...*.....*.*
......***....*.................**
......***.***.............***..*......***
..........**..............**...**.....**
..........**..............**...**.....**
......***.***.............***..*......***
......***....*.................**
......***.*.**...*.........*.*...*.....*.*
..*****.....*.****...*.....*..**.......*
.*****.......*..*...*..*..*...**.*.....***
**.***.......*.............*....*..**..*
.**...........*****.**...*.........****.*.*.*
................**.**..*.*..*.........*.*.**
.................*.*......*.*...............*
#P -15 -38
........................................*
.................*.*......*.*........**.*.*
................**.**..*.*..*........*...*
.**...........*****.**...*...........*
**.***.......*.............*....*......*
.*****.......*..*...*..*..*...**.*..***
..*****.....*.****...*.....*..**
......***.*.**...*.........*.*...*.**
......***....*.................**.....*
......***.***.............***..*....***
..........**..............**...**...**
..........**..............**...**...**
......***.***.............***..*....***
......***....*.................**.....*
......***.*.**...*.........*.*...*.**
..*****.....*.****...*.....*..**
.*****.......*..*...*..*..*...**.*..***
**.***.......*.............*....*......*
.**...........*****.**...*...........*
................**.**..*.*..*........*...*
.................*.*......*.*........**.*.*
........................................*
#P -16 -5
.................*.*......*.*
................**.**..*.*..*....*
.**...........*****.**...*.....**.*
**.***.......*.............*...**...*
.*****.......*..*...*..*..*..*...**.*
..*****.....*.****...*.....*..***.**
......***.*.**...*.........*.*....*
......***....*.................**
......***.***.............***..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*
......***....*.................**
......***.*.**...*.........*.*....*
..*****.....*.****...*.....*..***.**
.*****.......*..*...*..*..*..*...**.*
**.***.......*.............*...**...*
.**...........*****.**...*.....**.*
................**.**..*.*..*....*
.................*.*......*.*
#P -16 19
.................*.*......*.*
................**.**..*.*..*....*
.**...........*****.**...*.....**.*
**.***.......*.............*...**...*
.*****.......*..*...*..*..*..*...**.*
..*****.....*.****...*.....*..***.**
......***.*.**...*.........*.*....*
......***....*.................**
......***.***.............***..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*
......***....*.................**
......***.*.**...*.........*.*....*
..*****.....*.****...*.....*..***.**
.*****.......*..*...*..*..*..*...**.*
**.***.......*.............*...**...*
.**...........*****.**...*.....**.*
................**.**..*.*..*....*
.................*.*......*.*
#P 22 23
*
*
**
.***
...*
.
.
...*
.***
**
*
*
#P -16 42
....................................*
.................*.*......*.*....****
................**.**..*.*..*....***
.**...........*****.**...*.....*...*
**.***.......*.............*...***
.*****.......*..*...*..*..*..*.....*
..*****.....*.****...*.....*..*****
......***.*.**...*.........*.*
......***....*.................**
......***.***.............***..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*
......***....*.................**
......***.*.**...*.........*.*
..*****.....*.****...*.....*..*****
.*****.......*..*...*..*..*..*.....*
**.***.......*.............*...***
.**...........*****.**...*.....*...*
................**.**..*.*..*....***
.................*.*......*.*....****
....................................*
#P -16 66
.............................................*
.................*.*......*.*........*....****
................**.**..*.*..*.....****....**
.**...........*****.**...*.....****.*...*...**
**.***.......*.............*...**...*...****.*
.*****.......*..*...*..*..*..*...**.*.*
..*****.....*.****...*.....*..***.*....******
......***.*.**...*.........*.*....*....*.....*
......***....*.................**........***
......***.***.............***..*.........**
..........**..............**...**..........*
..........**..............**...**..........*
......***.***.............***..*.........**
......***....*.................**........***
......***.*.**...*.........*.*....*....*.....*
..*****.....*.****...*.....*..***.*....******
.*****.......*..*...*..*..*..*...**.*.*
**.***.......*.............*...**...*...****.*
.**...........*****.**...*.....****.*...*...**
................**.**..*.*..*.....****....**
.................*.*......*.*........*....****
.............................................*
#P -16 91
.................*.*......*.*
................**.**..*.*..*.....*
.**...........*****.**...*.....****
**.***.......*.............*...**
.*****.......*..*...*..*..*..*...**
..*****.....*.****...*.....*..***.*
......***.*.**...*.........*.*
......***....*.................***
......***.***.............***..*..*
..........**..............**...**
..........**..............**...**
......***.***.............***..*..*
......***....*.................***
......***.*.**...*.........*.*
..*****.....*.****...*.....*..***.*
.*****.......*..*...*..*..*..*...**
**.***.......*.............*...**
.**...........*****.**...*.....****
................**.**..*.*..*.....*
.................*.*......*.*
#P 40 -77
.......................****
......................******
.**..................**.****
**.***.........*.**...**
.*****.......***.**
..*****.....*....*
......***.*.*.**.........**
......***...*.*.*.....**
......***.**..**....****
..........**...*..*.*
..........**...*..*.*
......***.**..**....****
......***...*.*.*.....**
......***.*.*.**.........**
..*****.....*....*
.*****.......***.**
**.***.........*.**...**
.**..................**.****
......................******
.......................****
#P 40 -53
......................*..*
.....................*
.**..................*...*
**.***.........*.**..****
.*****.......***.**
..*****.....*....*.......***
......***.*.*.**.........***
......***...*.*.*.....**.**
......***.**..**....****
..........**...*..*.*
..........**...*..*.*
......***.**..**....****
......***...*.*.*.....**.**
......***.*.*.**.........***
..*****.....*....*.......***
.*****.......***.**
**.***.........*.**..****
.**..................*...*
.....................*
......................*..*
#P 40 -20
......................**....*
.**..................**.***...*.....*
**.***.........*.**...*****.**....*..*
.*****.......***.**....***.**....*...*
..*****.....*....*..............**...*
......***.*.*.**.........**.*.**.*...*
......***...*.*.*.....**.**..*.*.*.***.*
......***.**..**....****....**....***..*
..........**...*..*.*....*
..........**...*..*.*....*
......***.**..**....****....**....***..*
......***...*.*.*.....**.**..*.*.*.***.*
......***.*.*.**.........**.*.**.*...*
..*****.....*....*..............**...*
.*****.......***.**....***.**....*...*
**.***.........*.**...*****.**....*..*
.**..................**.***...*.....*
......................**....*
#P 40 4
......................**....*
.**..................**.***...*.....*
**.***.........*.**...*****.**....*..*
.*****.......***.**....***.**....*...*
..*****.....*....*..............**...*
......***.*.*.**.........**.*.**.*...*
......***...*.*.*.....**.**..*.*.*.***.*
......***.**..**....****....**....***..*
..........**...*..*.*....*
..........**...*..*.*....*
......***.**..**....****....**....***..*
......***...*.*.*.....**.**..*.*.*.***.*
......***.*.*.**.........**.*.**.*...*
..*****.....*....*..............**...*
.*****.......***.**....***.**....*...*
**.***.........*.**...*****.**....*..*
.**..................**.***...*.....*
......................**....*
#P 80 4
..****
.*....*
**
**....*
#P 80 18
**....*
**
.*....*
..****
#P 40 28
......................**....*.............**
.**..................**.***...*.....*....**.***
**.***.........*.**...*****.**....*..*....*****
.*****.......***.**....***.**....*...*.....***
..*****.....*....*..............**...*
......***.*.*.**.........**.*.**.*...*..***
......***...*.*.*.....**.**..*.*.*.***.*.**
......***.**..**....****....**....***
..........**...*..*.*....*
..........**...*..*.*....*
......***.**..**....****....**....***
......***...*.*.*.....**.**..*.*.*.***.*.**
......***.*.*.**.........**.*.**.*...*..***
..*****.....*....*..............**...*
.*****.......***.**....***.**....*...*.....***
**.***.........*.**...*****.**....*..*....*****
.**..................**.***...*.....*....**.***
......................**....*.............**
#P 40 60
......................**....*......**.*
.**..................**.***...*...*..****
**.***.........*.**...*****.**....*..*.**
.*****.......***.**....***.**.....**...**.**
..*****.....*....*.................*
......***.*.*.**.........**.*.***..*
......***...*.*.*.....**.**..*......*
......***.**..**....****....**...*..**
..........**...*..*.*....*........*..*
..........**...*..*.*....*........*..*
......***.**..**....****....**...*..**
......***...*.*.*.....**.**..*......*
......***.*.*.**.........**.*.***..*
..*****.....*....*.................*
.*****.......***.**....***.**.....**...**.**
**.***.........*.**...*****.**....*..*.**
.**..................**.***...*...*..****
......................**....*......**.*
#P 96 -53
..........................**
..................***.***.***
.**...............****.**.**
**.***.........*.*.....*****
.*****.......***.*...*...*
..*****.....*....*...**
......***.*.*.**....*........**
......***...*.*.*........**.....*.***..*
......***.**..**....**.**.*.*...*..**
..........**...*..*..**.*..***.*...**
..........**...*..*..**.*..***.*...**
......***.**..**....**.**.*.*...*..**
......***...*.*.*........**.....*.***..*
......***.*.*.**....*........**
..*****.....*....*...**
.*****.......***.*...*...*
**.***.........*.*.....*****
.**...............****.**.**
..................***.***.***
..........................**
#P 96 -29
..........................**
..................***.***.***
.**...............****.**.**
**.***.........*.*.....*****
.*****.......***.*...*...*
..*****.....*....*...**
......***.*.*.**....*........**
......***...*.*.*........**.....*.***
......***.**..**....**.**.*.*...*..**
..........**...*..*..**.*..***.*...**
..........**...*..*..**.*..***.*...**
......***.**..**....**.**.*.*...*..**
......***...*.*.*........**.....*.***
......***.*.*.**....*........**
..*****.....*....*...**
.*****.......***.*...*...*
**.***.........*.*.....*****
.**...............****.**.**
..................***.***.***
..........................**
#P 135 -28
****
*...*
*
.*..*
.....*
*..*.**
**.....*
.*****
.**
.**
.*****
**.....*
*..*.**
.....*
.*..*
*
*...*
****
#P 96 -5
..........................**.....**
..................***.***.***...**.**
.**...............****.**.**.....****
**.***.........*.*.....*****......**
.*****.......***.*...*...*
..*****.....*....*...**
......***.*.*.**....*........**
......***...*.*.*........**.....*.***
......***.**..**....**.**.*.*...*..**
..........**...*..*..**.*..***.*...**
..........**...*..*..**.*..***.*...**
......***.**..**....**.**.*.*...*..**
......***...*.*.*........**.....*.***
......***.*.*.**....*........**
..*****.....*....*...**
.*****.......***.*...*...*
**.***.........*.*.....*****......**
.**...............****.**.**.....****
..................***.***.***...**.**
..........................**.....**
#P 135 -5
..*
.*
**
.***
..*.**
...*
***.**
***
......*
.**
.**
......*
***
***.**
...*
..*.**
.***
**
.*
..*
#P 96 27
..........................**
..................***.***.***.....*..*
.**...............****.**.**.....*
**.***.........*.*.....*****.....*...*
.*****.......***.*...*...*.......****
..*****.....*....*...**
......***.*.*.**....*........**......**.*
......***...*.*.*........**.....*.**.....*
......***.**..**....**.**.*.*...*.**.**
..........**...*..*..**.*..***.*.....**.*
..........**...*..*..**.*..***.*.....**.*
......***.**..**....**.**.*.*...*.**.**
......***...*.*.*........**.....*.**.....*
......***.*.*.**....*........**......**.*
..*****.....*....*...**
.*****.......***.*...*...*.......****
**.***.........*.*.....*****.....*...*
.**...............****.**.**.....*
..................***.***.***.....*..*
..........................**
/programs/demos/life2/lif/BARGE.lif
0,0 → 1,406
#Life 1.05
#D c/3 spaceship extensible in 2 dimensions
#D Hartmut Holzwart, David Bell
#N
#P -32 -50
...*
..*.*
.**
..*
.*.*
.*
*
*.*
*.*
.****
...*.*
...*.*
..*
..***
*
***
.***.*
...*
...*
...**
#P -29 -29
**
*..*
*.**
.***
.**
...*
.**
..*.*
...*
.
...*
..*.*
.**
...*
.**
.***
*.**
*..*
**
.
**
*..*
*.**
.***
.**
...*
.**
..*.*
...*
.
...*
..*.*
.**
...*
.**
.***
*.**
*..*
**
.
**
*..*
*.**
.***
.**
...*
.**
..*.*
...*
.
...*
..*.*
.**
...*
.**
.***
*.**
*..*
**
#P -32 31
...**
...*
...*
.***.*
***
*
..***
..*
...*.*
...*.*
.****
*.*
*.*
*
.*
.*.*
..*
.**
..*.*
...*
#P -24 -29
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
#P -12 -29
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
#P 0 -29
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
#P 12 -29
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
#P 24 -29
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
.
..**.*.*.*
.*...*..**
*.....*
.*......*.*
...**..**.*
..*...*
..*.***...*
..*
...********
.
...********
..*
..*.***...*
..*...*
...**..**.*
.*......*.*
*.....*
.*...*..**
..**.*.*.*
/programs/demos/life2/lif/BARGE2.lif
0,0 → 1,334
#Life 1.05
#D c/2 spaceship extensible in 2 dimensions
#D Hartmut Holzwart
#N
#P -20 -52
............*.*
...........*..*
..........**
.........*....*
........*****.*
.....**
....*...***
...*...*
...*.....*
...***...*
.........**.*
...***......*
..*
.*...*
*..*
*....*
*****
.
*****
*....*
*..*
.*...*
..*
...***
#P -19 -27
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
.
..***
.*.....*
*...**.*
*...*
*...**.*
.*.....*
..***
#P -20 29
...***
..*
.*...*
*..*
*....*
*****
.
*****
*....*
*..*
.*...*
..*
...***......*
.........**.*
...***...*
...*.....*
...*...*
....*...***
.....**
........*****.*
.........*....*
..........**
...........*..*
............*.*
#P -10 -27
.........*
......**.*
......*
......*
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......*
......*
......**.*
.........*
#P 0 -27
.........*
......**.*
......*
......*
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......*
......*
......**.*
.........*
#P 10 -27
.........*
......**.*
......*
......*
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......*
......*
......**.*
.........*
#P 20 -27
.........*
......**.*
......*
......*
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......**
....*
.**.*
.*
*..*..*
**..**
*.......*
*..*.**.*
*...*
*..*.**.*
*.......*
**..**
*..*..*
.*
.**.*
....*
......*
......*
......**.*
.........*
/programs/demos/life2/lif/BHEPTO.lif
0,0 → 1,14
#Life 1.05
#D B-heptomino
#D A somewhat vigorous, commonly seen bit of
#D fluff, which lends to Life's growth
#D tendencies. This piece is used in PUFTRAIN,
#D RAKE, RAKE2, RAKE3, BHEPTPUF, GUN46, TRACK,
#D GUNSTAR, GUNSTAR2, GUNSTAR3, BI-GUN, and the
#D p46, p54, and p100 shuttles in OSCSPN2 and
#D OSCSPN3, and in many other patterns.
#N
#P -1 -1
.*
***
*.**
/programs/demos/life2/lif/BHEPTPUF.lif
0,0 → 1,225
#Life 1.05
#D B-heptomino puffer (well known)
#D An extension of PUFTRAIN, but at these
#D lengths, the ends need to be hit by
#D rakes. Even with the rakes, there are
#D only a finite number of lengths that
#D don't eventually self-destruct. For a
#D stable dirty puffer, see LINEPUF.
#N
#P 8 -53
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
#P 8 2
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
.
*
**
.**
**
.
.
.
**
.**
**
*
#P 32 -73
*..*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
*..*
....*
*...*
.****
#P 24 -67
.....**
.
...**
..**
.**
..*...*
.......*
.
.**
****
**.**
..**
#P 15 -74
.****
*...*
....*
*..*
#P 11 -69
.***
.
*..*
*.*
#P 8 -59
..**
**.**
****
.**
#P 5 -65
.*
..*
***
#P 0 -60
.*
..*
***
#P 32 56
.****
*...*
....*
*..*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
*..*
#P 24 56
..**
**.**
****
.**
.
.......*
..*...*
.**
..**
...**
.
.....**
#P 15 71
*..*
....*
*...*
.****
#P 11 66
*.*
*..*
.
.***
#P 5 63
***
..*
.*
#P 0 58
***
..*
.*
#P 8 56
.**
****
**.**
..**
/programs/demos/life2/lif/BI-GUN.lif
0,0 → 1,30
#Life 1.05
#D Two-barrelled p46 glider gun
#D found by Bill Gosper.
#N
#P -9 -7
***
..*
..*
.*
.
.*
..*
..*
***
#P 6 -3
***
*
*
.*
.
.*
*
*
***
#P 23 -3
**
.*
#P -25 0
*
**
/programs/demos/life2/lif/BLKRAKE.lif
0,0 → 1,65
#Life 1.05
#D Programmable rake
#D Based on Tim Coe's rakes.
#N
#P -29 9
....**
****.**
.*****
..***
.
.
..****
.*...*
.....*
....*
#P -37 2
.******
*.....*
......*
.....*
#P -42 17
....*
.....*
*....*
.*****
#P -85 -6
.**
****
**.**
..**
#P -109 -4
....**
..**.**
..****
...**
...*
.*...*
*.....*
*.....*
.******
#P -116 9
....**
****.**
******
.****
#P -121 -8
.***
*****
***.**
...**
#P 0 -4
**
**
#P 16 -4
**
**
#P 48 -4
**
**
#P 64 -4
**
**
#P 96 -4
**
**
/programs/demos/life2/lif/BREEDER.lif
0,0 → 1,2523
#Life 1.05
#D Breeder, the classic original
#D by Bill Gosper, early 1970's.
#D
#D This is the first pattern to
#D demonstrate that quadratic
#D growth was possible in the
#D Game of Life. Much better
#D results have been achieved
#D since then (see MAX).
#N
#P -368 -2
***
..*
.*
#P -374 -16
...**
...**
.
.
.
...*
..***
.*...*
*.***.*
.*****
.
.
.
.
.
.
.
.
.
.
.
.
.
....***
...*...*
..*.....*
..**.*.**
.
.
.....*
....*.*
....*.*
.....*
.
.....**
.....**
#P -339 -16
**
**
.
.
.
.
.
.
.
.
.
**
*.*
.**
.
.
.
.
.
.
.
.
...**
..*.*
..**
.
.
.
.
.
.
.
.
.
..**
..**
#P -334 -15
*.*
**
.*
#P -333 15
**
*.*
*
#P -307 -16
**
**
.
.
.
.
.
.
.
.
.
**
*.*
.**
.
.
.
.
.
.
.
.
...**
..*.*
..**
.
.
.
.
.
.
.
.
.
..**
..**
#P -286 -31
*.*
**
.*
#P -285 31
**
*.*
*
#P -275 -16
**
**
.
.
.
.
.
.
.
.
.
**
*.*
.**
.
.
.
.
.
.
.
.
...**
..*.*
..**
.
.
.
.
.
.
.
.
.
..**
..**
#P -238 -47
*.*
**
.*
#P -237 47
**
*.*
*
#P -243 -16
**
**
.
.
.
.
.
.
.
.
.
**
*.*
.**
.
.
.
.
.
.
.
.
...**
..*.*
..**
.
.
.
.
.
.
.
.
.
..**
..**
#P -190 -63
*.*
**
.*
#P -189 63
**
*.*
*
#P -211 -16
**
**
.
.
.
.
.
.
.
.
.
**
*.*
.**
.
.
.
.
.
.
.
.
...**
..*.*
..**
.
.
.
.
.
.
.
.
.
..**
..**
#P -179 -16
**
**
.
.
.
.
.
.....*
.....*.*
.....**
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.......**
.......*.*
.......*
.
.
.
.
.
..**
..**
#P -142 -79
*.*
**
.*
#P -141 79
**
*.*
*
#P -147 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.
.
.
.
.
.
.
.
..**
..**
#P -126 -25
*
*.*
**
#P -124 26
**
*.*
*
#P -94 -95
*.*
**
.*
#P -93 95
**
*.*
*
#P -115 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.
.
.
.
.
.
.
.
..**
..**
#P -78 -41
*
*.*
**
#P -76 42
**
*.*
*
#P -46 -111
*.*
**
.*
#P -45 111
**
*.*
*
#P -83 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.
.
.
.
.
.
.
.
..**
..**
#P -30 -57
*
*.*
**
#P -28 58
**
*.*
*
#P 3 127
**
*.*
*
#P 2 -127
*.*
**
.*
#P -51 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.
.
.
.
.
.
.
.
..**
..**
#P 18 -73
*
*.*
**
#P -4 66
**
*.*
*
#P -19 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
.
.
.
.
.
.
.
.
...**
..*..*
..*..*
...**
.
.
.
.
.
.
.
.
..**
..**
#P 66 -89
*
*.*
**
#P 44 82
**
*.*
*
#P 13 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 15 18
**
**
#P 26 -8
.*
*
***
#P 25 16
.**
**
..*
#P -14 54
**
**
#P -33 -110
**
**
#P -22 -119
*.*
**
.*
#P -1 -110
**
**
#P 20 74
**
*.*
*
#P 68 90
**
*.*
*
#P -31 112
**
**
#P -21 119
**
*.*
*
#P 1 112
**
**
#P 45 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 47 18
**
**
#P 48 23
*
*
..**
#P 74 -24
.*
*
***
#P 73 32
.**
**
..*
#P 77 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 79 18
**
**
.
.
.
**
**
#P 109 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 111 18
**
**
.
.
.
**
**
#P 122 -40
.*
*
***
#P 141 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 143 18
**
**
.
.
.
**
**
#P 173 -16
**
**
.
.
.
.
.
.
.
.
.**
*..*
*..*
.**
#P 175 18
**
**
.
.
.
**
**
#P 205 -16
**
**
#P 207 18
**
**
.
.
.
**
**
#P 215 -14
*
*.*
**
#P 215 8
.**
**
..*
#P 237 -16
**
**
#P 239 18
**
**
.
.
.
**
**
#P 263 -30
*
*.*
**
#P 263 24
.**
**
..*
#P 269 -21
**
**
.
.
.
**
**
#P 271 18
**
**
.
.
.
**
**
#P 287 -38
*
*.*
**
#P 311 -46
*
*.*
**
#P 311 40
.**
**
..*
#P 335 48
.**
**
..*
#P 170 -56
.*
*
***
#P 194 -64
.*
*
***
#P 188 -59
**
**
#P 220 -59
**
**
#P 252 -64
**
**
.
.
.
**
**
#P 139 -80
**
**
#P 107 -80
**
**
#P 75 -80
**
**
#P 31 -115
**
**
.
.
.
**
**
#P -19 -151
**
**
.
.
.
**
**
#P 50 49
**
**
.
.
.
**
**
#P 74 49
**
**
.
.
.
**
**
#P 90 49
**
**
.
.
.
**
**
#P -34 147
**
**
.
.
.
**
**
#P 22 147
**
**
.
.
.
**
**
#P 38 147
**
**
.
.
.
**
**
#P 105 112
**
**
.
.
.
**
**
#P 89 112
**
**
.
.
.
**
**
#P 33 112
**
**
.
.
.
**
**
#P 21 -151
**
**
.
.
.
**
**
#P 37 -151
**
**
.
.
.
**
**
#P 26 -135
*.*
**
.*
#P 87 -115
**
**
.
.
.
**
**
#P 103 -115
**
**
.
.
.
**
**
#P 171 -85
**
**
.
.
.
**
**
#P 195 -85
**
**
.
.
.
**
**
#P 211 -85
**
**
.
.
.
**
**
#P 308 -64
**
**
.
.
.
**
**
#P 324 -64
**
**
.
.
.
**
**
#P 301 -21
**
**
.
.
.
**
**
#P 325 -21
**
**
.
.
.
**
**
#P 341 -21
**
**
.
.
.
**
**
#P 343 18
**
**
.
.
.
**
**
#P 327 18
**
**
.
.
.
**
**
#P 303 18
**
**
.
.
.
**
**
#P 333 62
**
**
.
.
.
**
**
#P 349 62
**
**
.
.
.
**
**
#P 277 62
**
**
.
.
.
**
**
#P 362 -30
.....**
.****.**
.******
..****
.*
*.*
*.*
....**
....*.*
......*
....***
.
.
.
....***
......*
....*.*
....**
*.*
*.*
.*
..****
.******
.****.**
.....**
#P 346 -28
...**
..*.*
.*..*
......*
*
.....*.*.*
..*..*.*..*
...**.....*..*
........*.*.*..*
.....**.*...*..*
.
.....**.*...*..*
........*.*.*..*
...**.....*..*
..*..*.*..*
.....*.*.*
*
......*
.*..*
..*.*
...**
#P 352 -33
.****
******
****.**
....**
#P 352 -6
....**
****.**
******
.****
#P 331 -23
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 327 -30
.***
*****
***.**
...**
#P 327 -9
...**
***.**
*****
.***
 
#P 313 -22
.**
*..*....*
.**.....*
.
.
.
.**.....*
*..*....*
.**
 
#P 294 -20
**
**
.
**
**
#P 287 -27
....**
...*..*
**.*
.....**
*...**
..*.*
.
.
.
.
.
.
.
..*.*
*...**
.....**
**.*
...*..*
....**
#P 364 9
.......**
...****.**
...******
....****
..*
**
.*..*
..***.**
........*
........*
....*..**
.....**
.
.....**
....*..**
........*
........*
..***.**
.*..*
**
..*
....****
...******
...****.**
.......**
#P 350 10
.***
.*
....*
...*
.
......*
.....****
........*
****..*.**
*.*.*.*....**
.**..*.*
.
.**..*.*
*.*.*.*....**
****..*.**
........*
.....****
......*
.
...*
....*
.*
.***
#P 356 6
.****
******
****.**
....**
#P 342 -38
.**
****
**.**
..**
#P 356 33
....**
****.**
******
.****
#P 346 38
..**
**.**
****
.**
#P 326 -2
.*
*
.
.*.*
...*
.*
..*
#P 331 9
.***
*****
***.**
...**
#P 331 30
...**
***.**
*****
.***
#P 333 16
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 315 17
.**
*..*
.**
.
.
.
.**
*..*
.**
#P 296 19
**
**
.
**
**
#P 290 11
..**
...**
.*.*
***
*..*
*.***
.*..*
..**
.
.
.
.
.
..**
.*..*
*.***
*..*
***
.*.*
...**
..**
#P 287 32
.**
**
..*
#P 367 51
...**
.*....*
.......*
.*.....*
..******
.
.
.
.
...***
.*...**
.*.*..**
*.....*
.*****
.
.*****
*.....*
.*.*..**
.*...**
...***
.
.
.
.
..******
.*.....*
.......*
.*....*
...**
#P 355 57
..*..*
.***.**
**...*.**
.*...*
.*.*.*.**
..*****.*.*
...*....**
.........*
.
.........*
...*....**
..*****.*.*
.*.*.*.**
.*...*
**...*.**
.***.**
..*..*
#P 357 51
.******
*.....*
......*
*....*
.*.*
#P 357 75
.*.*
*....*
......*
*.....*
.******
#P 339 60
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 332 54
.*****
*....*
.....*
*...*
..*
#P 332 72
..*
*...*
.....*
*....*
.*****
#P 322 60
..**.*
.****.**
*....**
*.*
.*
.
.*
*.*
*....**
.****.**
..**.*
#P 306 62
**.**
.***
.**
.
.**
.***
**.**
#P 302 63
*
**
.
**
*
#P 292 57
.......*
......*.*
.........*
....*.**
..*.**
***..**
.**..**
.
.
.
.**..**
***..**
..*.**
....*.**
.........*
......*.*
.......*
#P 272 56
.*****
*....*
.....*
*...*
..*
#P 272 70
..*
*...*
.....*
*....*
.*****
#P 347 81
*..*
....*
*...*
.****
#P 343 -74
.****
******
****.**
....**
.
.
.
.
..**
.*..**
***..*
*....*
*****
.
*****
*....*
***..*
.*..**
..**
.
.
.
.
....**
****.**
******
.****
#P 330 -70
...*
....*
..****
**...*.**
.*.*.*.*
.*...***..*
..*.*...*
...*....***
.
.
.
...*....***
..*.*...*
.*...***..*
.*.*.*.*
**...*.**
..****
....*
...*
#P 332 -75
....**
****.**
******
.****
#P 332 -50
.****
******
****.**
....**
#P 314 -66
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 307 -72
...**
***.**
*****
.***
#P 307 -53
.***
*****
***.**
...**
#P 297 -69
..*
..*
.
......*
.****.*
*..*.**
*.*
.*
.
.*
*.*
*..*.**
.****.*
......*
.
..*
..*
#P 281 -65
.*.*
....*
**.*
..*
.
..*
**.*
....*
.*.*
#P 277 -63
*
***
.
***
*
#P 268 -68
.....***
...*..**
..*...*.*
*...*
*...**
*
.*...*
.
.*...*
*
*...**
*...*
..*...*.*
...*..**
.....***
#P 322 -80
..**
**.**
****
.**
#P 247 -70
...**
***.**
*****
.***
#P 236 -94
.....**
.****.**
.******
..****
.
.
..**
.*...*
.*....*
*.....*
.**.***
.
.
.
.**.***
*.....*
.*....*
.*...*
..**
.
.
..****
.******
.****.**
.....**
#P 232 -91
.*
*..*
.
.
.
.*
..*
.
.
.
.
.
..*
.*
.
.
.
*..*
.*
#P 226 -97
.****
******
****.**
....**
#P 226 -70
....**
****.**
******
.****
#P 218 -89
.....***
...*****
..***
.*...*
**..*....**
*......***
.********
.
.********
*......***
**..*....**
.*...*
..***
...*****
.....***
#P 216 -102
.**
****
**.**
..**
#P 218 -94
***
*
.*
#P 218 -72
.*
*
***
#P 201 -73
...**
***.**
*****
.***
#P 201 -94
.***
*****
***.**
...**
#P 201 -88
.**
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
.**
#P 183 -86
.**
*..*
.**
.
.
.
.**
*..*
.**.
#P 156 -93
....*.*
...**..*
..***..*
.***
.*.*..**
**.***.*
.*......*
..*....*
....*****
........**
........**
.
........**
........**
....*****
..*....*
.*......*
**.***.*
.*.*..**
.***
..***..*
...**..*
....*.*
#P 141 -92
.***
*****
***.**
...**
#P 122 -125
.****
******
****.**
....**
.
.
.
.
..**
.*..**
***..*
*....*
*****
.
*****
*....*
***..*
.*..**
..**
.
.
.
.
....**
****.**
******
.****
#P 109 -121
...*
....*
..****
**...*.**
.*.*.*.*
.*...***..*
..*.*...*
...*....***
.
.
.
...*....***
..*.*...*
.*...***..*
.*.*.*.*
**...*.**
..****
....*
...*
#P 111 -126
....**
****.**
******
.****
#P 111 -101
.****
******
****.**
....**
#P 93 -117
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 86 -123
...**
***.**
*****
.***
#P 86 -104
.***
*****
***.**
...**
#P 76 -120
..*
..*
.
......*
.****.*
*..*.**
*.*
.*
.
.*
*.*
*..*.**
.****.*
......*
.
..*
..*
#P 60 -116
.*.*
....*
**.*
..*
.
..*
**.*
....*
.*.*
#P 56 -114
*
***
.
***
*
#P 47 -119
.....***
...*..**
..*...*.*
*...*
*...**
*
.*...*
.
.*...*
*
*...**
*...*
..*...*.*
...*..**
.....***
#P 101 -131
..**
**.**
****
.**
#P 90 -97
*
*.*
**
#P 26 -121
...**
***.**
*****
.***
#P 51 -160
.******
*.....*
......*
*....*
..**
.
..**
.*.**
**.*.*
*.**.**
*...**
..***
.
..***
*...**
*.**.**
**.*.*
.*.**
..**
.
..**
*....*
......*
*.....*
.******
#P 43 -154
..***
*...*
*
*
.*..*
..*.*
.
..*.*
.*..*
*
*
*...*
..***
#P 40 -164
..**
*....*
......*
*.....*
.******
#P 40 -136
.******
*.....*
......*
*....*
..**
#P 27 -153
..*
.*.*
*
.*
.
.
.
.*
*
.*.*
..*
#P 26 -163
..*
*.*
*.*
#P 15 -161
..*
*...*
.....*
*....*
.*****
#P 15 -139
.*****
*....*
.....*
*...*
..*
#P 15 -153
*
.*
.*
*
.
.
.
*
.*
.*
*
#P 8 -155
...**
...**
...**
**.**
.*.*
.***
.
.
.
.***
.*.*
**.**
...**
...**
...**
#P 5 -151
**
**
.
.
.
**
**
#P -7 -152
.**
*..*
.**
.
.
.
.**
*..*
.**
#P -33 -161
.*.*
.*.*
.*.**
...**
*..*
.**
#P -33 -140
.**
*..*
...**
.*.**
.*.*
.*.*
#P -45 -159
..*
*...*
.....*
*....*
.*****
#P -45 -141
.*****
*....*
.....*
*...*
..*
#P 30 -168
*..*
....*
*...*
.****
#P 111 38
......**
....*....*
..........*
....*.....*
.....******
.*
.***
*.**..*
..***..*
.*****..*
.***.*.***
......**.**
.....**.**
.
.
.
.....**.**
......**.**
.***.*.***
.*****..*
..***..*
*.**..*
.***
.*
.....******
....*.....*
..........*
....*....*
......**
#P 104 38
.******
*.....*
......*
*....*
..**
#P 104 62
..**
*....*
......*
*.....*
.******
#P 97 45
......*
.....***
..***
.*...*...*
*..*.*....*
*........*
.********
.
.********
*........*
*..*.*....*
.*...*...*
..***
.....***
......*
#P 97 40
.**
**
..*
#P 97 62
..*
**
.**
#P 79 41
.*****
*....*
.....*
*...*
..*
.
..**
.*..*
.*.*
..*
.
.
.
..*
.*.*
.*..*
..**
.
..*
*...*
.....*
*....*
.*****
#P 62 48
.**
*..*
.**
.
.
.
.**
*..*
.**
#P 43 50
**
**
.
**
**
#P 36 41
....**
...***
.**...*
.*...*
*
***..**
*.*.***
.***.**
...**
.
.
.
.
.
...**
.***.**
*.*.***
***..**
*
.*...*
.**...*
...***
....**
#P 19 43
.*****
*....*
.....*
*...*
..*
#P 18 54
**
**
#P 94 68
*..*
....*
*...*
.****
#P 124 102
.****
******
****.**
....**
.
.
.
.
..**
.*..**
***..*
*....*
*****
.
*****
*....*
***..*
.*..**
..**
.
.
.
.
....**
****.**
******
.****
#P 111 106
...*
....*
..****
**...*.**
.*.*.*.*
.*...***..*
..*.*...*
...*....***
.
.
.
...*....***
..*.*...*
.*...***..*
.*.*.*.*
**...*.**
..****
....*
...*
#P 113 101
....**
****.**
******
.****
#P 113 126
.****
******
****.**
....**
#P 95 110
.**
*..*
*.*
.*
.
.
.
.*
*.*
*..*
.**
#P 88 104
...**
***.**
*****
.***
#P 88 123
.***
*****
***.**
...**
#P 78 107
..*
..*
.
......*
.****.*
*..*.**
*.*
.*
.
.*
*.*
*..*.**
.****.*
......*
.
..*
..*
#P 62 111
.*.*
....*
**.*
..*
.
..*
**.*
....*
.*.*
#P 58 113
*
***
.
***
*
#P 49 108
.....***
...*..**
..*...*.*
*...*
*...**
*
.*...*
.
.*...*
*
*...**
*...*
..*...*.*
...*..**
.....***
#P 28 121
.***
*****
***.**
...**
#P 103 131
.**
****
**.**
..**
#P 92 98
**
*.*
*
#P 51 137
...****
..******
..****.**
......**
.
.
.
...***
.**
.*....**
**.**..*
.......*
....***
.
....***
.......*
**.**..*
.*....**
.**
...***
.
.
.
......**
..****.**
..******
...****
#P 43 143
....*
....**
..*..*
***
.**
..*.*
....*
.
....*
..*.*
.**
***
..*..*
....**
....*
#P 42 136
....**
****.**
******
.****
#P 42 161
.****
******
****.**
....**
#P 28 145
..*
.**
***
.
.
.
.
.
***
.**
..*
#P 17 139
...**
***.**
*****
.***
#P 17 158
.***
*****
***.**
...**
#P 16 146
**
**
#P 16 153
**
**
#P 9 143
...**
..*..*
.....*
**
.
.*.*
..*
.
..*
.*.*
.
**
.....*
..*..*
...**
#P -15 139
...............*
.............**.*
............*...*
........****.*.*
.......*.*...**
.**....*.*
**.*..**.**
.**.***..****
...*...**.*.**
.........**.**
...........*
.
...........*
.........**.**
...*...**.*.**
.**.***..****
**.*..**.**
.**....*.*
.......*.*...**
........****.*.*
............*...*
.............**.*
...............*
#P -21 144
..*
.*.*
*...*
.*..*
.**.**
.
.
.
.**.**
.*..*
*...*
.*.*
..*
#P -43 141
...**
***.**
*****
.***
#P -43 156
.***
*****
***.**
...**
#P 28 164
.**
*
#P 32 166
.**
****
**.**
..**
#P 27 135
**
*.*
*
/programs/demos/life2/lif/BREEDER2.lif
0,0 → 1,359
#Life 1.05
#D Smallest Breeder ever created.
#D This is still larger than MAX, but
#D only fills half a quadrant (1/8 of
#D all space) with gliders.
#D By Dean Hickerson
#N
#P 44 -23
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 36 -9
..**
**.**
****
.**
#P 27 -26
...*
....*
*...*
.****
#P 35 -18
**
*
#P 28 -16
..*
.***
**
....**
#P 19 -18
..*
*.*
.**
#P 14 -13
..*
*.*
.**
#P 46 7
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 38 7
.**
****
**.**
..**
#P 37 18
*
**
#P 30 14
....**
**
.***
..*
#P 29 24
.****
*...*
....*
...*
#P 21 17
.**
*.*
..*
#P 16 12
.**
*.*
..*
#P 22 -11
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 14 -7
**..***
**..*.*
**..***
#P 8 -6
*
*
*
#P 24 2
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 16 6
**..***
**..*.*
**..***
#P 10 5
*
*
*
#P 12 -41
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 4 -42
...*
....*
*...*
.****
#P 7 -33
**
*
#P -5 -25
..**
**.**
****
.**
#P -3 -14
.*****
*....*
.....*
....*
#P -1 12
....*
.....*
*....*
.*****
#P -3 23
.**
****
**.**
..**
#P 14 25
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P 9 33
*
**
#P 6 40
.****
*...*
....*
...*
#P -12 -21
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -18 -17
.*.*
*..**
.*.*
#P -10 12
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -16 16
.*.*
*..**
.*.*
#P -10 -62
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P -15 -54
**
*
#P -18 -47
.****
*...*
....*
...*
#P -26 -63
..**
**.**
****
.**
#P -32 -58
*
.**
**
#P -25 -46
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P -33 -42
.*..***
**..*.*
.*..***
#P -35 -34
.****
*...*
....*
...*
#P -51 -49
...**
***.**
*****
.***
#P -5 46
.****
*...*
....*
...*
#P -7 54
***..**
..*.**
.*....*
#P -5 60
.****
*...*
....*
...*
#P -22 61
...*
....*
*...*
.****
#P -29 56
***
..*
.*
#P -13 46
..**
**.**
****
.**
#P -20 38
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -25 40
.*
..*
*..*
..*
.*
#P -33 32
...*
....*
*...*
.****
#P -47 47
.***
*****
***.**
...**
/programs/demos/life2/lif/BREEDER3.lif
0,0 → 1,358
#Life 1.05
#D Backward-shooting Breeder.
#D Just a slight modification
#D of Breeder2.
#D By Dean Hickerson
#N
#P 43 -24
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 35 -10
..**
**.**
****
.**
#P 34 -19
**
*
#P 27 -17
..*
.***
**
....**
#P 26 -27
...*
....*
*...*
.****
#P 18 -19
..*
*.*
.**
#P 13 -14
..*
*.*
.**
#P 45 6
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 37 6
.**
****
**.**
..**
#P 36 17
*
**
#P 29 13
....**
**
.***
..*
#P 28 23
.****
*...*
....*
...*
#P 20 16
.**
*.*
..*
#P 15 11
.**
*.*
..*
#P 21 -12
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 13 -8
**..***
**..*.*
**..***
#P 7 -7
*
*
*
#P 23 1
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 15 5
**..***
**..*.*
**..***
#P 9 4
*
*
*
#P 11 -42
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 3 -43
...*
....*
*...*
.****
#P 6 -34
**
*
#P -6 -26
..**
**.**
****
.**
#P -4 -15
.*****
*....*
.....*
....*
#P -2 11
....*
.....*
*....*
.*****
#P -4 22
.**
****
**.**
..**
#P 13 24
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P 8 32
*
**
#P 5 39
.****
*...*
....*
...*
#P -13 -22
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -19 -18
.*.*
*..**
.*.*
#P -11 11
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -17 15
.*.*
*..**
.*.*
#P -8 -63
...*
....*
*...*
.****
#P -10 -56
.*....*
..*.**
***..**
#P -8 -49
...*
....*
*...*
.****
#P -16 -49
.**
****
**.**
..**
#P -25 -64
.****
*...*
....*
...*
#P -32 -58
.*
..*
***
#P -23 -46
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -28 -44
.*
..*
*..*
..*
.*
#P -50 -50
...**
***.**
*****
.***
#P -36 -35
.****
*...*
....*
...*
#P -9 45
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P -14 53
*
**
#P -17 44
...*
....*
*...*
.****
#P -25 60
.**
****
**.**
..**
#P -31 56
**
.**
*
#P -24 36
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P -32 40
.*..***
**..*.*
.*..***
#P -34 31
...*
....*
*...*
.****
#P -50 46
.***
*****
***.**
...**
/programs/demos/life2/lif/BREEDER4.lif
0,0 → 1,1984
#Life 1.05
#D Pufferless breeder (Standing breeder)
#D A shotgun sends an 8 spaceship salvo eastward every 360 gens.
#D Call the spaceships, from top to bottom, A, B, C, D, D', C', B',
#D and A'. D and D' are MWSSs; the others are HWSSs. (The shotgun's
#D output is approximately glide symmetric.) Every 360 gens, two
#D guns and a kickback reaction are used to create a northeastward
#D glider in front of A and B. A and B redirect the glider
#D southeastward. Then C' and D' duplicate it, producing 2 SEward
#D gliders and a block. The second glider escapes, the block is
#D deleted by D, and the first glider is turned NEward by A' and B'.
#D It is duplicated by C and D, again producing an escaping glider, a
#D block that gets deleted by the next D', and another NEward glider.
#D The latter interacts with the next A and B in the same way as the
#D original glider did, 596 gens later and 118 units farther east.
#D
#D Thus, in gen t, there are approximately t/360 gliders zigzagging
#D east, each producing 2 more gliders every 596 gens. So the
#D population is growing by about 5 * 2/596 * t/360 = t/21456
#D cells per generation, and the total population is about t^2/42912.
#D The gliders occupy a nonconvex quadrilateral with vertices at
#D (approximately) (0,0), (t/4,t/4), (59t/298,0), and (t/4,-t/4).
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 10/12/92
#N
#P 161 89
.*
**
#P 153 86
.*
*.*
**.*
**.**
**.*
*.*
.*
#P 142 89
*.*
**
.*
#P 133 84
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 127 87
**
*
#P 140 99
*
**
#P 157 110
**
.*
#P 146 108
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 132 110
..**
.*.*
*
*..*
*
.*.*
..**
#P 123 112
*
**
#P 130 104
**
.**
..*
#P 133 99
*
*
*
#P 127 101
*
*
*
#P 121 97
*.**
**.*
#P 115 89
.**
..*
.
.
..*
*.**
*
*
*..*
.**
#P 149 77
**
.*
#P 133 75
....*
..****
.*.*.**
*..*.***
.*.*.**
..****
....*
#P 125 77
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 115 75
**
.*
.*.*
..**
#P 143 54
.*
**
#P 132 51
...*
..**
.**
***
.**
..**
...*
#P 114 49
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 109 52
**
*
#P 126 65
*
**
#P 118 65
***
#P 116 59
*
*
*
#P 112 63
***
#P 107 67
**.*
*.**
#P 105 84
**
*.*
..*
..**
#P 95 79
**
*.*
.***
..***
.***
*.*
**
#P 86 82
**
*
#P 84 68
.**
*..*
...*
...*
**.*
.*
.
.
.*
.**
#P 51 54
.*
**
#P 36 51
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 26 49
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 17 51
**
*
#P 5 54
.**
.*.*
..***
...**
**
***
.
.
..*
.**
#P 11 62
*.**
**.*
#P 30 64
*
**
#P 47 75
**
.*
#P 33 73
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 22 75
**
*.*
...*
*..*
...*
*.*
**
#P 13 77
*
**
#P 7 84
....**
**.*..*.**
*....*..*
....*
...*
#P 15 90
**
.*
.*.*
..**
#P 25 92
...*
..****
.**.****
***.**...*
.**.**...*
..*****...*
...*...***
#P 38 94
**
*..*
....*
....*
....*
*..*
**
#P 49 97
.*
**
#P 24 102
..*
**
.**
#P 29 106
*
**
#P 16 106
..***
......**
**.*...*
.....*.*
#P 24 112
*
**
#P 10 104
*.**
**.*
#P 12 119
*
**
#P 23 117
..*....**
.*.*.**..*
*...*.***
*...*.**
*...**
.*.*
..*
#P 35 115
**
*.*
.***
..***
.***
*.*
**
#P 46 117
**
.*
#P -1 93
*
***
...*
..**
#P 1 99
..***
..***
.*...*
.
**...**
#P -1 117
..***
.*...*
*.....*
*.....*
#P 1 127
*
**
#P -20 85
....**
**.*..*.**
*....*..*
....*
...*
#P -12 91
**
.*
*
**
#P -10 110
*
**
#P -23 97
**
*
#P -25 105
*.....*
*.....*
.*...*
..***
#P -23 118
...*
..***
..***
.
**...**
*.....*
#P -20 131
.*
**
#P -32 100
**
.*
#P -34 110
**...**
.
*.....*
.
.**.**
...*
#P -36 118
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P -34 134
*
**
#P -42 52
...*
.***
*
**
#P -47 59
...*
..***
..***
.
**...**
*.....*
#P -49 71
..**
...*
***
*
#P -43 106
.*
.*
*.*
#P -45 117
*
**
#P -47 98
**
.*
*
**
#P -55 92
....**
**.*..*.**
*....*..*
....*
...*
#P -58 104
**
*
#P -60 114
...*
..***
.*****
**...**
.*****
.*****
..*..*
..*...*
......*
...**.*
.....*
#P -58 127
**...**
*.....*
.
.*...*
..***
#P -55 138
.*
**
#P -66 104
**
.*
#P -69 113
**...**
*.*.*.*
.*****
..***
...*
#P -71 125
..***
.**.**
.**.**
.*****
**...**
#P -69 138
*
**
#P -66 89
.**
**
..*
#P -70 99
.**
*.*
..*
#P -77 91
..**
.***
*.*..*..*
**..**..**
....**
#P -77 98
**
*
.*
**
#P -79 117
*
**
#P -89 94
***
..*
.*
#P -90 100
...*
.***
*
**
#P -95 105
..***
..***
.*...*
*.....*
.*...*
..***
#P -93 122
...*
..***
.*****
*.*.*.*
**...**
#P -90 134
.*
**
#P -147 139
**
*
#P -137 137
*.*
*...*
....*
.....*
....*
*...*
*.*
#P -125 139
...**
.*..*
*
*
*
.*..*
...**
#P -113 141
.*
**
#P -121 133
.**
**
*
#P -117 131
***
#P -123 129
***
#P -130 128
*
**
#P -129 122
..*
*.*
.**
#P -113 126
**.*
*.**
#P -108 118
..**
.*.*
***
**
...**
..***
.
.
..*
..**
#P -151 118
*
**
#P -141 115
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P -131 113
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -117 115
**
.*
#P -139 106
**
*
#P -132 104
....**
....*
.**
***
.**
....*
....**
#P -123 107
.**
*.*
..*
#P -117 106
**
..*
...*
...*
...*
..*
**
#P -107 104
..**
..*
*.*
**
#P -113 100
.**
**
*
#P -108 97
*
*
*
#P -114 95
*
*
*
#P -118 92
*.*
.**
.*
#P -122 95
*
**
#P -105 93
**.*
*.**
#P -99 85
.**
*..*
*
*
*.**
..*
.
.
..*
.**
#P -142 86
*
**
#P -135 83
....**
...***
*.**
*..*
*.**
...***
....**
#P -119 81
*
**
.**
.***
.**
**
*
#P -110 79
..**
..*
*.*
**
#P -125 84
*
.**
**
#P -149 74
**
*
#P -143 72
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -126 74
**
*..*
....*
....*
....*
*..*
**
#P -115 77
.*
**
#P -132 74
.**
*.*
..*
#P -124 67
***
..*
.*
#P -127 61
*.*
.**
.*
#P -132 63
*
**
#P -115 61
**.*
*.**
#P -109 53
.**
*..*
*
*
*.**
..*
.
.
..*
.**
#P -152 54
*
**
#P -146 51
....*
..*.*
**
**
**
..*.*
....*
#P -129 49
**
.*
...**
...***
...**
.*
**
#P -120 47
..**
..*
*.*
**
#P -134 53
*
.**
**
#P -155 -55
**
*
#P -146 -57
*
**
.**
.***
.**
**
*
#P -129 -55
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -123 -50
**
*.*
..*
..**
#P -113 -62
...*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P -118 -62
*.**
**.*
#P -135 -64
**
*
#P -127 -65
*
*
*
#P -125 -69
***
#P -121 -67
*
*
*
#P -152 -75
*
**
#P -144 -78
**
..*
...*
...*
...*
..*
**
#P -127 -80
*
*.*
...**
...**
...**
*.*
*
#P -118 -77
.*
**
#P -143 -87
**
*
#P -136 -89
....*
.****
****
*..*
****
.****
....*
#P -120 -87
**
*.*
.***
..***
.***
*.*
**
#P -111 -82
**
*.*
..*
..**
#P -126 -87
.*
.**
*.*
#P -100 -94
.**
.*
.
.*..*
*..*
*.*
.*
.
.**
.*
#P -106 -94
*.**
**.*
#P -109 -99
*
*
*
#P -114 -102
*
**
.**
#P -118 -97
...*
...*
.***
**
.**
*
#P -123 -96
**
*
#P -140 -107
*
**
#P -134 -110
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -117 -112
**
*.*
...*
*..*
...*
*.*
**
#P -108 -107
**
*.*
..*
..**
#P -123 -109
.*
..*
***
#P -152 -119
**
*
#P -145 -121
....**
....*
.**
***
.**
....*
....**
#P -130 -119
**
..*
...*
...*
...*
..*
**
#P -118 -116
.*
**
#P -136 -118
.**
*.*
..*
#P -128 -125
***
..*
.*
#P -131 -129
**
*
#P -124 -129
***
#P -122 -135
*
**
.**
#P -118 -131
***
#P -114 -127
*.**
**.*
#P -108 -127
.**
.**
.**
..*
.*.*
**.*
.
.
..*
.**
#P -148 -140
*
**
#P -138 -143
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P -128 -145
....*
..*.*
**
**
**
..*.*
....*
#P -114 -142
**
.*
#P -91 -137
**
.*
#P -94 -127
**...**
.
*.....*
.
.**.**
...*
#P -96 -115
..***
.*...*
.
*.....*
**...**
#P -91 -105
**
*
.***
...*
#P -80 -120
**
*
#P -78 -103
**
.*
*
**
#P -78 -97
....**
**....****
*...**.***
....*
#P -70 -141
**
*
#P -72 -131
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P -70 -121
...*
.**.**
.
*.....*
.
**...**
#P -67 -107
.*
**
#P -69 -102
.*
..*
***
#P -56 -141
**
.*
#P -59 -132
**...**
*.*.*.*
.*****
..***
...*
#P -61 -116
..***
.*...*
*.....*
.*...*
..***
..***
#P -59 -107
*
**
#P -79 -59
*.*
.**
.*
#P -56 -97
.....*..*
**..**...*
*........*
.....****
#P -48 -103
**
*
.*
**
#P -46 -120
**
*
#P -46 -112
***
#P -40 -110
*
*
*
#P -44 -106
***
#P -49 -75
*
***
...*
..**
#P -47 -65
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -42 -56
**
*
.***
...*
#P -24 -63
*.*
**
.*
#P -35 -137
**
*
#P -37 -132
..***
..***
.*...*
*.....*
.*...*
..***
#P -35 -113
**...**
.*****
.**.**
.**.**
..***
#P -33 -103
.*
**
#P -21 -130
**
.*
#P -24 -124
..***
..***
.*...*
.
**...**
#P -26 -107
*.....*
**...**
.
..***
..***
...*
#P -28 -98
..**
...*
***
*
#P -20 -95
*.*
**
.*
#P -14 -93
**
*
.*
**
#P -22 -87
.****
*........*
*...**..**
.*..*
#P -12 -110
**
*
#P -1 -127
**
*
#P -3 -121
...*
.**.**
.
*.....*
.
**...**
#P -1 -104
**...**
*.....*
.
.*...*
..***
#P -3 -95
..**
...*
***
*
#P 10 -119
**
*
#P 8 -104
**.*
*.**
#P 14 -108
*
.**
.***
...*
#P 19 -108
*..*
***
#P 13 -92
..**
.*.*
.*
**
#P 5 -86
.....*..*
**..**...*
*........*
.....****
#P 6 -63
.**
.**
.**
.*
*.*
*.**
#P 7 -55
*
**
#P 12 -63
**.*
*.**
#P 22 -122
*
*.*
.*.*
.*..*
.*.*..**
*.*...**
*.....**
#P 33 -120
*
**
.**
.***
.**
**
*
#P 44 -117
.*
**
#P 22 -112
**
.*
#P 27 -106
**
*
#P 23 -103
.*
**
*.*
#P 25 -97
.*....**
*.*..*..*
**.*.***
**.**
**.*
*.*
.*
#P 36 -99
**
*.*
...*
*..*
...*
*.*
**
#P 47 -97
**
.*
#P 14 -78
**
*
#P 24 -81
*
****
.****
.*..*
.****
****
*
#P 33 -79
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P 48 -76
.*
**
#P 31 -65
**
*
#P 18 -52
*
**
#P 29 -55
..*....**
.*.*.**..*
*...*.***
*...*.**
*...**
.*.*
..*
#P 41 -57
**
*.*
.***
..***
.***
*.*
**
#P 52 -55
**
.*
#P 82 -77
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
...*
#P 85 -83
*
**
#P 96 -85
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P 104 -87
..**
..*
*.*
**
#P 114 -98
.*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P 120 -98
**.*
*.**
#P 106 -68
*.**
**.*
#P 111 -63
***
#P 115 -61
*
*
*
#P 117 -65
***
#P 125 -66
**
*
#P 122 -113
**
*
#P 127 -116
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 145 -114
..**
.*.*
*
*..*
*
.*.*
..**
#P 156 -111
.*
**
#P 129 -106
..*
.**
**
#P 126 -103
*
*
*
#P 132 -101
*
*
*
#P 139 -100
**
*
#P 138 -93
.**
**
..*
#P 126 -88
*
**
#P 135 -90
**
*.*
...*
*..*
...*
*.*
**
#P 146 -92
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 158 -94
..**
..*
*.*
**
#P 114 -78
..**
.*.*
.*
**
#P 122 -83
...**
.*..*
*
*
*
.*..*
...**
#P 138 -81
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 146 -83
..**
..*
*.*
**
#P 130 -79
*
*.*
**
#P 108 -53
*
**
#P 117 -55
**
***
..**.*
..*..*
..**.*
***
**
#P 127 -57
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 142 -55
**
.*
#P 156 -86
...*
.***
*
**
#P 151 -81
...*
..***
.*...*
*.***.*
.*****
#P 149 -63
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P 152 -52
*
**
#P 154 -68
*
.**
**
#P 165 -69
**
.*
#P 167 -52
**
.*
*
**
#P 175 -90
**
*
#P 173 -81
**.*.**
*.....*
.*...*
..***
#P 175 -64
.*****
*.***.*
.*...*
..***
...*
#P 178 -56
.*
**
#P 182 -58
.**
.*
.
.
*.**
*.*
.*
.**
.**
.**
#P 173 -71
.*
*
***
#P 194 -38
**
*
#P 198 -58
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
...*
#P 208 -90
**
.*
#P 205 -80
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P 203 -70
..***
..***
.*...*
.
**...**
#P 205 -56
*
**
#P 216 -52
**
*
.*
**
#P 218 -69
**
*
#P 229 -86
**
*
#P 227 -75
**...**
.
.*...*
..***
..***
#P 229 -65
...*
..***
..***
.
**...**
*.....*
#P 231 -52
.*
**
#P -15 -13
..*
.
*.***
..**.*
..*.**
...***.*
.
.....*
#P -29 -19
......**
...*
..*.*..**
*.*.***..*
*..******
...**.**
..******..*
.*..***.*.*
..**..*.*
.......*
...**
#P -14 8
...***
...***
...***
***
***
***
#P -28 11
.*.**.**
**.**..**
*
.......**
**.....**
**
........*
**..**.**
.**.**.*
#P -51 -24
..**
.
*...*
*....*
..*.*.*
...*.*.*
....*....*
.....*...*
.
......**
#P -64 -29
......**
.......*
..***..**
***.*...*
*....*.**
....*.*
..**.*....*
..*...*.***
..**..***
...*
...**
#P -48 17
....*
..*.**
.*
....*
**.*
.*
#P -62 20
.*.*..*
.***.*.**
*......*
.*.....**
.
**.....*
.*......*
**.*.***
..*..*.*
#P -108 -37
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P -121 -42
******.**
******.**
.......**
**.....**
**.....**
**.....**
**
**.******
**.******
#P -104 31
....*
..*.**
.*
....*
**.*
.*
#P -118 34
.*.*..*
.***.*.**
*......*
.*.....**
.
**.....*
.*......*
**.*.***
..*..*.*
#P -106 -45
.....*
......*
*.....*
.******
#P 155 49
....**
.**..*
.**..*
......*
.*.****
**.*
....***
.....*
.....**
.......*
......*
......*
..***
.
..***
......*
......*
.......*
.....**
.....*
....***
**.*
.*.****
......*
.**..*
.**..*
....**
#P 165 35
....**
.**..*
.**..*
......*
.*.****
**.*
....***
.....*
.....**
.......*
......*
......*
..***
.
..***
......*
......*
.......*
.....**
.....*
....***
**.*
.*.****
......*
.**..*
.**..*
....**
#P 175 26
....**
.**..*
.**..*
......*
.*.****
**.*
....***
.....*
.....**
.......*
......*
......*
..***
.
..***
......*
......*
.......*
.....**
.....*
....***
**.*
.*.****
......*
.**..*
.**..*
....**
#P 185 12
...*
.*..*
.
*...**
.*****
..*
.******
.*...*
.*...*
.....*
...*.**
...*..*
..*****
..**.*
...**
.
...**
..**.*
..*****
...*..*
...*.**
.....*
.*...*
.*...*
.******
..*
.*****
*...**
.
.*..*
...*
#P 194 -1
....**
.***.**
.**..**
.*.*..*
**.****
**.*
....***
.
.....**
.....*.*
......**
...*.*
...*
.
...*
...*.*
......**
.....*.*
.....**
.
....***
**.*
**.****
.*.*..*
.**..**
.***.**
....**
#P 205 -15
...*
.*..*
.
*...**
.*****
..*
.******
.*...*
.*...*
.....*
...*.**
...*..*
..*****
..**.*
...**
.
...**
..**.*
..*****
...*..*
...*.**
.....*
.*...*
.*...*
.******
..*
.*****
*...**
.
.*..*
...*
#P 214 -23
....**
.***.**
.**..**
.*.*..*
**.****
**.*
....***
.
.....**
.....*.*
......**
...*.*
...*
.
...*
...*.*
......**
.....*.*
.....**
.
....***
**.*
**.****
.*.*..*
.**..**
.***.**
....**
#P 225 -38
..***
.****
*.*.**
.*
...*..*
..*..*
.**..*
..***
...*.*
...***
......*
...*..*
..**.*
....*
.
....*
..**.*
...*..*
......*
...***
...*.*
..***
.**..*
..*..*
...*..*
.*
*.*.**
.****
..***
/programs/demos/life2/lif/BREEDER5.lif
0,0 → 1,1137
#Life 1.05
#D Synchronous P32 breeder based on Tim Coe's P16 engine:
#D Breeder makes new puffer every 32 generations;
#D Puffers make new blinker every 32 generations.
#N
#P 194 187
....****
...*...*
.......*
......*
...**
.
.**...**
**.***.**
.*******
...****
#P 188 190
...*
..*.*
.*..*
**..*
.*.*
.**
...*
#P 190 200
.******
*.....*
......*
*....*
..**
#P 183 184
....**
****.**
******
.****
#P 180 189
....*
.*..*
****.*
*....**
*...*
#P 186 145
.**
****
**.**
..**
#P 183 151
.**
********
*......*
.......*
.*....*
...**
#P 179 158
.****
******
****.**
....**
#P 173 143
.*****
*....*
.....*
*...*
..*
#P 166 147
**..*
*.**.*
***
.*....*
..**
...***
.....*
#P 173 149
...*.*
...*.*
..**
***
*..*
.**
#P 170 161
..**
*....*
......*
*.....*
.******
#P 175 169
..****
.******
*.***.**
**...**
#P 177 174
**
...*
....*
*...*
.****
#P 165 170
.**
*..*
*..*
.*
...***
....**
#P 165 178
.***
*****
***.**
...**
#P 164 189
**
**
#P 152 180
..**
*....*
......*
*.....*
.******
#P 152 171
....*
.
.*.....**
***.....*
*...*
*..**
.*.*
.***
#P 156 169
***
...*
#P 160 158
*.*
.**
.*
#P 161 139
.****
******
****.**
....**
#P 153 143
.***
*****
***.**
...**
#P 159 150
**
**
#P 148 189
**
**
#P 144 176
..*
*...*
.....*
*....*
.*****
#P 145 164
.*
*
***
#P 121 172
.*
*
***
#P 97 180
.*
*
***
#P 73 188
.*
*
***
#P 132 189
**
**
#P 116 189
**
**
#P 100 189
**
**
#P 84 189
**
**
#P 68 189
**
**
#P 102 158
.****
*...*
....*
...*
**
#P 99 164
.**...**
**.***.**
.*******
...****
#P 93 161
...*
..*.*
.*..*
**..*
.*.*
.**
...*
#P 95 171
.******
*.....*
......*
*....*
..**
#P 90 155
...**
***.**
*****
.***
#P 78 160
..***.**
.*..*****
*...*..*.*
....*...*.*
.....*....*
.....**..*
..**
....*.*
.....*
#P 74 172
.*
..*
***
#P 66 180
.*
..*
***
#P 77 152
.******
*.....*
......*
*....*
..**
#P 69 156
.*****
*....*
.....*
*...*
.*
.
**
#P 90 133
....******
****.....*
**.*.....*
**..*...*
......*
......**
.....****
.....**.**
.......**
#P 70 132
......*
.....*.*.**
.......*...*
....*......*
...**.**...*
....*.....*
..*....***
*......*
...*
.*
#P 82 142
.*****
*....*
.....*
*...*
..*
#P 70 144
.****
******
****.**
....**
#P 62 140
.***
*****
***.**
...**
#P 65 136
**
**
#P 68 126
**
.**
*
#P 88 125
.****
******
****.**
....**
#P 79 120
..**
*....*
......*
*.....*
.******
#P 82 114
.*...***
**..*****
.*.****.**
.......**
#P 86 108
*..*
....*
*...*
.****
#P 94 108
....**
****.**
******
.****
#P 99 95
....**
..**.**
..****
...**
...*
.*...*
*.....*
*.....*
.******
#P 89 98
....**
....**
..*
**
.***
..*.*
#P 86 90
..**
*....*
......*
*.....*
.******
#P 84 54
...****
..*...*
......*
.....*
..**
.
**...**
#P 84 61
*.***.**
.******
..****
#P 76 78
.******
*.....*
*.....*
.*...*
...*
...**
..****
..**.**
....**
#P 79 67
.******
*.....*
......*
*....*
..**
#P 71 70
.****
******
****.**
....**
#P 74 97
**
**
#P 74 105
.***
*****
***.**
...**
#P 72 113
..**
**.*
***
..*
**
#P 63 118
..*
*.*
.**
#P 65 113
**
**
#P 60 110
.**
.
*
.*
#P 61 101
..**
*....*
......*
*.....*
.******
#P 53 105
..*
*...*
.....*
*....*
.*****
#P 66 78
..*.*
.***
**
..*
....**
....**
#P 65 87
.*****
*....*
.....*
*...*
..*
#P 53 77
....**
.....**
.....***
.....***
.*..**.***
.****
*...*
*..*
.***
..*
#P 53 89
.****
******
****.**
....**
#P 45 85
.***
*****
***.**
...**
#P 74 51
...**
***.**
*****
.***
#P 67 54
.*
*
*..***
.**.**.....**
.*...**...***
..**.*..*
....****..*
.......*..*
........**
#P 50 119
**
*.*
*
#P 26 111
**
*.*
*
#P 2 103
**
*.*
*
#P 61 65
.*
..*
***
#P 46 72
..*
**
.**
#P 22 80
..*
**
.**
#P -2 88
..*
**
.**
#P 57 31
.......**
...**.....*
..***......*
.**........*
*...********
.******
..*
#P 64 39
..**
**.**
****
.**
#P 61 48
.******
*.....*
......*
*....*
..**
#P 60 58
**
**
#P 53 52
.*****
*....*
.....*
*...*
..*
#P 51 41
*
#P 51 40
..*
....*
.....*
*....*
.*****
#P 55 9
.****
*...*
....*
...*
**
#P 49 14
.***
*...**...**
.*..*.***.**
..*********
......****
#P 57 26
....**
****.**
******
.****
#P 48 22
.******
*.....*
......*
*....*
..**
#P 43 6
...**
***.**
*****
.***
#P 40 12
..*
.***
*..**
.***
.**
#P 41 32
....*
...*.**
.*...*...*
*..**.*..*
....*....*
*****...*
..*.*.**
....*
#P 39 45
....**
****.**
******
.****
#P 33 36
**
**
*
#P 31 41
...**
***.**
*****
.***
#P 36 25
.*
.**
*.*
#P 32 18
.*
..*
***
#P 33 13
**
**
#P 30 3
.******
*.....*
......*
*....*
..**
#P 22 7
.*****
*....*
.....*
*...*
..*
#P 15 11
*..*
....*
*...*
.****
#P 22 26
..**
*....*
......*
*.....*
.******
#P 17 19
***
*
.*
#P 58 97
**
**
#P 42 97
**
**
#P 26 97
**
**
#P 10 97
**
**
#P -6 97
**
**
#P 22 53
....**
****.**
.*****
..***
#P 23 59
.****
*...*
....*
*..*
#P 16 46
.******
*.....*
......*
*....*
..**
#P 16 52
..*.*
.*..*
.**
*
.**
.**.**
#P 11 62
...**
***.**
*****
.***
#P 0 52
....**
.....**
..**
...**...***
*.......**
.**.*..**
..*.*..*
...*.*
#P -2 65
.******
*.....*
......*
*....*
..**
#P -10 61
.*****
*....*
.....*
*...*
..*
#P -9 56
.**
*
.**
#P 15 28
.**
****
**.**
..**
#P 8 33
..*
.******
*...********
.**........*
..***......*
...**.....*
.......**
#P 8 41
.****
******
****.**
....**
#P -1 32
.***
.*..*
*...*
*...*
.*.*
#P 2 26
.*****
*....*
.....*
*...*
..*
#P -5 45
.**
*.*
..*
#P -9 39
*.*
.**
.*
#P -8 33
**
**
#P -24 38
.*
**
*.*
#P -18 26
.***
*****
***.**
...**
#P -10 22
.****
******
****.**
....**
#P -1 16
.**
*.*
.*
#P -17 16
.**
*.*
.*
#P -33 16
.**
*.*
.*
#P -49 16
.**
*.*
.*
#P -65 16
.**
*.*
.*
#P -81 16
.**
*.*
.*
#P -48 30
.*
**
*.*
#P -72 22
.*
**
*.*
#P 3 3
.****
*...*
....*
*..*
#P 2 -3
....**
****.**
.*****
..***
#P -7 -4
..*
...*..**
**.*
*
*
..*.**
...*
#P 10 -27
....**
..**.**
..****
...**
...*
.*...*
*.....*
*.....*
.******
#P 5 -14
....**
****.**
******
.****
#P -1 -32
..*
*...*
.....*
*....*
.*****
#P 4 -24
**
**
#P 0 -22
..*
**
.***
..*.*
#P -7 -27
.**
*...*
*
.**.**
..**.*
...*.*
....**
#P -13 -33
....**
****.**
******
.****
#P -21 -29
...**
***.**
*****
.***
#P -14 -23
**
**
#P -13 -16
*
.**
**
#P -4 -10
.******
*.....*
......*
*....*
..**
#P -9 6
...**
***.**
*****
.***
#P -21 -5
....*
..*..*
.....*
......*
..*...*.*
.....*...*
.****...*
*
*..*
.***
#P -22 9
.******
*.....*
......*
*....*
..**
#P -30 5
.*****
*....*
.....*
*...*
..*
#P -27 -9
*
*.*
**
#P -51 -1
*
*.*
**
#P -75 7
*
*.*
**
#P -58 -91
....**
..**.**
..****
...**
...*
.*...*
*.....*
*.....*
.******
#P -64 -88
**
**
#P -68 -86
..*
**
.***
..*.*
#P -63 -78
....**
****.**
******
.****
#P -69 -96
..*
*...*
.....*
*....*
.*****
#P -81 -97
....**
****.**
******
.****
#P -89 -93
...**
***.**
*****
.***
#P -66 -67
....**
****.**
.*****
..***
#P -65 -61
.****
*...*
....*
*..*
#P -72 -74
.******
*.....*
......*
*....*
..**
#P -77 -58
...**
***.**
*****
.***
#P -78 -45
.***
*****
***.**
...**
#P -90 -55
.******
*.....*
......*
*....*
..**
#P -91 -49
..**
*....*
......*
*.....*
.******
#P -98 -59
.*****
*....*
.....*
*...*
..*
#P -99 -45
..*
*...*
.....*
*....*
.*****
#P -59 -17
.******
*.....*
*.....*
.*...*
...*
...**
..****
..**.**
....**
#P -64 -25
.****
******
****.**
....**
#P -67 -36
..***
.*****
****.**
....**
#P -66 -42
*..*
....*
*...*
.****
#P -73 -30
..**
*....*
......*
*.....*
.******
#P -69 -17
..*.*
.***
**
..*
#P -65 -13
**
**
#P -70 -8
.*****
*....*
.....*
*...*
..*
#P -82 -6
.****
******
****.**
....**
#P -90 -10
.***
*****
***.**
...**
#P -87 24
***
*..*
*
*
.*.*
#P -71 40
***
*..*
*
*
.*.*
#P -55 56
***
*..*
*
*
.*.*
#P -39 72
***
*..*
*
*
.*.*
#P -23 88
***
*..*
*
*
.*.*
#P -90 32
.*
***
*.**
.***
.***
.**
#P -74 48
.*
***
*.**
.***
.***
.**
#P -58 64
.*
***
*.**
.***
.***
.**
#P -42 80
.*
***
*.**
.***
.***
.**
#P -26 96
.*
***
*.**
.***
.***
.**
#P -10 112
.*
***
*.**
.***
.***
.**
#P 6 128
.*
***
*.**
.***
.***
.**
#P 22 144
.*
***
*.**
.***
.***
.**
#P 38 160
.*
***
*.**
.***
.***
.**
#P 54 176
.*
***
*.**
.***
.***
.**
/programs/demos/life2/lif/BREEDST.lif
0,0 → 1,905
#Life 1.05
#D t log(t) via stifled breeder
#D Population in generation t is asymptotic to t log(t) / (6 log(3)).
#D A modified exponential aperiodic pattern emits a LWSS in gen
#D 20*3^n + 32 (n >= 1). Meanwhile, a breeder produces a line of
#D "stifled" guns, with eaters suppressing their outputs. Each LWSS
#D destifles one gun. So in gen t there are about log(t)/log(3)
#D active guns, which have emitted about t log(t)/(30 log(3)) gliders.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 2/11/92
#N
#P 152 -30
.....*
......*
..*...*
...****
.
.
.
.**
**.**
.*..*
.*..*
..**
.
.
.....*
......*
..*...*
...****
#P 144 -50
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 146 -30
.**
****
**.**
..**
#P 136 -36
..**
**.**
****
.**
#P 127 -53
...*
....*
*...*
.****
#P 119 -45
..*
*.*
.**
#P 104 -30
..*
*.*
.**
#P 125 -14
*.*
**
.*
#P 130 -9
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 122 -5
**..***
**..*.*
**..***
#P 143 -19
**
*
#P 136 -24
..*
*..*
*...*
*...*
*...*
.*.*
..*
#P 136 -14
...*
....*
*...*
.****
#P 131 20
.****
*...*
....*
...*
.
.
**
*.*
..*
***
.
.
.
.
.****
*...*
....*
...*
#P 123 20
..**
**.**
****
.**
#P 110 13
.....****
....*...*
........*
**..*..*
***
**..*..*
........*
....*...*
.....****
#P 139 58
*
.***
#P 142 48
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
.
.
.
.
.****
*...*
....*
...*
#P 136 59
*
**
#P 134 48
..**
**.**
****
.**
#P 142 76
...*
....*
*...*
.****
#P 151 77
..**
**.**
****
.**
#P 151 91
..**
**.**
****
.**
#P 144 82
..*
.*...***
*...*.***
.*......**
..*****.*
....****
.....*
#P 134 92
.**
****
**.**
..**
#P 135 68
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 127 72
**..***
**..*.*
**..***
#P 125 63
...*
....*
*...*
.****
#P 125 41
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 118 43
..**
.****
*...**
.****
..**
#P 119 79
**
.**
*
#P 109 78
.***
*****
***.**
...**
#P 108 59
.******
*.....*
......*
.....*
#P 104 64
**
.**
*
#P 114 35
...*
....*
*...*
.****
#P 97 31
.******
*.....*
......*
.....*
#P 89 49
**
.**
*
#P 76 50
.....**
...**.**
...****
....**
.
.
****
*..**
.*..**
.*..*
..**
.
.
.
.....**
...**.**
...****
....**
#P 70 49
...*
....*
*...*
.****
#P 62 43
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 55 45
...*
..*.*
**...*
..*.*
...*
#P 62 65
.**
****
**.**
..**
#P 45 61
....**
****.**
******
.****
#P 95 10
..**
...*
***
*
#P 101 -3
.**
*.*
**
#P 87 -36
.****
*...*
....*
*..*
.
.
**
*.*
..*
***
.
.
.
.
.****
*...*
....*
...*
#P 78 -30
....**
..*
.*..*
**
.**
#P 79 -22
..**
**.**
****
.**
#P 79 3
.****
*...*
....*
...*
#P 71 -3
.**
*.*
**
#P 65 10
..**
...*
***
*
#P 72 -21
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 66 -17
.*.*
*..**
.*.*
#P 70 -39
...*
....*
*...*
.****
#P 59 -28
..*
*.*
.**
#P 53 -46
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 46 -40
....**
.
..**
.**
**
.*
#P 45 -32
.**
****
**.**
..**
#P 50 -12
...*
....*
*...*
.****
#P 33 -30
....****
...*...*
*......*
.*....*
***
.*......*
*........*
...*.....*
....******
#P 36 -47
.****
*...*
....*
...*
#P 42 -14
**
*
#P 41 -3
.**
*.*
**
#P 35 10
..**
...*
***
*
#P 13 8
..*
**
.*
#P 5 10
..**
...*
***
*
#P 11 -3
.**
*.*
**
#P 12 -14
**
*
#P 19 -43
.....*
......*
*.....*
.******
#P -4 -46
.**
****
**.**
..**
#P -4 -32
.**
****
**.**
..**
#P -11 -40
.....*
....****
..*****.*
.*......**
*...*.***
.*...***
..*
#P -13 -31
.****
*...*
....*
...*
#P -21 -30
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -28 -28
...*
..*.*
**...*
..*.*
...*
#P -21 -47
..**
**.**
****
.**
#P -26 -43
*
.**
**
#P -38 -43
.****
******
****.**
....**
#P -18 -14
**
*
#P -19 -3
.**
*.*
**
#P -17 8
..*
**
.*
#P -25 10
..**
...*
***
*
#P -38 5
**
*
#P -30 28
....*
.....*
*....*
.*****
#P 18 44
.....*
......*
..*...*
...****
.
.
.
.**
**.**
.*..*
.*..*
..**
.
.
.....*
......*
..*...*
...****
#P 12 44
.**
****
**.**
..**
#P 3 37
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P -5 41
**..***
**..*.*
**..***
#P 3 61
.****
*...*
....*
...*
#P -14 55
.....*
......*
*.....*
.******
#P -11 48
.**
*.*
..*
#P -52 40
....*
.....*
*....*
.*****
#P -51 -53
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P -60 -45
...***
***
*
***
#P -59 -38
.****
*...*
....*
...*
#P -68 -55
.**
****
**.**
..**
#P -74 -65
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -79 -63
.*
..*
*..*
..*
.*
#P -89 -63
..*
**
.*
#P -77 -42
.****
*...*
....*
...*
.
.
**
*.*
..*
***
.
.
.
.
.****
*...*
....*
...*
#P -86 -36
....**
..*
.*..*
**
.**
#P -88 -37
**
*
#P -85 -28
..**
**.**
****
.**
#P -92 -27
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -98 -23
.*.*
*..**
.*.*
#P -94 -45
...*
....*
*...*
.****
#P -77 32
.**
****
**.**
..**
#P -77 46
.**
****
**.**
..**
#P -82 37
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P -86 33
.****
*...*
....*
...*
#P -93 25
.****
*...*
....*
...*
.
...*
....*
*...*
.****
#P -96 27
*
.*
***
.*
*
#P -94 49
..**
**.**
****
.**
#P -119 35
...**
***.**
*****
.***
#P -92 -81
**
.*
#P -94 -76
**
*
#P -113 -69
**
*
#P -107 -84
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -117 -86
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -126 -83
**
*
#P -133 -96
**
*
#P -136 -86
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P -138 -76
...*
.**.**
.
*.....*
.
**...**
#P -134 -59
**...**
.
.*...*
..***
..***
#P -132 -52
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -134 -38
..**
...*
***
*
#P -119 -31
....*
.....*
*....*
.*****
#P -124 -22
.*
**
#P -137 -24
....**
...***
*.**
*..*
*.**
...***
....**
#P -146 -26
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -158 -24
*
**
#P -136 -28
**
.**
*
#P -144 -34
***
*
.*
#P -145 -43
***
*..*
*
*
*
*
.*
#P -160 -43
.*
***
*.**
.***
.***
.***
.**
#P -157 -55
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -153 -49
***
*.*
***
.
.
***
***
/programs/demos/life2/lif/BSHIP.lif
0,0 → 1,44
#Life 1.05
#D Blinker ship
#D Leaves a trail of blinkers
#D which are eaten by a pattern
#D with not quite a large enough
#D appetite (6c/13). A similar
#D idea is shown in PIPUF.
#N
#P 10 -4
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 6 -1
**
***
**
#P 1 -8
.**
****
**.**
..**
#P 1 5
..**
**.**
****
.**
#P -3 -2
...*
.***
***
.***
...*
#P -11 -2
.***
*...*
*...*
*...*
.***
/programs/demos/life2/lif/BSHIP2.lif
0,0 → 1,51
#Life 1.05
#D Another Blinker puffer
#D
#D An HWSS cleans up behind it.
#D This was was found using a
#D search program.
#N
#P 15 -6
.*
..*.....*
.*...*****
.**.**...**
.*.......*
.*..*..**
*
.*..*..**
.*.......*
.**.**...**
.*...*****
..*.....*
.*
#P 8 -14
.****
*...*
....*
*..*
*
*.*
...**
.*..*
***.***
......*
......*
#P 8 4
......*
......*
***.***
.*..*
...**
*.*
*
*..*
....*
*...*
.****
#P -5 -7
.******
*.....*
......*
*....*
..**
/programs/demos/life2/lif/BTRACK.lif
0,0 → 1,1065
#Life 1.05
#D All 8 of David Buckingham's Herschel conduits demonstrated.
#D
#D A Herschel is the 20th generation of the B-heptomino (see BHEPTO).
#D Various combinations of still life can be made to assist the
#D forward propagation of a Herschel, and with Buckingham's complete
#D set, a glider gun of any period greater than 61 can be constructed.
#D This period-1246 loop demonstrates all of them. Each conduit in
#D this pattern is boxed off and labeled, and future Herschel
#D positions are marked by ghost Herschels. See also SLR, GUNB256.
#D
#D Gens Type Tightest Compression; Notes
#D ---- ---- ---------------------------
#D 64 90 degree 153 (also 73, 74, 77); 1 glider, aimed inward.
#D 77 move+flip 61; 1 glider (natural b-heptomino glider).
#D 112 90 degree 61; 1 glider, aimed outward.
#D 117 move 63; 1 glider. Can be perturbed by single-spark oscs.
#D 119 move+flip 231; 3 gliders.
#D 156 90 degree 62; 2 gliders: Normal B-hepto glider + one more.
#D 158 move+flip 176 (also 101, 102, 109, 111, 159); 1 glider.
#D 190 90 degree 107; 1 glider, aimed inward.
#N
#P 14 -70
*.**....*.**
**.*....**.*
....**......**
.....*.......*
....*.......*
....**......**
..**......**
...*.......*
..*.......*
..**......**
**......**
.*.......*
*.......*
**......**
#P 7 -37
*
***
...*
..**
#P 22 -34
**
**
#P 22 -17
**
*
.***
...*
#P 43 -60
**..**....**.*
.*...*....*.**
*...*.........**
**..**........*
...............*
**..**........**
.*...*....**.*
*...*.....*.**
**..**..**
........*
**..**...*
.*...*..**
*...*.....**.*
**..**....*.**
#P 31 -24
..**
.*.*
.*
**
#P 35 -21
..**
*..*
**
#P 45 -37
**
**
#P 49 -40
..**
..*
*.*
**
#P 51 -25
**
*.*
..*
..**
#P 44 -18
**
**
#P 62 -4
**....*.**......**.*
.*....**.*......*.**
*...**........**....**
**...*........*.....*
....*..........*.....*
**..**........**....**
.*....*.**......**.*
*.....**.*......*.**
**........**..**....**
...........*..*.....*
**........*....*.....*
.*........**..**....**
*.....*.**......**.*
**....**.*......*.**
#P 21 0
.........**
..........*
..........*.*
........**.**
.......*.*
.......*.*
.....***.**
....*
....*.**.**
*.**.*.*.**
**.*.*
.....*
.....*.*
......**
#P 50 6
..**
..*
*.*
**
#P 49 14
**
*
.***
...*
#P 24 20
..**
.*.*
.*
**
#P 71 52
**....**.*......**.*
.*....*.**......*.**
*...**....**..**....**
**..*.....*...*.....*
.....*.....*...*.....*
**..**....**..**....**
.*....**.*....*.....*
*.....*.**.....*.....*
**........**..**....**
..........*...*.....*
**.........*...*.....*
.*........**..**....**
*.....**.*......**.*
**....*.**......*.**
#P 54 27
..**
..*
*.*
**.**
...*.*
...*.*
..**.***
........*
..**.***
..**.*
#P 34 33
**
.*
.*.*
..**
#P 51 55
**
*
.***
...*
#P 45 59
**
.*
*
**
#P 42 52
**
**
#P 32 40
....**
...*.*
...*
.***
*
**
#P -8 75
**..**....**.*
.*...*....*.**
*...*...**....**
**..**..*.....*
.........*.....*
**..**..**....**
.*...*....**.*
*...*.....*.**
**..**........**
..............*
**..**.........*
.*...*........**
*...*.....**.*
**..**....*.**
#P 22 30
...*
.***
*
**
#P 15 31
**
**
#P 16 37
**
**
#P 21 36
**
**
#P -30 51
**..**..*.**
.*...*..**.*
*...*.......**
**..**.......*
............*
**..**......**
.*...*....**
*...*......*
**..**....*
..........**
**..**..**
.*...*...*
*...*...*
**..**..**
#P 5 25
..**
..*
*.*
**
#P -5 22
...*
.***
*
**
#P -11 38
..**
...*
***
*
#P -15 20
**
*
.*
**
#P -18 29
**
**
#P -63 43
**....*.**......**.*
.*....**.*......*.**
*...**........**
**...*........*
....*..........*
**..**........**
.*....*.**......**.*
*.....**.*......*.**
**........**..**....**
...........*..*.....*
**........*....*.....*
.*........**..**....**
*.....*.**......**.*
**....**.*......*.**
#P -36 19
...*
.***
*
**
#P -51 32
..**
...*
***
*
#P -45 17
...*
.***
*
**
#P -61 20
.*
*.*
.*
#P -60 12
**
.*
.*.*
..**
#P -51 7
**
**
#P -44 10
*.**
**.*
#P -84 -25
*.**....*.**
**.*....**.*
....**......**
.....*.......*
....*.......*
....**......**
..**......**
...*.......*
..*.......*
..**......**
**......**
.*.......*
*.......*
**......**
#P -43 -11
**
*.*
..*
..**
#P -44 -24
**
**
#P -63 -26
**
.*
.*.*
..**
#P -79 -58
..**.*..**...**
..*.**..**...**
**
*.......**...**
.*......*.*.*.*
**........*.*
..**.*...**.*
..*.**.......**
**....**......*
*.....*......*
.*.....*.....**
**....**......*
..**.*.......*
..*.**.......**
#P -57 -51
**
**
#P -53 -49
**
**
#P -51 -55
**
**
#P -58 -44
**
**
#P -40 -80
..**.*..**...**
..*.**..**...**
**
*.......**...**
.*......*.*.*.*
**........*.*
..**.*...**.*
..*.**.......**
**....**......*
*.....*......*
.*.....*.....**
**....**......*
..**.*.......*
..*.**.......**
#P -20 -59
**
**
#P -22 -55
**
**
#P -16 -53
**
**
#P -27 -60
**
**
#P -32 -11
**..**....**.*
.*...*....*.**
*...*.........**
**..**........*
...............*
**..**........**
.*...*....**.*
*...*.....*.**
**..**..**
........*
**..**...*
.*...*..**
*...*.....**.*
**..**....*.**
#P -15 -40
...*
.***
*
**
#P -12 -36
.**
..*
*
**
#P -9 -27
**
**
#P -16 -20
**
*
.***
...*
#P -31 -22
..**
...*
***
*
#P -28 -26
**
**
#P 8 -27
*
*.*
***
..*
#P 33 -34
..*
*.*
..*
*
#P 44 -1
*.*
.
.***
#P 40 26
.*.*
.
***
#P 24 50
*
*.*
*
..*
#P 4 35
..*
*
*.*
*
#P -36 29
..*
*
*.*
*
#P -53 -11
***
.
.*.*
#P -46 -36
.***
.
*.*
#P -36 -48
*
..*
*.*
..*
#P -25 -38
.*.*
.
***
#P -53 -32
..**
...*
***
*
#P -36 -25
**
*
.***
...*
#P -14 -6
..**
...*
***
*
#P 30 37
..**
..*
*.*
**
#P 4 -41
*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*
#P 28 -44
...*..*..*..*..*..*..*..*..*
.
.
*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*
#P 58 -44
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 18 -4
*..*..*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 57 -4
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 36 23
*..*..*..*..*..*..*..*..*..*..*
#P 66 26
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 36 47
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*
#P 18 23
*
.
.
*..*..*..*..*..*..*
#P 27 29
...*
.
.
...*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*
#P 30 50
*
.
.
*
.
.
*
#P 27 59
*..*
.
.
*
.
.
*
.
.
*
.
.
*
#P 6 50
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*
#P 12 20
*
.
.
*
.
.
*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -21 17
*..*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*
#P -30 10
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -36 7
*..*..*
#P -66 4
*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*..*
#P -37 -12
*
.
.
*
.
.
*
#P -40 -24
*
.
.
*
.
.
*
.
.
*..*
#P -58 -27
*..*..*..*..*..*..*
#P -67 -30
*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*
#P -47 -55
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -62 -58
*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*
#P -12 -61
*
.
.
*
.
.
*
.
.
*
#P -30 -64
*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*
#P -5 -41
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -32 -44
...*..*..*..*..*..*..*..*..*
.
.
*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -32 -17
*
.
.
*..*..*..*..*..*..*..*..*..*
/programs/demos/life2/lif/COERAKE1.lif
0,0 → 1,26
#Life 1.05
#D p16 backward rake
#D A very simple construction: just
#D four *WSS and an extra cell. By
#D Tim Coe, 1996.
#N
#P 4 -4
....**
****.**
.*****
..***
#P 5 2
.****
*...*
....*
...*
#P -6 -10
.******
*.....*
......*
.....*
#P -4 5
....**
****.**
******
.****
/programs/demos/life2/lif/COERAKE2.lif
0,0 → 1,39
#Life 1.05
#D p16 forward rake
#D Just like the backward rake
#D (coerake1.lif) but with an
#D additional pair of *WSS to
#D turn each glider around.
#D By Tim Coe, 1996.
#N
#P 4 -4
....**
****.**
.*****
..***
.
.
..****
.*...*
.....*
....*
#P -4 5
....**
****.**
******
.****
#P -6 -10
.******
*.....*
......*
.....*
#P -17 -8
.******
*.....*
......*
.....*
#P -20 4
.....*
......*
*.....*
.******
/programs/demos/life2/lif/CORDER.lif
0,0 → 1,146
#Life 1.05
#D 10-engine Cordership
#D Based on switch engine (SWITCHEN, by Charles Corderman)
#D Dean Hickerson, dean@ucdmath.ucdavis.edu
#N
#P 17 -25
*
*
..*.....*
.*......*.*
*...*..*
.*..*.*.**
......*.**
#P 1 -9
**..*
...*.*
..*
.
....**
.
.....**
....*
..**.**
.....**
...*
#P -9 1
*
*
..*.....*
.*......*.*
*...*..*
.*..*.*.**
......*.**
#P -25 17
**..*
...*.*
..*
.
....**
.
.....**
....*
..**.**
.....**
...*
#P 11 2
...***
..*
.*....**
*...*
*..*....*
*...*...*
.**.*.***
....*
.....****
.......**
#P 2 11
...***
..*...*
.*....*
*...*
*..*.***
*.......*
..*...*.*
..*...*.**
....***.**
#P 51 7
.*
*.*
.
*..*
..**
...*
#P 33 25
.*.*
*
.*..*
...***
#P 25 33
.*
*.*
.
*..*
..**
...*
#P 7 51
.*.*
*
.*..*
...***
#P 37 -18
**
**
#P 45 -10
**
**
#P 53 -2
**
**
#P 61 6
**
**
#P -18 37
**
**
#P -10 45
**
**
#P -2 53
**
**
#P 6 61
**
**
#P 17 51
*.*
*.*
.*
#P 25 43
**
..*
**
#P 43 25
*.*
*.*
.*
#P 51 17
**
..*
**
#P 67 -7
*.*
**
.*
#P 65 42
.*
**
*.*
#P 45 47
***
*
.*
#P 23 71
***
*
.*
/programs/demos/life2/lif/CORDER2.lif
0,0 → 1,136
#Life 1.05
#D 7-engine Cordership
#D deleting 10 still lifes and a blinker.
#D Based on switch engine (SWITCHEN, by Charles Corderman)
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 8/23/93
#N
#P -13 -43
.*.*
*
.*..*
...*.*
......*
.....***
.....*
...**
.....*
...*..*
...*.*
...*
#P -26 -34
.*
*.*
.
*..*...*.***
..*....*
...*.**.*.*
....**...*
.....*
#P -39 -17
.*.*
*
.*..*
...*.*
......*
.....***
.....*
...**
.....*
...*..*
...*.*
...*
#P 3 -39
..***
.
.
.
...***
...***
...**
..*
**..*
.*...*
.*..*
..***
#P -10 -22
..***
.**..*
*.....*
*
.*..**
..**
#P -15 -23
.*
.*
*.*
.*
.*
#P -5 -5
.*
*
.*
#P -2 -8
.*
*.**
...**
.....*
.****
...*
#P 20 -18
.*
*.*
*.*
*..*
.*.*
....*
...**
...*
#P 1 1
.***
*...*
.**
...**.**
.....**
#P -6 8
.*
*.*
*.*
*..*
.*.*
....*
...**
...*
#P -32 4
**
**
#P -24 12
**
**
#P -16 20
**
**
#P 14 -34
**
**
#P 22 -26
**
**
#P 30 -18
**
**
#P 35 -30
*
*.*
**
#P 36 14
***
*
.*
#P 14 20
.**
**
..*
#P 12 40
.*
**
*.*
/programs/demos/life2/lif/CORDPULL.lif
0,0 → 1,221
#Life 1.05
#D Diagonal sawtooth with expansion factor 6
#D Population is unbounded but does not tend to infinity. Its graph is
#D a sawtooth function with ever-increasing teeth. More specifically,
#D the population in generation t = 8*6^n - 216 (n >= 2) is t/36 + 558,
#D but the population in generation 32*6^n - 429 (n >= 2) is only 469.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 5/14/91
#N
#P -30 -35
..***
.*...*
*....*
*..*.*
**.*.*
..**.*..*
....**..*
.....***
#P -40 -29
..***
.*..*
*....*
*..***
*.....*
.*******
.......*
.......*
.....**
#P -56 -9
..***
.*...*
*....*
*..*.*
**.*.*
..**.*..*
....**..*
.....***
#P -18 -33
..**...***
.****
*...**
.**.*.*
.
.........*
......*..*
.......***
#P -32 -17
***.*
***.*
.*........**
..*...***.**
...*......*
....*.*.*.*
.....*
#P 2 -10
...*
..*.*
.**.**
.**.**
***
***...*
.**
.*.*
#P -13 5
....**
..******
.******
*......*
.***
..**
.....*
#P -24 16
...*
..*.*
.**.**
.**.**
***
***...*
.**
.*.*
#P -48 10
**
*
#P -40 18
**
*
#P -32 26
**
*
#P -2 -28
**
*
#P 6 -20
**
*
#P 14 -12
**
*
#P -3 11
....*
**..**.***
*.....****
....**
#P -8 16
...*
.***
*
**
#P -13 26
**...**
.
*.....*
.
.**.**
...*
#P -11 34
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P -8 50
**
*
#P -4 27
***
..*
.*
#P 2 32
***
*
.*
#P 10 19
...*
.***
*
**
#P 5 28
**...**
.*****
..***
...*
#P 3 40
..***
.
..*.*
.*****
**...**
**...**
#P 5 53
**
*
#P 15 22
*
***
...*
..**
#P 17 31
**...**
*.....*
.
.*...*
..***
#P 19 42
...*
.**.**
.
*.....*
.
**...**
#P 22 56
**
*
#P 35 31
.*****
*.***.*
.*...*
..***
...*
.**
*.*
*.*
.*
#P 33 42
**.*.**
*.....*
.*...*
..***
#P 35 53
**
*
#P 22 21
.*
**
*.*
#P 24 16
.*..*
*...**..**
*.......*
.****
#P 37 19
**
*
#P 21 -11
...*
.***
*
**
#P 16 -2
**...**
*.*.*.*
.*****
..***
...*
#P 21 8
**
*
.***
...*
/programs/demos/life2/lif/CORDTOSS.lif
0,0 → 1,207
#Life 1.05
#D Caber tosser
#D Population in generation t is asymptotic to 5 log(t)/log(2).
#D
#D A glider bounces back and forth between a Cordership and a fixed
#D reflector; the round trip time doubles with each trip. Whenever
#D the glider hits the fixed reflector, an extra glider is created;
#D these gliders eventually dominate the population.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 5/1/91
#N
#P -31 -62
..*
..*
..*
.....**
.....**
*...***
.***
..*
.**
.***
...*
.*
...*
.***
#P -47 -50
.....*
......*.**.*.*
***...****...*
......*..**.**
.....*
...***
...***
#P -57 -36
..*
..*
..*
.....**
.....**
*...***
.***
..*
.**
.***
...*
.*
...*
.***
#P -37 -40
.*.*
.*.*.*.......*
*..**.*....***
.**...*.*.**.*
.**...**.*****
.....*.**...**
....*.*
#P -13 -58
.**
**
.*
***
***
..*
*..*
***
.*
#P -15 -43
*.*
*..*
*..*
*...*
.*.*
..*
#P -2 -35
*
*
..*.....*
.*......*.*
*...*..*
.*..*.*.**
......*.**
#P -18 -19
**..*
...*.*
..*
.
....**
.
.....**
....*
..**.**
.....**
...*
#P -28 -9
*
*
..*.....*
.*......*.*
*...*..*
.*..*.*.**
......*.**
#P -51 -13
**
**
#P -43 -5
**
**
#P -35 3
**
**
#P -5 -51
**
**
#P 3 -43
**
**
#P 11 -35
**
**
#P -37 -26
*
.**
**
#P 38 40
..**
.*.*
.*
**
#P 50 35
.*
*.*
**.*
**.**
**.*.***
*.*..*..*
.*....**
#P 61 37
**
*.*
...*
*..*
...*
*.*
**
#P 72 40
**
**
#P 48 45
*.*
**
.*
#P 43 53
.*
**
*.*
#P 20 51
.**
*.*
..*
#P -1 55
**
**
#P 10 53
*
*.*
...**
...**
...**
*.*
*
#P 20 55
....**
....**
.**
***
.**
....**
....**
#P 31 53
..**
..*
*.*
**
#P 31 62
..**
.*.*
.*
**
#P 40 57
**
*..*
....*
....*
....*
*..*
**
#P 51 55
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 65 57
**
**
/programs/demos/life2/lif/CRYSTAL.lif
0,0 → 1,85
#Life 1.05
#D Crystal&decay 2700
#D
#D A p150 gun fires at a pair of pentadecathlons. When the first glider
#D hits the PDs, it is reflected back and hits the second, forming a
#D honey farm. Subsequent gliders form a crystal growing upstream. When
#D the crystal reaches an eater near the gun, it begins to decay.
#D When it's all gone, the cycle begins again.
#D
#D The period of this pattern is 2700, but by moving the PDs, any period
#D of the form 750 + 1950n (n>=0) can be obtained.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 3/27/90
#N
#P -14 -23
**
**
#P -17 -19
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -19 2
**...**
.
.*...*
..***
..***
#P -16 11
**
**
#P -4 -13
**
**
#P 5 -16
**
*.*
.***
..***
.***
*.*
**
#P 17 -14
....*
.****
****
*..*
****
.****
....*
#P 30 -11
**
**
#P 13 9
...*
.***
*
**
#P 1 19
**
*
.***
...*
#P 45 47
..**......**
.*..*....*..*
******..******
.*..*....*..*
..**......**
#P 40 59
***
*.*
***
***
***
***
*.*
***
#P -14 -4
..*
*.*
.**
/programs/demos/life2/lif/CYCLTRON.lif
0,0 → 1,443
#Life 1.05
#D Cyclotron
#D
#D An inefficient but amusing period 874 = 46*19 glider gun based on
#D a 3 glider collision that produces 4 blocks, 4 beehives,
#D 8 blinkers, and 13 gliders. 28 p46 shuttles are used to redirect
#D some of the gliders: 1 escapes, 1 is destroyed, 8 are reflected
#D back to delete the debris, and 3 are reflected back to collide
#D again.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 7/22/92
#N
#P -3 -20
.*
**
#P -10 -37
***...***
*..*.*..*
*.......*
#P -3 -47
**
.*
#P 4 -20
*
**
#P 4 -37
***...***
*..*.*..*
*.......*
#P 4 -47
**
*
#P -3 23
**
.*
#P -10 39
*.......*
*..*.*..*
***...***
#P -3 50
.*
**
#P 4 23
**
*
#P 4 39
*.......*
*..*.*..*
***...***
#P 4 50
*
**
#P -18 -47
.*
**
#P -35 -55
..***
*....*
*.....*
.....*
...**
.
...**
.....*
*.....*
*....*
..***
#P -45 -54
**
*
#P -44 -75
**
.*
#P -61 -75
***
*
*
.*
.
.*
*
*
***
#P -71 -75
**
*
#P -82 -76
.*
**
#P -89 -92
**.....**
**.*.*.**
*..*.*..*
***...***
#P -82 -103
**
.*
#P -97 -79
.*
**
#P -105 -94
...*...*
....*.*
....*.*
....*.*
*..*...*..*
.***...***
#P -97 -106
**
.*
#P -75 -36
.*
**
#P -92 -44
..***
*....*
*.....*
.....*
...**
.
...**
.....*
*.....*
*....*
..***
#P -102 -43
**
*
#P -115 -57
**
*
#P -116 -42
***.....***
***.....***
.**.....**
...*...*
.*..*.*..*
*...*.*...*
.*..*.*..*
.***...***
#P -108 -30
.*
**
#P -140 -54
**
.*
#P -148 -45
..*.....*
.***...***
**.*...*.**
#P -147 -27
*
**
#P -154 37
**
*
#P -155 45
..*.....*
.***...***
*..**.**..*
***.....***
#P -147 64
.*
**
#P -127 98
*
**
#P -118 90
..*
.**
**
.**
.
.
.
.**
**
.**
..*
#P -100 91
**
.*
#P -113 78
*
**
#P -106 78
.*
**
#P -114 64
.***...***
.***...***
*.**...**.*
*.**...**.*
.**.....**
..*.....*
#P -113 51
**
*
#P -102 47
*
**
#P -104 31
..*.......*
.
***.......***
.**.**.**.**
..***...***
...*.....*
#P -102 20
**
*
#P -80 77
**
.*
#P -87 87
.*.....*
***...***
*.**.**.*
..**.**
..**.**
..**.**
#P -80 104
.*
**
#P -70 78
*
**
#P -65 70
..**..*.*
.***.*...*
**......*
.*.*****
..***
.
..***
.*.*****
**......*
.***.*...*
..**..*.*
#P -43 78
.*
**
#P -45 57
*
**
#P -33 48
..*
*..*
*****
***.**
.**.*
..**
.
..**
.**.*
***.**
*****
*..*
..*
#P -18 50
**
.*
#P 17 48
**
*
#P 22 47
.*.**
*..**..***
*......**
**...***
..*...*
.
..*...*
**...***
*......**
*..**..***
.*.**
#P 44 55
.*
**
#P 56 74
*
**
#P 65 66
..*
.**
**
.**
.
.
.
.**
**
.**
..*
#P 83 74
.*
**
#P 152 15
.*
**
#P 144 2
.**.....**
*..*...*..*
...**.**
..*.*.*.*
..*.*.*.*
*.........*
#P 152 -12
**
.*
#P 74 4
.*
**
#P 67 -10
..**.**
..**.**
..**.**
*.**.**.*
***...***
.*.....*
#P 74 -23
**
.*
#P 152 -35
.*
**
#P 144 -49
..*.....*
.***...***
*...*.*...*
*.........*
.***...***
#P 145 -62
**
*
#P 106 -47
*
**
#P 105 -60
.*.......*
*.*.....*.*
...*...*
*..*...*..*
.*.*...*.*
...**.**
**.**.**.**
**..*.*..**
.***...***
..*.....*
#P 106 -74
**
*
#P 127 -94
**
.*
#P 116 -95
****
*..**
.*..**
.*..*
..**
.
..**
.*..*
.*..**
*..**
****
#P 100 -87
*
**
#P 80 -105
**
*
#P 79 -88
***.....***
*..**.**..*
.***...***
..*.....*
#P 80 -78
*
**
#P 73 -81
**
.*
#P 62 -81
***
..*
..*
.*
.
.*
..*
..*
***
#P 46 -81
**
*
#P 43 -53
**
.*
#P 26 -54
..***
*....*
*.....*
.....*
...**
.
...**
.....*
*.....*
*....*
..***
#P 16 -53
**
*
#P -121 -27
..*
*.*
.**
#P -133 41
.*
.**
*.*
#P -47 -39
*.*
.**
.*
#P -44 39
.**
*.*
..*
#P 42 -42
..*
**
.**
#P 118 -27
***
*
.*
#P 127 -37
*.*
**
.*
/programs/demos/life2/lif/DOUBLEX.lif
0,0 → 1,232
#Life 1.05
#D Double-x
#D By Bob Wainwright
#N
#P -64 -32
**
**
#P -66 -26
...*.....*
..***...***
.*..**.**..*
.*...*.*...*
...*.*.*.*
.
**.**...**.**
..*.......*
#P -60 -14
...*
..***
.*...*
*.....*
*.....*
.*...*
.
.*...*
*.....*
*.....*
.*...*
..***
...*
#P -64 -5
**
**
#P -64 2
**
**
#P -66 8
...*.....*
..***...***
.*..**.**..*
.*...*.*...*
...*.*.*.*
.
**.**...**.**
..*.......*
#P -60 20
...*
..***
.*...*
*.....*
*.....*
.*...*
.
.*...*
*.....*
*.....*
.*...*
..***
...*
#P -64 29
**
**
#P 63 -32
**
**
#P 54 -26
...*.....*
..***...***
.*..**.**..*
.*...*.*...*
...*.*.*.*
.
**.**...**.**
..*.......*
#P 54 -14
...*
..***
.*...*
*.....*
*.....*
.*...*
.
.*...*
*.....*
*.....*
.*...*
..***
...*
#P 63 -5
**
**
#P 63 2
**
**
#P 54 8
...*.....*
..***...***
.*..**.**..*
.*...*.*...*
...*.*.*.*
.
**.**...**.**
..*.......*
#P 54 20
...*
..***
.*...*
*.....*
*.....*
.*...*
.
.*...*
*.....*
*.....*
.*...*
..***
...*
#P 63 29
**
**
#P -21 -27
..**
**.**
****
.**
#P 17 -27
.**
**.**
.****
..**
#P -44 -28
.**
****
**.**
..**
#P 40 -28
..**
.****
**.**
.**
#P -46 -20
***
*
.*
#P 44 -20
***
..*
.*
#P -34 -9
**
*.*
*
#P 32 -9
.**
*.*
..*
#P -23 3
***
*
.*
#P 21 3
***
..*
.*
#P -11 14
**
*.*
*
#P 9 14
.**
*.*
..*
#P -10 23
.****
*...*
....*
*..*
#P 6 23
****
*...*
*
.*..*
#P -33 22
*..*
....*
*...*
.****
#P 29 22
.*..*
*
*...*
****
#P -52 22
..*
**
.**
#P 50 22
*
.**
**
#P -40 11
*.*
**
.*
#P 38 11
*.*
.**
.*
#P -29 -1
..*
**
.**
#P 27 -1
*
.**
**
#P -17 -12
*.*
**
.*
#P 15 -12
*.*
.**
.*
#P -6 -24
..*
**
.**
#P 4 -24
*
.**
**
/programs/demos/life2/lif/E15GROW.lif
0,0 → 1,609
#Life 1.05
#D t^1.5
#D Population in generation t is asymptotic to t^(3/2)/sqrt(9720).
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 12/6/91
#N
#P -69 -83
***...........***
*..*..........*..*
*......***....*
*.....*..*....*
.*........*....*
#P -39 -85
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*....*........*
#P -55 -75
.*
***
*.**
.***
.**
#P -64 -71
*
**
#P -62 -68
...*
...*
.*
**
.**
..*
#P -72 -66
.***
*..*
...*
...*
..*
#P -64 -56
***
..*
.*
#P -59 -51
***
..*
.*
#P -57 -61
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -53 -55
***
*.*
***
.
.
***
***
#P -39 -77
..*
.***
**.*
***
.**
#P -32 -70
*
*
..*
..**
.**
.*
#P -28 -73
.*
**
#P -22 -68
***
*..*
*
*
.*
#P -29 -58
***
*
.*
#P -34 -53
***
*
.*
#P -44 -63
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -40 -57
***
*.*
***
.
.
***
***
#P -87 -52
.*.............*
***...........***
*.**....*.....*.**
.***...***.....***
.**...**..*....**
........***
#P -88 -43
.***
*..*
...*
...*
..*
#P -79 -43
*
**
#P -52 -42
.*
*.*
***
.**
#P -41 -44
.*
*.*
***
**
#P -60 -37
***
*..*
*
*
*
.*
#P -71 -34
.*
***
*.**
.***
.**
#P -67 -27
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -63 -21
.*
***
.
*.*
.*
#P -108 -32
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*....*...*....*
#P -102 -27
*.*..**
....*
*.**
.***
.***
..**
.*.*
.*..*
.*
.....*
..*..**
..*..**
...***
...***
#P -94 -24
..*
.***
**.*
***
.**
#P -109 -15
***
*..*
*
*
.*
#P -103 -6
.**
*.*
..*
#P -91 -17
.*.....*
***...***
*.**.**.*
.***.***
.**...**
#P -89 -11
..*
.*.*
*...*
..*
#P -80 -4
***
*..*
*
*
.*
#P -95 9
.*
***
*.**
.***
.***
.**
#P -34 -39
.***
*..*
...*
...*
...*
..*
#P -23 -36
..*
.***
**.*
***
.**
#P -21 -54
..*.............*
.***...........***
**.*.....*....**.*
***.....***...***
.**....*..**...**
.......***
#P -13 -45
.*
**
#P -6 -45
***
*..*
*
*
.*
#P -34 -29
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -30 -23
.*
***
.
*.*
.*
#P -51 36
***
..*
.*
#P -36 51
***
..*
.*
#P 0 -32
.*.............*
***...........***
*.**....*.....*.**
.***...***.....***
.**...**..*....**
........***
#P -1 -23
.***
*..*
...*
...*
..*
#P 6 -23
...*
...*
...*
*.*
*.*
***
#P 15 -15
..*
.***
**.*
***
.**
#P 11 -7
.*
**
*.*
#P -9 -16
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -5 -10
***
*.*
***
.
.
***
.*
#P -14 -6
.***
*..*
...*
...*
..*
#P -25 36
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*....*...*..*.*
#P -18 41
*.*.**
.**.**
..***
.
.
..**
..*
#P -25 44
..*
.***
**.*
***
.**
#P -9 54
.***
*..*
...*
...*
..*
#P -1 80
.***
*..*
...*
...*
..*
#P -10 20
..*
.***
**.*
***
***
.**
#P 6 9
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*....*...*....*
.......****
........*
#P 6 17
..*
.***
**.*
***
.**
#P 23 26
***
*..*
*
*
.*
#P -1 26
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P 3 32
***
*.*
***
.
.
***
.*
#P 17 41
.***
*..*
...*
...*
...*
...*
..*
#P 28 15
.**
*.*
..*
#P 33 20
.**
*.*
..*
#P 38 22
.*
*...*
*..**
.....*
.**
#P 34 30
***
.***
#P 35 0
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 27 4
.*..***
**..*.*
.*..***
#P 52 6
.....*
......*
..*...*
...****
.
.
.
.**
**.**
.*..*
.*..*
..**
.
.
.....*
......*
..*...*
...****
#P 46 6
.**
****
**.**
..**
#P 41 39
....**
****.**
******
.****
#P 50 40
.****
******
****.**
....**
#P 62 48
.***
*****
***.**
...**
#P 64 30
***
.***
#P 68 34
.****
*...*
....*
...*
#P 85 -1
...*
....*
*...*
.****
#P 78 6
..*
*.*
.**
#P 73 11
..*
*.*
.**
#P 68 16
..*
*.*
.**
#P 99 2
....****
...*...*
.......*
...*..*
.
.**
*****
*....*
***..*
.*..**
..**
.
.
.
....****
...*...*
.......*
......*
#P 94 16
..**
**.**
****
.**
#P 90 9
..*.***
**...*
*.*
*.**
.**
..*
#P 86 18
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 82 26
**
*
#P 78 18
..**
**.**
****
.**
#P 104 47
..**
**.**
****
.**
.
.
*
**
.**
.*
*
.
.
.
..**
**.**
****
.**
#P 97 52
..*
.*...**
*...*.*
.*
..*****
....***
.....*
#P 95 46
...*
....*
*...*
.****
#P 88 38
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 85 42
*
.**
*
#P 87 62
.**
****
**.**
..**
#P 77 54
**
.**
*
/programs/demos/life2/lif/EATERS.lif
0,0 → 1,127
#Life 1.05
#D Examples of glider eaters.
#D Larger examples by Dean Hickerson.
#N
#P -31 -15
..*
*.*
.**
#P -23 -8
**
*.*
..*
..**
#P -15 -17
..*
*.*
.**
#P -8 -10
**.*
**.***
......*
**.***
.*.*
.*.*
..*
#P 6 -11
.*
..*
***
#P 12 -16
.*
..*
***
#P 8 -6
...**..**
*...*..**
****
.
**
**
#P 27 -11
.*
..*
***
#P 24 -16
.*
..*
***
#P 23 -7
**
**...*
....*.*
.....*.*
.......*
.......**
#P -35 1
..*
*.*
.**
#P -29 7
.**
*..*..**
*.*....*..*
.*.....*.*.*
....**.*..*
....*..*
.*....*
.*****
.
...*
..*.*
...*
#P -13 6
..*
*.*
.**
#P -8 10
......**
...**..*
**..*.*
**.*..**
...*.*
...*.*
....*
#P 4 6
..*
*.*
.**
#P 6 12
..*...**
.*.*...*
.**...*
.....*
.*****.*
..*...*.*
*....*..*
**....**
#P 20 6
..*
*.*
.**
#P 19 11
...........**
......**.*..*
.....*.*.***
**...*.*
*..*.*.***
.****.*...*
......*..**
...*.*
...**
#P -33 24
.*
..*
***
#P -30 26
...........*
.........***
........*
.....**..*
....*..***
...*.*....**
...*.*.**.*
.***.*.*..*
*...*.*..*
**..*..**
...**
/programs/demos/life2/lif/EDEN.lif
0,0 → 1,15
#Life 1.05
#D A Garden of Eden pattern
#D No pattern can have this as
#D its second generation.
#N
#P -16 -4
*********************************
**.*.***.***.**.*.*.*.*.*.*.*.*.*
*.*.***.***.****.***.*.*.*.*.*.*
*****.***.***.****.**************
*.*.**.***.***.*.***.*.*.*.*.*.*
****.***.***.*****.**.*.*.*.*.*.*
.**.***.***.***.*.*.*************
**.**.***.***.**.****.*.*.*.*.*.*
******************.**************
/programs/demos/life2/lif/EFENCE.lif
0,0 → 1,40
#Life 1.05
#D Electric fence
#D By Dean Hickerson, 1992.
#D Both ends found by search program.
#D See also STRETCH.
#N
#P -37 -11
.....................**
....................*.*
................**..*
................*.*.**
........*.........*
**.....****.......*....**
*..*.**...***.*.*.**.....**
.****.*...*...*.**....**.**
......*.*..*.*...**.*.***
.**..**.**.*.****...**
.*......*..*.*...**...*
...*....*.*...***..***.*
..**.....*......*..*...*
.......................**
#P 6 -9
.**.......**
.*....**.*..*.**.*
...*...*.*.**.*.**
..**.....*..*.*...**
..*....*..*.*.***...*
**.*..**.*.*...*..**.*
..**.*...**....**....*
..*........**.*.*.**.**
.....*...*...**.*..*.*
....*.*...**....*..*.*
.....*.....*.***....*
...........*.*
............*
#P -9 -6
**...**...**
..**...**...**
..**...**...**
**...**...**
/programs/demos/life2/lif/FORERAKE.lif
0,0 → 1,751
#Life 1.05
#D p90 Foreward LWSS rake
#D
#D David Bell
#N
#P -93 -124
............*.......*...........................*.......*
...........****...****.........................****...****
..........*...**.**...*..........***..........*...**.**...*
..........*....*.*....*..........***..........*....*.*....*
........*.*.*.**.**.*.*.*.......*...*.......*.*.*.**.**.*.*.*
.......*......**.**......*.................*......**.**......*
......**.*...*.....*...*.**....*.....*....**.*...*.....*...*.**
....**.*.**...........**.*.*...**.*.**...*.*.**...........**.*.**
..**.*......................*...........*......................*.**
.*...*......................*...*...*...*......................*...*
..*.*.......................*....*.*....*.......................*.*
.............................*..*...*..*
...............................*.*.*.*
............................**.*..*..*.**
...........................*.*.*.***.*.*.*
...........................*.*..**.**..*.*
............................***..*.*..***
.............................*.**...**.*
...........................**...*...*...**
...........................*.*....*....*.*
.............................*..*.*.*..*
.............................*.***.***.*
.............................*.*.....*.*
..........................**.*.*..*..*.*.**
..........................**.*.*..*..*.*.**
.............................*.*.***.*.*
............................*..*******..*
..*.**.***.................................................***.**.*
.**.**....**.*................*.......*................*.**....**.**
*..*.*..*...***..................***..................***...*..*.*..*
.*.....*...*...*.............***.....***.............*...*...*.....*
..............**....***.....**.***.***.**.....***....**
..............**..**.*.........***.***.........*.**..**
...............**....*.**.........*.........**.*....**
....................*..*.*...**.......**...*.*..*
...............**.*..*.*.*.*.............*.*.*.*..*.**
...................*........*...........*........*
..........................*.*************.*
.
.................................***
.
...............................*.....*
...............................*..*..*
#P -111 -82
............**
..........***.*..........***
......**.**...**.*.....*...**..***
......**..*..*.**.*...**...****.*.*
.....*..*......*...*.....**.*...**
....*..........*...*..*.....*...*..***
.......*......**.**.*.......*...**..***
..***.......**.*.*.....*....*.*.*.*....*
.**.*.**...*.....*.*..*****..**.*
*...*...*..**.*.*..*....*...**.*..**.*.*
.........***.**..***..............***
.......*..*...***....*............*
.........*.....**...*.............*
#P -69 -76
..**.............**
..*.*...........*.*
..*..*.........*..*
..*..*.........*..*
...*.*.........*.*
....*...........*
....**.........**
....*...........*
.
........**.**
.........*.*
........**.**
.
.......*.....*
.....**.......**
.....**..*.*..**
.....**.**.**.**
......*..*.*..*
.......**...**
.
.
.
.....*
.
.......*....**
.......*....**
........*
.......**...**
.......**...**
.
.
......*
......*
.......*
.......**
......***.**
.......*...*
....*...***
...*.*...*
...*..**....**
......**...***
..**.*.***.*..*
**.......*...*
**.**....**..*
...........**
....*
....*
....*
.
.
.
.
......*
.....*..*
.....*...*
.....**..*
.....**.**
.......*
.
.**
*.*
*
**
....***.*
........*...**
...*.**.**
...**....*
..**....**
.........*.*
.........*..*
.......**..*
.......****
.......***
#P -49 -28
.............*
...........***.***
..........**......*
.....*...*..*...**
....****
.......*
.*..*.*..*
*.......*
#P -116 -19
...........**............*
........**.*.**..........***...*
.....****..*....*....***.....****
....*....*......**...***.....*...*
....***.......*..**..**..*.....*.***
..............*...**.......**.*..**..*
...*........*.*.***.......**...*.*...*
**.****....**.*.*.*..**.*.**.*.*....**
**.*..*...*..**.*....*..*.*....*.**..*
*.*.*.***....***..**...*...**.*.**
.......**.......****............*..*
.......*..*.*....***............**
.............*.*
#P -81 6
......***
..*.**...*
.***...***..***
*...*....***.*.*
.*.......*....*
..........**
#P -104 23
...................***..........*
..........*.**...*..*.**......***.***
.........*..*.**.**.*.*......**......*
..*.**..**..*...*.*..**.**..*...*.*.*
.**.**.*.***.*.*...*...*.*..*.*
*..*.*.*.........*...*.*.*.**.....**....**
.*......*.......****.*...*.*.**....**..**.*
...................*...........**.***..**.*
...............*.*...*.***..*....*.*.*.*.**
......***.**.**...**..*......*............*
......**.**..*...*.......*..*.**............***
......***....*..*...*....****..................*
.**.**....****.....**......**...**........**..*
.**...*.....***.............*..*.*........*.*
*...*.***........................*..****..*
......*.**.......................*........*
......*...*..........................**
................................************
...............................**..........**
.
....................................*..*
.
.....................................**
....................................*..*
...................................******
....................................*..*
.....................................**
#P -43 39
............*............**
......*...***..........**.*.**
.....****.....***....*....*..****
....*...*.....***...**......*....*
..***.*.....*..**..**..*.......***
*..**..*.**.......**...*
*...*.*...**.......***.*.*........*
**....*.*.**.*.**..*.*.*.**....****.**
*..**.*....*.*..*....*.**..*...*..*.**
....**.*.**...*...**..***....***.*.*.*
..*..*............****.......**
....**............***....*.*..*
......................*.*
#P -104 72
.**.***.............**.**......***
.**....**.**......**.*...*...**.*
*..*.*....**....*....*....*.*...*.**
.......**.*.*..***...***...*****..*.*
...........**....*...*..*..**...*.*.***
...............*..*...***....*..*.*.*.*.***
...........*...*..*...*.*...***.*.*.*......*
...........*...*....*.*.*.*...*.*.*.*.**.**
.............**...............*.*.*.*.......**
.................................**.**..**..**
..................................*.**..*.**
...........................*....***..**.*.***..*
................*........**.*...***.........*.*
............***.***......**.*.*...*..*.*..*
...........*......**....*..**...*..........*
............**...*..*........*............*
......................***..*.*..**
......................*.****.****.*
....................*..*.*.*.*.*.*
#P -54 27
**
**
.
.
.
.
.
.
.
.
.***
*.*
*..*
*..*
.*.*
*..*
.**
.*
.
.
.
.
.
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
.
.
.
.*
..*
***
.
.
.
.
..**
..**
.
.
...**
...**
#P 21 -168
............*.......*...........................*.......*
...........****...****.........................****...****
..........*...**.**...*..........***..........*...**.**...*
..........*....*.*....*..........***..........*....*.*....*
........*.*.*.**.**.*.*.*.......*...*.......*.*.*.**.**.*.*.*
.......*......**.**......*.................*......**.**......*
......**.*...*.....*...*.**....*.....*....**.*...*.....*...*.**
....**.*.**...........**.*.*...**.*.**...*.*.**...........**.*.**
..**.*......................*...........*......................*.**
.*...*......................*...*...*...*......................*...*
..*.*.......................*....*.*....*.......................*.*
.............................*..*...*..*
...............................*.*.*.*
............................**.*..*..*.**
...........................*.*.*.***.*.*.*
...........................*.*..**.**..*.*
............................***..*.*..***
.............................*.**...**.*
...........................**...*...*...**
...........................*.*....*....*.*
.............................*..*.*.*..*
.............................*.***.***.*
.............................*.*.....*.*
..........................**.*.*..*..*.*.**
..........................**.*.*..*..*.*.**
.............................*.*.***.*.*
............................*..*******..*
..*.**.***.................................................***.**.*
.**.**....**.*................*.......*................*.**....**.**
*..*.*..*...***..................***..................***...*..*.*..*
.*.....*...*...*.............***.....***.............*...*...*.....*
..............**....***.....**.***.***.**.....***....**
..............**..**.*.........***.***.........*.**..**
...............**....*.**.........*.........**.*....**
....................*..*.*...**.......**...*.*..*
...............**.*..*.*.*.*.............*.*.*.*..*.**
...................*........*...........*........*
..........................*.*************.*
#P 44 -129
........*******
........*******
......*.........*
.....**.*.....*.**
....*....*...*....*
...*...............*
....**.*.......*.**
....**.*.......*.**
.......**.....**
....**.**.....**.**
....**.*.......*.**
......**.*...*.**
......**...*...**
........**...**
.........*...*
..........***
.
.
.**.**
.*..*
**.**...**...**......*
........**...**.....*
....................**
....................*.*
....................**
.
.
........**...**
........**...**
.
........**...**
........**...**
.
.
.
.
..........**
..........******
............**..*
..........*****.*
.........***...*
........*
........****
.......*...*
.......**.**
........*.......*.*
...............*..*
.........**.....*.*
#P 68 -126
..........................**
............***..........*.***
......***..**...*.....*.**...**.**
.....*.*.****...**...*.**.*..*..**
......**...*.**.....*...*......*..*
..***..*...*.....*..*...*..........*
.***..**...*.......*.**.**......*
*....*.*.*.*....*.....*.*.**.......***
.......*.**..*****..*.*.....*...**.*.**
*.*.**..*.**...*....*..*.*.**..*...*...*
...***..............***..**.***
.....*............*....***...*..*
.....*.............*...**.....*
#P 47 -73
..*...............***
.***..........***.***
*...*.......*
**.***..***.**.....**
...*.*.*....*.......*
....****.**...**...*
....****......*
.
...............*.*
................*
......*.**......*
....***.***
...*..*...*
...*......*
...*....**
.....*****
......**
.
.......*
.......*
.......*
#P 27 -72
.....*
.***.***
*......**
.**...*..*...*
...........****
...........*...*
.........*..*.*
..........*
#P 75 -63
............*............**
......*...***..........**.*.**
.....****.....***....*....*..****
....*...*.....***...**......*....*
..***.*.....*..**..**..*.......***
*..**..*.**.......**...*
*...*.*...**.......***.*.*........*
**....*.*.**.*.**..*.*.*.**....****.**
*..**.*....*.*..*....*.**..*...*..*.**
....**.*.**...*...**..***....***.*.*.*
..*..*............****.......**
....**............***....*.*..*
......................*.*
#P 62 -38
.......***
......*...**.*
.***..***...***
*.*.***....*...*
.*....*.......*
....**
#P 6 -29
...........**............*
........**.*.**..........***...*
.....****..*....*....***.....****
....*....*......**...***.....*...*
....***.......*..**..**..*.....*.***
..............*...**.......**.*..**..*
...*........*.*.***.......**...*.*...*
**.****....**.*.*.*..**.*.**.*.*....**
**.*..*...*..**.*....*..*.*....*.**..*
*.*.*.***....***..**...*...**.*.**
.......**.......****............*..*
.......*..*.*....***............**
.............*.*
#P 45 -22
...**
...**
..***
*.*
.
.
.....**
..**.*
...***
....*
#P 54 -26
.......***
......*...**.*
.***..***...***
*...***....*...*
.**...*.......*
....**
#P 109 -148
............*.......*...........................*.......*
...........****...****.........................****...****
..........*...**.**...*..........***..........*...**.**...*
..........*....*.*....*..........***..........*....*.*....*
........*.*.*.**.**.*.*.*.......*...*.......*.*.*.**.**.*.*.*
.......*......**.**......*.................*......**.**......*
......**.*...*.....*...*.**....*.....*....**.*...*.....*...*.**
....**.*.**...........**.*.*...**.*.**...*.*.**...........**.*.**
..**.*......................*...........*......................*.**
.*...*......................*...*...*...*......................*...*
..*.*.......................*....*.*....*.......................*.*
.............................*..*...*..*
...............................*.*.*.*
............................**.*..*..*.**
...........................*.*.*.***.*.*.*
...........................*.*..**.**..*.*
............................***..*.*..***
.............................*.**...**.*
...........................**...*...*...**
...........................*.*....*....*.*
.............................*..*.*.*..*
.............................*.***.***.*
.............................*.*.....*.*
..........................**.*.*..*..*.*.**
..........................**.*.*..*..*.*.**
.............................*.*.***.*.*
............................*..*******..*
..*.**.***.................................................***.**.*
.**.**....**.*................*.......*................*.**....**.**
*..*.*..*...***..................***..................***...*..*.*..*
.*.....*...*...*.............***.....***.............*...*...*.....*
..............**....***.....**.***.***.**.....***....**
..............**..**.*.........***.***.........*.**..**
...............**....*.**.........*.........**.*....**
....................*..*.*...**.......**...*.*..*
...............**.*..*.*.*.*.............*.*.*.*..*.**
...................*........*...........*........*
..........................*.*************.*
#P 156 -106
..........................**
............***..........*.***
......***..**...*.....*.**...**.**
.....*.*.****...**...*.**.*..*..**
......**...*.**.....*...*......*..*
..***..*...*.....*..*...*..........*
.***..**...*.......*.**.**......*
*....*.*.*.*....*.....*.*.**.......***
.......*.**..*****..*.*.....*...**.*.**
*.*.**..*.**...*....*..*.*.**..*...*...*
...***..............***..**.***
.....*............*....***...*..*
.....*.............*...**.....*
#P 132 -107
......*.........*
.....*.**.***.**.*
.....*.*.**.**.*.*
.....***.**.**.***
.........*...*
........**...**
.......**.....**
....***.*.....*.***
........***.***
.........**.**
..........***
...........*
.
....................*
.................**.*
.****
....*............***
*.**....**...**...****
.*......**...**......*
...................*.*
....................**
.....................**
.
.
........**...**
........**...**
.
........**...**
........**...**
.
.
.
.
.
.........**...*
........*.**..**
..........*....**
.
.
.........*..*
........***..**
.........*.*.**...*
......**....*.*....**
..........**.*.**
.........**.***.**
...........*****
...........*.*.*
..............*
.
..........**
#P 115 -52
.....*
.***.***
*......**
.**...*..*...*
...........****
...........*...*
.........*..*.*
..........*
#P 57 14
.**
...*
***
.*
#P 63 8
.......**.........**
....**.**.........**.**
....**...*.......*...**
***..*...............*..***
**..***.....***.....***..**
***.........***.........***
.*.........*...*.........*
..*..*...............*..*
.**.**....*.....*....**.**
.....*******.*.*******
....*.*.*.........*.*.*
#P 136 -53
.................***
***............**.*
*..*........***.*.**
*...*..***...**...*
.....*...*.**..**
.....*.....*
..*..*.......*...*
...*..........***
.
......*.*
.....**.*
...**....*
...*.*..***
...**.*.*
.....*
.
.
.
.....***
#P 163 -43
............*............**
......*...***..........**.*.**
.....****.....***....*....*..****
....*...*.....***...**......*....*
..***.*.....*..**..**..*.......***
*..**..*.**.......**...*
*...*.*...**.......***.*.*........*
**....*.*.**.*.**..*.*.*.**....****.**
*..**.*....*.*..*....*.**..*...*..*.**
....**.*.**...*...**..***....***.*.*.*
..*..*............****.......**
....**............***....*.*..*
......................*.*
#P 150 -18
.......***
......*...**.*
.***..***...***
*.*.***....*...*
.*....*.......*
....**
#P 134 -3
...***
...***
...**
..*
**..*
.*...*
.*..*
..***
#P 141 -1
...............*..........***
...........***.***......**.*..*...**.*
..........*......**......*.*.**.**.*..*
...........*.*.*...*..**.**..*.*...*..**..**.*
.................*.*..*.*...*...*.*.***.*.**.**
......**....**.....**.*.*.*...*.........*.*.*..*
.....*.**..**....**.*.*...*.****.......*......*
.....*.**..***.**...........*
.....**.*.*.*.*....*..***.*...*.*
.....*............*......*..**...**.**.***
.***............**.*..*.......*...*..**.**
*..................****....*...*..*....***
.*..**........**...**......**.....****....**.**
...*.*........*.*..*.............***.....*...**
.....*..****..*........................***.*...*
.....*........*.......................**.*
.........**..........................*...*
....************
...**..........**
.
.........**
.
.......******
#P 90 15
...........**............*
........**.*.**..........***...*
.....****..*....*....***.....****
....*....*......**...***.....*...*
....***.......*..**..**..*.....*.***
..............*...**.......**.*..**..*
...*........*.*.***.......**...*.*...*
**.****....**.*.*.*..**.*.**.*.*....**
**.*..*...*..**.*....*..*.*....*.**..*
*.*.*.***....***..**...*...**.*.**
.......**.......****............*..*
.......*..*.*....***............**
.............*.*
#P 141 48
..............***......**.**.............***.**
...............*.**...*...*.**......**.**....**
............**.*...*.*....*....*....**....*.*..*
...........*.*..*****...***...***..*.*.**
.........***.*.*...**..*..*...*....**
.....***.*.*.*.*..*....***...*..*
....*......*.*.*.***...*.*...*..*...*
.....**.**.*.*.*.*...*.*.*.*....*...*
..**.......*.*.*.*...............**
..**..**..**.**
....**.*..**.*
*..***.*.**..***....*
.*.*.........***...*.**........*
.....*..*.*..*...*.*.**......***.***
....*..........*...**..*....**......*
.....*............*........*..*...**
..............**..*.*..***
.............*.****.****.*
..............*.*.*.*.*.*..*
#P 134 26
...**
...**
.
.
.
.
.
.........*
.......**
........**
.
.
.
.
.
.
.
.
.
.**
.**
.
.
**
**
#P 124 63
.*
**
*.*
#P 101 71
.**
**
..*
#P 79 78
.*
**
*.*
#P 56 86
.**
**
..*
/programs/demos/life2/lif/FUSES.lif
0,0 → 1,285
#Life 1.05
#D Some fuses and some fenceposts
#D Mostly by Al Hensel.
#N
#P -35 -12
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
#P -25 -5
......*
.....*
.....**
*..**
.*..*
..**
.
..**
..*
...*
....*
#P -18 -15
.........*
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P -8 -22
....**
.....*
....*
...*
..*
.*
*
#P -20 6
*
.*
..*
...*
....*
.....*
......*
.......*
#P -12 10
.....*
....*
....**
..**
*..*
.**
.
.**
.*
..*
#P -6 0
.........*
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P 4 -9
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P 13 -15
..*
.*
.**
.
.**
*..*
..**
....**
....*
.....*
#P -9 20
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
#P 1 30
*
.*
..*
...*
....*
.....*
......*
.......*
........*
#P 10 33
......*
.....*
.....**
...**
..*.*
..*
*.*
.*
#P 17 24
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P 26 17
....**
.....*
....*
...*
..*
.*
*
#P 19 -5
*
.*
..*
...*
....*
.....*
......*
.......*
#P 27 3
*...**
.*..*.*.**
..*.*.**.*
...*
#P 16 -25
.........*
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P 26 -31
..*
.*
.**
.
.**
*..*
..**
....**
....*
.....*
#P 32 -23
....*.....*.....*
...*.*...*.*...*.*
*..*..*..*..*..*..*
.*.*...*.*...*.*...*
..*.....*.....*.....*
#P 53 -18
*
.*
..*
...*
....*
.....*
**....*
*.*.*.*...*
...**.**.*.*
..........*
#P 29 -41
.........*
........*
.......*
......*
.....*
....*
...*
..*
.*
*
#P 39 -52
......**
.....*..*
.....*..*
...**....**
..*........*
...**....**
....*....*
...*......*
..*........*
.*..........*
*............*
#P 53 -41
*
.*
..*
...*
#P 57 -41
.....*
....*
....**
..**
*..*
.**
.
.**
.*
..*
#P 63 -50
........*.....*
.......*.*...*
......*..*..*
.....*...*.*
....*.....*
...*
..*
.*
*
#P 78 -57
..**
..*.*
....*
...*
..*
.*
*
#P 60 -31
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
#P 70 -21
*
.*
..*
...*
....*
.....*
......*
.......*
........*
#P 79 -12
*..**
.*..*
..**
.
****
*..*
.**
/programs/demos/life2/lif/GLIDERS6.lif
0,0 → 1,18
#Life 1.05
#D How 6 gliders can pass right through each other
#D
#D This is somewhat amazing, considering that even
#D 4-glider collisions have not all been explored.
#N
#P 3 -3
..*
**........*
.**...*..*
.....**..***
.....*.*
#P -13 0
....*.*
***..**
..*..*...**
.*........**
.........*
/programs/demos/life2/lif/GUN104.lif
0,0 → 1,61
#Life 1.05
#D p104 r-pentomino shuttle gun
#D by Noam Elkies, March 1996.
#N
#P -4 1
**
.**
.*
#P -10 4
***
..*
#P -19 -9
.**
.**
.**
.*
*.*
*.**
.
.
.**
.**
#P -19 4
.**
*..*
*.*
.*.**
..***
...**
#P -10 -5
**
**
#P -2 8
.*
*.*
.*
#P 0 -8
.*
*.*
.*
#P 9 6
**
**
#P 15 -7
**
***
**.*
..*.*
.*..*
..**
#P 16 2
.**
.**
.**
.*
*.*
*.**
.
.
.**
.**
/programs/demos/life2/lif/GUN132.lif
0,0 → 1,78
#Life 1.05
#D p132 glider gun, using only one p44 engine.
#D
#D p44 oscillator by David Buckingham.
#D Gun by Dean Hickerson, June 1996.
#N
#P -21 -1
.**
*.*
*.*.**
.*.*.*
...*
.*..*
....*
*...*
*...*
....*
.*..*
...*
.*.*.*
*.*.**
*.*
.**
#P -4 5
.**
*.*
*
*.*
.**
#P 3 5
**
*.*
..*
*.*
**
#P 17 -1
...**
...*.*
**.*.*
*.*.*
..*
.*..*
.*
.*...*
.*...*
.*
.*..*
..*
*.*.*
**.*.*
...*.*
...**
#P -4 21
**
**
#P 4 21
**
**
#P 11 -2
**
*.*
..*
..**
#P -8 -8
*
***
...*
..**
#P -7 -19
.*
..**
**
..*
#P 6 -22
..**
..*
*.*
**
/programs/demos/life2/lif/GUN144.lif
0,0 → 1,58
#Life 1.05
#D p144 glider gun
#D Found by Bill Gosper, 7/22/94,
#D using an oscillator by Achim
#D Flammenkamp, Dean Hickerson,
#D and David Bell, combined with
#D a p72 oscillator by Bob
#D Wainwright. Same period as
#D GUNSTAR but much smaller.
#N
#P -29 -11
....**
****....**
***.**..**
.....*
#P -9 -11
.....*
***.**..**
****....**
....**
#P -22 -4
**
**
#P -8 -4
**
**
#P -12 -1
.***
*
*..*
.**
#P 1 2
..**
.*..*
*...*
...*
.***
.*
#P -2 8
***
#P 10 -1
...*
.***
.*
*...*
*..*
.**
#P 15 -2
***
#P 20 -6
**
**
#P 20 11
**
**
#P -6 11
**
**
/programs/demos/life2/lif/GUN184.lif
0,0 → 1,37
#Life 1.05
#D p184 gun using a single b-heptomino.
#D
#D Since 184 is a multiple of 46, this
#D gun is perfect for p46 glider logic.
#D David Buckingham, July 1996.
#N
#P -3 -19
...*
.***
*
**
#P 8 -15
...*
.***
*
**
#P -7 0
.***
*..*
**..*
...**
#P -19 -3
..**
.*.*
.*
**
#P -15 8
..**
.*.*
.*
**
#P -4 13
**
*
.***
...*
/programs/demos/life2/lif/GUN246.lif
0,0 → 1,42
#Life 1.05
#D p246 gun, using a single bookend-based engine
#D
#D by David Buckingham, June 1996
#N
#P 10 -21
.....**
.....*..*
.
.
.....*.**
**..*.*
*....*
....*
.*..*
#P 16 3
**
*.*
..*
..**
#P -23 0
..**
.*.*
.*
**
#P -17 13
...*
..*.****
.*.*.***
*.*
.*
.**
.**
.**
#P -11 -8
**
**
#P 1 -5
.**
..*
*.*
**
/programs/demos/life2/lif/GUN30.lif
0,0 → 1,39
#Life 1.05
#D p30 glider gun (the Original)
#D
#D This is made of two of a pattern
#D know as the "queen bee", which
#D sometimes occurs naturally,
#D whose debris can be deleted on
#D the sides by blocks or eaters.
#D But a collision in the center
#D can, as seen here, miraculously
#D form a glider. Just one of these
#D moving back and forth is called
#D piston (see the p30 in OSCSPN2).
#N
#P 4 -5
....*
.****
****
*..*
****
.****
....*
#P 13 -4
*
*
#P -6 -3
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P 17 -2
**
**
#P -17 0
**
**
/programs/demos/life2/lif/GUN44.lif
0,0 → 1,74
#Life 1.05
#D Single-engine p44 glider gun
#D Found by David Buckingham, Oct 1996
#N
#P -15 -13
**
.*
.*.*
..**
#P 1 -20
..**
..*
*.*
**
#P 3 -13
**
**
#P 6 -10
...*
.***
*
**
#P -21 -3
.**
*.*
*.*.**
.*.*.*
...*
..*..*
..*
..*...*
..*...*
..*
..*..*
...*
.*.*.*
*.*.**
*.*
.**
#P -4 3
..*
.**
*
.**
..*
#P 3 3
*
**
..*
**
*
#P 16 -3
....**
....*.*
.**.*.*
.*.*.*
...*
.*..*
....*
*...*
*...*
....*
.*..*
...*
.*.*.*
.**.*.*
....*.*
....**
#P -4 19
**
**
#P 4 19
**
**
/programs/demos/life2/lif/GUN46.lif
0,0 → 1,38
#Life 1.05
#D p46 glider gun
#D Based on two shuttles which
#D make use of a double
#D B-heptomino reaction. See
#D the p46 piston in OSCSPN2.
#N
#P 2 -17
**
**
#P -6 -8
..*
.***
**.*
#P 1 -8
.*
***
*.**
#P -25 4
..*
..**
*.***
....**
...**
...*
.
...*
...**
....**
*.***
..**
..*
#P -36 6
**
**
#P -9 13
**
**
/programs/demos/life2/lif/GUNB112.lif
0,0 → 1,125
#Life 1.05
#D p112 gun, using a B track
#D By Dave Buckingham, 7/5/96.
#N
#P -30 -29
*
***
...*
..**
#P -27 -23
**
**
#P -15 -31
...*
.***
*
**
#P -11 -15
**
*
..*
.**
#P -14 -11
**
*
.***
...*
#P 25 -30
..**
..*
*.*
**
#P 21 -27
**
**
#P 27 -15
**
*.*
..*
..**
#P 11 -11
..**
*..*
**
#P 7 -14
..**
.*.*
.*
**
#P 26 25
**
*
.***
...*
#P 25 21
**
**
#P 11 27
..**
...*
***
*
#P 8 11
**
*
..*
.**
#P 10 7
*
***
...*
..**
#P -29 26
..**
.*.*
.*
**
#P -23 25
**
**
#P -31 11
**
.*
.*.*
..**
#P -15 8
..**
*..*
**
#P -11 10
..**
..*
*.*
**
#P -11 -23
**
.**
.*
#P 20 -11
..*
***
.*
#P 8 20
.*
**
.**
#P -23 8
.*
***
*
#P -1 -32
**
.*
.*.*
..**
#P 28 -1
...*
.***
*
**
#P -3 28
**
*.*
..*
..**
/programs/demos/life2/lif/GUNB256.lif
0,0 → 1,59
#Life 1.05
#D p256 gun, using a B track
#D By David Buckingham, 9/29/95.
#D Based on an idea by Mark Niemec.
#D See also BTRACK, SLR.
#N
#P 16 7
.......**
.......**
.
.
.
..**
..**
......**
......**
.
.
**
**
#P 7 -24
**
**.....**
.......**
.
.
.....**
.....**
...........**
...........**
#P -24 -19
.......**
.......**
.
.
.**
.**
.....**
.....**
.
.
.
**
**
#P -19 16
**
**
......**
......**
.
.
....**
....**.....**
...........**
#P 0 9
*
***
*.*
..*
/programs/demos/life2/lif/GUNB856.lif
0,0 → 1,135
#Life 1.05
#D p856 gun, using a B track
#N
#P 22 13
.*
***
*.**
#P 23 2
**
**
#P 4 -9
..**
..**
.
...*
..*.*
.*..*
*..*
.
*..*
..**
#P 42 -13
...**
...*
..**..***
..*...*.***
..**.*....*
....*.*
*....*.**
***.*...*
..***..**
.......*
......**
#P 28 -34
...*
.***
*
**
#P 2 -24
**
**
#P -9 -8
.****
*.......**
*...**..**
.*..**
#P -12 -51
.*.*..*
.***.*.**
*......*
.*.....**
.
**.....*
.*......*
**.*.***
..*..*.*
#P -34 -31
**
.*
.*.*
..**
#P -24 -3
**
**
#P -9 0
..**
..**
.
...*
..*.*
.*..*
*..*
.
*..*
..**
#P -51 4
**.******
**.******
**
**.....**
**.....**
**.....**
.......**
******.**
******.**
#P -31 31
..**
...*
***
*
#P -3 23
**
**
#P 0 5
.****
*.......**
*...**..**
.*..**
#P 2 41
.......**
......****
..*.**.**.*
.*..**
***..**..**
***..*.****
.*..*...*..*
..****.*..***
..**..**..***
.......**..*
..*.**.**.*
...****
....**
#P 31 28
**
*.*
..*
..**
#P 20 19
**
**
#P -7 32
..**
...*
***
*
#P 32 4
**
*.*
..*
..**
#P 4 -35
...*
.***
*
**
/programs/demos/life2/lif/GUNSTAR.lif
0,0 → 1,443
#Life 1.05
#D 4-barrelled p144 gun
#D This is a p144 gun based on an unnamed p72 oscillator found by
#D Bob Wainwright. Two copies of the p72 together with a blocker and
#D 2 eaters can duplicate a glider. One output glider emerges in the
#D same direction as the original; the other is turned 90 degrees.
#D By putting together 4 such reflectors, a 4-barrelled gun can be
#D built with period 144+72N for any N>=0.
#D This was built by David Buckingham some time before 11/21/91.
#D (This header written by Dean Hickerson, 1/25/93)
#N
#P -36 -75
.**
.**
.**
.*
*.*
*.**
.
.
.**
.**
#P -36 -55
.**
.**
.**
..*
.*.*
**.*
.
.
.**
.**
#P -29 -68
**
**
#P -25 -63
**
*.*
*
#P -29 -59
.....**
.*...*..*
*..*.***
***.*
.*.***
.......*
#P -20 -50
***
*
.*
#P -11 -53
**
**
#P -15 -64
*
***
...*
..**
#P 3 -61
.*
**
*.*
#P 10 -64
..**
..*
*.*
**
#P 14 -61
..**
..**
.
...*
..*.*
.*..*
*..*
.
*..*
..**
#P -4 -44
..**
...*
***
*
#P 7 -43
**
**
#P 5 -33
....**
**..**..**
*.*..*..**
.***
..**
#P 12 -38
**
**
#P 17 -46
.......***
.
...***.*..*
.*.***
*......***
**
.
...**
......**
....*.*
.....*
#P 25 -34
..**
.***
*.*..*..**
**..**..**
....**
#P 44 -36
....*
**..**.***
**....****
....**
#P 64 -36
....**
**....****
**..**.***
....*
#P 65 -29
**
**
#P 59 -25
***
..*
.*
#P 52 -29
..**
.**.*
..*
.*.*
.**
.*.***
...*.*
*..*
....*
#P 46 -20
.**
*.*
..*
#P 59 -15
..**
..*
*.*
**
#P 50 -11
**
**
#P 39 -4
**
.*
.*.*
..**
#P 57 3
**
.**
*
#P 59 10
**
*
.***
...*
#P 50 14
.*.*
....*
*....*..**
**.*..*.**
....**
#P 40 7
**
**
#P 35 12
**
**
#P 27 5
..**
.*.*
***
**
...**
..***
.
.
..**
..**
#P 39 17
**
*.*
.
..**
..**
..**
.
.*.*.*
.*...*
.*...*
...*
#P 34 20
...*
.*.*
*
.**
..*
#P 28 25
.**
.*.*
..***
...**
**
***
.
.
.**
.**
#P 31 44
.**
.**
.
.
*.**
*.*
.*
.**
.**
.**
#P 31 64
.**
.**
.
.
**.*
.*.*
..*
.**
.**
.**
#P 26 65
**
**
#P 19 52
.*
...***.*
....*.***
.***.*..*
*..*...*
..**
.
....*
..*.*
...**
#P 16 46
.*
..*
***
#P 10 59
**
*
.***
...*
#P 8 50
**
**
#P -1 39
...*
.***
*
**
#P -16 27
......**
......***
**..*..*.*
**..**..**
....**
#P -15 35
**
**
#P -10 40
**
**
#P -7 57
*.*
.**
.*
#P -15 59
..**
.*.*
.*
**
#P -20 50
.**
.*..*
.
.*..*
*..*
*.*
.*
.
.**
.**
#P -29 34
.....*
....*.*
...**
......**
.
.........**
.***......*
.....***.*
*..*.***
.
.***
#P -36 28
....**
**..**..**
**..*..*.*
......***
......**
#P -55 31
....**
****....**
***.**..**
.....*
#P -75 31
.....*
***.**..**
****....**
....**
#P -68 26
**
**
#P -63 21
.*
*
***
#P -59 19
.*
..*..*
*.*
***.*
...**
..*.*
...*
.*.**
..**
#P -50 16
*
*.*
**
#P -64 10
..**
.*.*
.*
**
#P -53 8
**
**
#P -44 -1
**
*.*
..*
..**
#P -61 -7
..*
**
.**
#P -64 -15
*
***
...*
..**
#P -61 -20
....**
**.*..*.**
**..*....*
.....*
......*.*
#P -43 -10
**
**
#P -38 -15
**
**
#P -33 -16
.**
.**
.
.
***
**
...**
..***
.*.*
.**
#P -46 -29
..*
*...*
*...*
*.*.*
.
..**
..**
..**
.
...*.*
....**
#P -39 -26
.*
.**
...*
*.*
*
#P -34 -36
..**
..**
.
.
..***
...**
**
***
.*.*
..**
#P -14 -20
*
*.*
**
#P 16 -14
***
*
.*
#P 10 16
.**
*.*
..*
#P -20 10
.*
..*
***
/programs/demos/life2/lif/GUNSTAR2.lif
0,0 → 1,241
#Life 1.05
#D David Buckingham's p168 glider gun
#D A 4-barrelled, period 168 glider gun, using 4 B-heptominoes moving
#D around a p840 track consisting of 4 64 gen turns and 8 73 gen turns.
#D Built by David Buckingham sometime before 11/20/91
#N
#P -20 -53
....**
.*.*..*.**
**..*....*
.....*......**
......*.....*
#P 3 -42
**
.*
#P 12 -60
...*
.***
*
**
#P 15 -56
..**
..*
*.*
**
#P 16 -47
.**
*..*
*
*
*.*
..**
.
.
.**
..*
#P 8 -35
.***
.*
***
#P 28 -38
....*...*
**..**...*
.*.......*
.....****
#P 47 -20
..**
...*
.
.
...*
.*.**
.*
.*
.*..*
..**
.
.
**
.*
#P 43 1
...**
**..*
*..*
.***
#P 55 12
**
*.*
..*
..**
#P 51 15
**
*
.***
...*
#P 36 16
....**
**.*..*.**
*....*..*
....*
...*
#P 33 28
.**
.*
.
.*..*
*..*
*.*
.*
.
.**
.*
#P 12 30
.*
**
#P 14 38
.*
**
#P 5 47
.*
**
#P 9 48
....**
.*.*..*.**
**..*....*
.....*
......*
#P -20 51
..**
.*.*
.*
**
#P -17 55
..**
...*
***
*
#P -21 30
..*
..**
.
.
.
.
.**
*..*
*
*
*.*
..**
.
.
.*
.**
#P -39 33
....*...*
*...**...*
**.......*
.....****
#P 7 39
..*
.**
**
.**
#P -36 17
.**...*
.**.**.**
.*.......*
**......*
.**..**
.**...*
#P -53 9
.*
.**
.
.
..*
*.**
*
*
*..*
.**
#P -50 5
*
**
#P -60 -17
**
.*
.*.*
..**
#P -56 -20
*
***
...*
..**
#P -47 -21
....**
**.*..*.**
*....*..*
....*
...*
#P -38 -39
.**
.*
.
.*..*
*..*
*.*
.*
.
.**
.*
#P -33 -19
**
*
#P -24 -18
.***
.*..*
.....*
..*..*
..**
..**
*.**
***
.*
#P -14 -19
.*
**.*
....*
.*
..*.**
....*
#P 10 -16
......**
.
.....*...*
....*....*
...*.*.*
..*.*.*
*....*
*...*
.
..**
#P 6 11
.***
*
*...*
*..*.*
..*.*..*
...*...*
.......*
....***
#P -20 6
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
/programs/demos/life2/lif/GUNSTAR3.lif
0,0 → 1,401
#Life 1.05
#D 4-barrelled p216 gun
#D Notice the similarity to
#D GUNSTAR, which has a
#D period of 144.
#N
#P -35 -74
.**
.**
.**
.*
*.*
*.**
.
.
.**
.**
#P -28 -67
**
**
#P -26 -64
.**
*.**
...*
#P -35 -54
.**
.**
.**
..*
.*.*
**.*
.
.
.**
.**
#P -29 -56
...**
..***
..***.**
*****.**
....*.*
....***
#P -21 -51
***
*
.*
#P -14 -63
*
***
...*
..**
#P -10 -52
**
**
#P -3 -43
..**
...*
***
*
#P 11 -63
..**
..*
*.*
**
#P 15 -60
..**
..**
.
...*
..*.*
.*..*
*..*
.
*..*
..**
#P 3 -35
*
*.*
**
#P 6 -32
....**
**..**..**
*.*..*..**
.***
..**
#P 13 -37
**
**
#P 18 -43
.....*
....*.*
*.***
*..*.*
**
#P 25 -41
.**
.**
***
*
.*
**
*
#P 26 -33
..**
.***
*.*..*..**
**..**..**
....**
#P 45 -35
....*
**..**.***
**....****
....**
#P 65 -35
....**
**....****
**..**.***
....*
#P 62 -26
.*
..*
.**
**
#P 66 -28
**
**
#P 49 -21
.**
*.*
..*
#P 51 -29
..*
..*
..***
..****
******
*
****
..**
#P 60 -14
..**
..*
*.*
**
#P 51 -10
**
**
#P 40 -3
**
.*
.*.*
..**
#P 60 11
**
*
.***
...*
#P 51 15
.*.*
....*
*....*..**
**.*..*.**
....**
#P 33 3
***
*
.*
#P 28 6
..**
.*.*
***
**
...**
..***
.
.
..**
..**
#P 36 13
**
**
#P 39 18
***
*
..*
.**
..**
.*..*
...*
#P 35 25
**.**
.**.***
....***
#P 29 26
.**
.*.*
..***
...**
**
***
.
.
.**
.**
#P 32 45
.**
.**
.
.
*.**
*.*
.*
.**
.**
.**
#P 22 51
.***
.*.*
**.*****
**.***
...***
...**
#P 19 49
.*
..*
***
#P 32 65
.**
.**
.
.
**.*
.*.*
..*
.**
.**
.**
#P 27 66
**
**
#P 23 62
*
**.*
.**
#P 11 60
**
*
.***
...*
#P 9 51
**
**
#P 0 40
...*
.***
*
**
#P -5 33
.**
*.*
..*
#P -15 28
......**
......***
**..*..*.*
**..**..**
....**
#P -14 36
**
**
#P -19 51
.**
.*..*
.
.*..*
*..*
*.*
.*
.
.**
.**
#P -14 60
..**
.*.*
.*
**
#P -24 39
.....**
.*.*..*
..***.*
*.*
.*
#P -27 35
..*
.**
.*
..*
***
**
**
#P -35 29
....**
**..**..**
**..*..*.*
......***
......**
#P -54 32
....**
****....**
***.**..**
.....*
#P -74 32
.....*
***.**..**
****....**
....**
#P -67 27
**
**
#P -64 23
.**
**
*
.*
#P -56 22
..**
..****
.....*
******
****
.***
...*
...*
#P -51 19
*
*.*
**
#P -63 11
..**
.*.*
.*
**
#P -52 9
**
**
#P -43 0
**
*.*
..*
..**
#P -35 -5
.*
..*
***
#P -32 -15
.**
.**
.
.
***
**
...**
..***
.*.*
.**
#P -37 -14
**
**
#P -63 -14
*
***
...*
..**
#P -60 -19
....**
**.*..*.**
**..*....*
.....*
......*.*
#P -43 -27
..***
..***.**
....**.**
.*
*..*
.**
..**
..*
....*
..***
#P -33 -35
..**
..**
.
.
..***
...**
**
***
.*.*
..**
/programs/demos/life2/lif/HACKSAW.lif
0,0 → 1,430
#Life 1.05
#D Hacksaw (orthogonal sawtooth with expansion factor 9)
#D Population is unbounded but does not tend to infinity. Its graph is a
#D sawtooth function with ever-increasing teeth. More specifically, the
#D population in generation t = 385*9^n - 189 (n>=1), is t/4 + 1079, but the
#D population in generation 1155*9^n - 179 (n>=0) is only 977.
#D
#D The pattern consists of two parts, a stationary shotgun and a set
#D of puffers moving east. The shotgun produces, and usually destroys, a salvo
#D consisting of a MWSS and 2 LWSSs. The moving part consists of a period 8
#D blinker puffer (found by Bob Wainwright), and two p24 glider puffers, whose
#D output gliders destroy each other (with help from an accompanying MWSS). In
#D generation 385*9^n - 189 (n>=1) (and 228 for n=0), a salvo hits the back end
#D of the row of blinkers, causing it to decay at 2c/3. When the row is
#D completely gone, a new row starts to form and a spark is produced. The spark
#D is turned into a glider by an accompanying HWSS; the glider is turned into a
#D westward LWSS, in generation 1155*9^n - 127 (n>=0), by interaction with the
#D glider puffers. (This 3 glider synthesis of a LWSS is due to David
#D Buckingham.) When the LWSS hits the shotgun, in generation 2310*9^n - 184
#D (n>=0), another salvo is released, starting the cycle again.
#D
#D The idea for this sawtooth pattern was suggested by Bill Gosper.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 7/8/92
#N
#P 82 -28
....*
.....*
*....*
.*****
.
.
.
...**
***.**
.****
..**
#P 77 -19
***
#P 79 -15
.....*
......*
*.....*
.******
#P 94 8
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 88 12
..***
**.**
..***
#P 84 14
***
#P 80 5
....**
****.**
******
.****
#P 80 20
.******
*.....*
......*
.....*
#P 71 17
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 67 21
..*
*.*
..*
#P 58 12
.****
*...*
....*
...*
#P 57 -3
.....*
......*
*.....*
.******
#P 34 9
.*****
*....*
.....*
....*
#P 60 29
.******
*.....*
......*
.....*
#P 76 41
**
.*
#P 65 39
...*
..**
.**
***
.**
..**
...*
#P 47 41
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 44 46
**
.*
#P 35 44
....**
....*
.**
***
.**
....*
....**
#P 25 42
*
*.*
...**
...**
...**
*.*
*
#P 14 44
**
*
#P 35 26
.**
*..*
...*
...*
**.*
.*
.
.
..*
.**
#P 37 40
*
**
#P 48 32
.**
**
..*
#P 52 32
*..*
....*
*...*
.****
#P 17 25
**
.*
#P 7 23
..**
.*
*
*
*
.*
..**
#P -11 25
....*
..*.*
**
**
**
..*.*
....*
#P -22 22
*
**
.**
.***
.**
**
*
#P -38 20
....**
...***
*.**
*..*
*.**
...***
....**
#P -45 22
**
*
#P -6 21
.*
**
#P -6 7
.*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P -13 -11
.....*
***.**...*
****....**
....**
#P -19 -6
..**
.*.*
***
**
...**
..***
.
.
...*
..**
#P -21 9
.*
**
#P -36 7
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -40 10
**
*
#P -46 5
...*
..**
.**
***
.**
..**
...*
#P -55 7
**
*
#P 15 -33
..**
..*
*.*
**
#P 14 -44
.*
**
#P 2 -47
**
..*
...*
...*
...*
..*
**
#P -1 -46
*
**
#P -9 -49
*
*.*
...**
...**
...**
*.*
*
#P -25 -46
...*
..**
.**
***
.**
..**
...*
#P -26 -37
**
*
#P -39 -44
**
***
..**.*
..*..*
..**.*
***
**
#P -48 -46
**
.*
.*.*
..**
#P -45 -37
**
*.*
..*
..**
#P -53 -42
*
****
.****
.*..*
.****
****
*
#P -69 -44
...**
..*.*
.***
***
.***
..*.*
...**
#P -77 -42
**
*
#P -61 -40
*.*
**
.*
#P -61 -33
.**.........**
*..*.......*..*
***.........***
...*********
..*..*****..*
..**..***..**
#P -83 -51
**
.*
#P -86 -40
..***
.*...*
*.....*
.*...*
..***
..***
#P -88 -30
..***
.**.**
.**.**
.*****
**...**
#P -100 -11
**
*
#P -94 -13
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -77 -11
**
*..*
....*
....*
....*
*..*
**
#P -66 -9
.*
**
#P -85 -17
*
**
#P -83 -11
.**
*.*
..*
#P -24 -13
**
.*
#P -36 -15
...**
..*.*
.***
***
.***
..*.*
...**
#P -48 -13
*
****
.****
.*..*
.****
****
*
#P -58 -10
*
**
#P -35 -6
**
*
#P -44 -23
....*
.....*
*....*
.*****
#P -57 -25
...*
....*
*...*
.****
/programs/demos/life2/lif/HIGHAQ33.lif
0,0 → 1,22
#Life 1.05
#R 23/36
#P 2 -9
...**
...**
...*.**
...*.*
...***
....*
.***
*.*
.**
....**
.**
*.*
.***
....*
...***
...*.*
...*.**
...**
...**
/programs/demos/life2/lif/HIGHBIRD.lif
0,0 → 1,24
#Life 1.05
#R 23/36
#P -21 4
..........*..........*
......*.**.**.*.....**
.....**.......**...***
......**.*.*.*.*..**
....***.......*.*.*..*
......*.........*.*.*
.***............***.*
.*................*
.
**................**
#P 1 4
..........*
*.....*.**.**.*
**...**.......**
.**..*.*.*.*.**
..*.*.*.......***
*.*.*.........*
*.***............***
..*................*
.
.**................**
/programs/demos/life2/lif/HIGHBRDR.lif
0,0 → 1,58
#Life 1.05
#R 23/36
#P -45 -52
**
.*
.*.*
..**
#P 46 -50
..**
..*
*.*
**
#P -50 -43
*
***
...*
..**
#P -22 -33
.***
*
*
*
#P -32 -21
..**
...**
*.**
***
.*
#P 7 -16
***
*..*
*...*
.*..*
..***
#P 9 -2
...*
...*
...*
***
#P -15 8
.***
*...*
*....*
*..*..*
.*....*
..*...*
...***
#P 0 11
...*
..***
.**.*
**
.**
#P -48 48
..**
...*
***
*
/programs/demos/life2/lif/HIGHCRNA.lif
0,0 → 1,11
#Life 1.05
#R 23/36
#P 7 4
.***
*
*
*
#P 16 7
*
*
*
/programs/demos/life2/lif/HIGHGUN2.lif
0,0 → 1,74
#Life 1.05
#R 23/36
#P -17 -25
....*
....**
..**.**
..*....*
**......*
.**.....**
..*......**
...*....*
....**.**
.....**
......*
#P 11 -23
..***
.*..*
*...*
*..*
***
#P -33 -9
....*
....**
..**.**
..*....*
**......*
.**.....**
..*......**
...*....*
....**.**
.....**
......*
.
....***
...*..*
..*...*
..*..*
..***
#P 23 -7
......***
.....*..*
....*...*
....*..*
....***
.
....*
....**
..**.**
..*....*
**......*
.**.....**
..*......**
...*....*
....**.**
.....**
......*
#P 7 15
....*
....**
..**.**
..*....*
**......*
.**.....**
..*......**
...*....*
....**.**
.....**
......*
#P -15 19
..***
.*..*
*...*
*..*
***
/programs/demos/life2/lif/HIGHGUN3.lif
0,0 → 1,36
#Life 1.05
#R 23/36
#P -61 -54
**
.*
.*.*
..**
#P -39 -36
..***
.*..*
*...*
*..*
***
#P -7 -4
..***
.*..*
*...*
*..*
***
#P 2 0
..***
.*..*
*...*
*..*
***
#P 34 32
..***
.*..*
*...*
*..*
***
#P 57 51
**
*.*
..*
..**
/programs/demos/life2/lif/HIGHLOOP.lif
0,0 → 1,192
#Life 1.05
#R 23/36
#P -7 -42
*
***
...*
..**
#P 17 -38
*
***
...*
..*
..*...*
.
.....*
.
....*.*
.
.....*
.....*
...**.**
.....*
#P -5 -33
..***
..*.*
..*.*
..***
.
.*...*
.....*
....*
........**
*........*
.**......*.*
..........**
#P -21 -29
**
.*
.*.*
..**
#P 33 -27
......*
....***
...*
...**
.
.
***
*.*
***
.
***
***
.*
#P -14 -26
..*
**.*
*...*
**.*
..*
#P 13 -22
.*..*
*...*
*..*.*
*...*
.*..*
.
.....*.*
.....**
......*
#P 49 -13
..**
..*
*.*
**
#P -15 -12
..*
**
.**
#P -12 -11
.....*
...***
..*
..**.......***.**
...........*.*.***
...........***.**
.......**
......*.*
**....*
.*...**
*.......................*
.
*.......................*
..................**...*.*
..................*....***
................*.*
................**
........**.***
.......***.*.*
........**.***.......**
......................*
...................***...**
...................*......**
.........................*
#P 40 -9
...**
*.*.*
...**
#P -13 -3
*
*
#P -44 7
**
*.*.*
**
#P -52 10
..**
.*.*
.*
**
#P -35 15
.*
***
***
.
***
*.*
***
#P -24 14
.....*
.....**
....*.*
.
.......*..*
.......*...*
......*.*..*
.......*...*
.......*..*
.
.
..*
**.**
..*
..*
.
.*.*
.
..*
.
.*...*
.....*
....*
.....***
.......*
#P -6 22
**
*.*
..*
..**
#P 0 23
...**
.....*
.
.*
*
*...*
.
.***
.*.*
.*.*
.***
#P 10 22
..*
.*.**
*...*
.*.**
..*
#P -39 24
..**
...*
***
*
#P 18 26
**
*.*
..*
..**
#P 4 39
**
*
.***
...*
/programs/demos/life2/lif/HIGHOSCS.lif
0,0 → 1,421
#Life 1.05
#R 23/36
#P 3 -38
.....**
.....*
...*.*
...**
**
#P 1 -33
.*.*
.*
**
#P 15 -40
.....**
.....*
..**.*
.*..*
.*
...*
*..*
#P 13 -33
.*.**
.*
**
#P 25 -38
..****
..*..*
***..***
*......*
*......*
#P 25 -33
***..***
..*..*
..****
#P -30 -35
.....*
.*.**
*.*
.*
.....*
#P -24 -34
*.**
*.**
*
*
#P -17 -35
....*
....***
...*.*
***.*
#P -9 -34
..*.***
.*.*
***
..*
#P -18 -20
.*
*.*
#P -19 -17
**...*
*.....*
...*.*
..**
#P 52 -21
***
.***..*
.....*
.....*
.....*
.***..*
***
#P 61 -21
....***
*..***
.*
.*
.*
*..***
....***
#P -28 -19
..*.*
.....*
.*..*
*.*.*
#P -28 -15
*..*
.**
#P -9 -18
**
.*.*
.**
.*.*
**
#P -5 -18
.**
.*
**
.*
.**
#P 1 -17
**
**.**
.*..*
.**.**
#P 7 -17
....**
.**.**
.*..*
**.**
#P 16 -19
..**.**..**
*..*.*..***
**....*****
....**
...*..*
....**
#P 27 -19
**..**.**
***..*.*..*
*****....**
.....**
....*..*
.....**
#P 33 -8
..*...*
.*.*.*.*
*..*.*..*
.**...**
..*.*.*
#P 33 -3
.***.***
*.......*
*.**.**.*
.*.*.*.*
#P 6 -7
.......**
.......**
.
.....****
....*....*
...*.*.**.*.**
...*.*....*.**
**.*....*.*
#P 6 1
**.*.**.*.*
....*....*
.....****
.
.....**
.....**
#P -46 -3
......**
.....*.*
**...*
*..*.**
.***
#P -44 2
....***
.**.*..*
..*...**
*.*
**
#P -27 -2
***
***
#P -23 0
***
***
#P -10 -2
*.*.**
******
#P -10 2
.
.
#P 14 11
...**
...**......**
...........**.*
.****.......*
*....*......**
*..*.*
*..*.*.**
*.*..*.**
.****
.
.**
.**
#P 29 7
......***
...**.**
...**.**
....*
.
.
*...*
*..**.****.**
****.**..*..*
.....*...**.**
............**
.
.....*
..**.**
..**.**
.***
#P 60 7
*.*
#P 61 8
**
*
#P 66 6
**
.*
#P 67 8
*.*
.**
#P 86 6
**
*
#P 84 8
*.*
**
#P 78 10
**
#P 77 11
*.*
.**
#P -27 12
**
.*
.*.*
..*.*
....**.**
#P -28 17
........**
..**
...*
***
*
#P -16 12
*
***
...*
..*..........**
..*..*.......**
.....*
...*.*
...**..**
.......*.*
.........*
.........**
#P 0 11
...**
...**
.
.****
*....*.....**
**...*.....**
*..*.*.**
*.*..*.**
.****
.
.**
.**
#P 63 16
**
#P 61 17
.*.*
.*
**
#P -67 18
***
*..*
#P -67 20
*...*
.*..*
..***
#P -52 18
.***
*..*
#P -53 20
*...*
*..*
***
#P 71 17
**.*
**.***
......*
**.**.*
.*.*.*
#P 72 22
*..*
.**
#P -72 29
...*
..*.*
**
#P -70 32
*.*
.*
#P -48 29
.*
*.*
...**
#P -48 32
*.*
.*
#P -33 37
....*
....*.*
.*..**
***
#P -34 41
**.**
.***
..*..**
.....*.*
.....*
#P -19 37
..*
*.*
.**..*
....***
#P -19 41
...**.**
....***
.**..*
*.*
..*
#P -67 40
..***
.*..*
*...*
#P -67 43
*..*
***
#P -53 40
***
*..*
*...*
#P -52 43
*..*
.***
#P -4 38
**
.*
.*.*
..**
.
.....***
.
..**
.*.*
.*
**
#P 4 38
......**
......*
....*.*
....**
.
***
.
....**
....*.*
......*
......**
#P 15 38
**
.*
.*.*
..**
.
.....******
#P 15 45
..**
.*.*
.*
**
#P 28 38
.........**
.........*
.......*.*
.......**
.
******
#P 35 45
**
*.*
..*
..**
#P 61 39
*
***........**
...*.......*
..*......*.*
..*...*..**
.......*
....*..*
#P 60 46
......***
.
..**
.*.*.....**
.*.......*
**........***
............*
#P -28 53
...**
.*
.*
.*
..*
*.*
**
#P -23 54
.*
.*
.*
*
*.*
.**
/programs/demos/life2/lif/HIGHPUF.lif
0,0 → 1,153
#Life 1.05
#R 23/36
#D Line Puffer, analogous to the one in regular life.
#P -1 1
.....*
.....*.*.*.***
.....*.*..*..***
.....*....*.*...*
.....*...*..**...*
.....*.*..**.*...*
.....*...*..**...*
.....*....*.*...*
.....*.*..*..***
.....*.*.*.***
.....*
.....*
....*....**.***
......*....*..**
......*.**..*..**
.........****..***
....*.*.**......*
......*..**....*
...*..**..*....*
.....*...**...***
.*.*..**.*......*
..*..*.******...*
*..****..*.*...*
..*....**....**
.....*.*.***
......**..*
....*..*.**
.........**
.....*.**...**
........*....***
.....*.*.......*
.....*.*.....*.*
....***...*.*.*
..***.....*..*
.............*
.....*
...*.**....***
#P 0 38
.....**..***
****...*
...******.*
..**.......*
....**.**..*
....**...*..*
...**......**
...**
......*...*.*
......**....**
..*.*......**
*.*..*.*****
.*......*.*
.....***
.......*
........**
......*..**
...**.*...**
..........***
......*.*..*
......*...*
...**.**..*
....*.**.*
...**.*
........***
.........**
........***
.
.......*.*
.....*...*
.......***
.....*.*
.....*
....**
..***
..*
#P 0 -72
..*
..***
....**
.....*
.....*.*
.......***
.....*...*
.......*.*
.
........***
.........**
........***
...**.*
....*.**.*
...**.**..*
......*...*
......*.*..*
..........***
...**.*...**
......*..**
........**
.......*
.....***
.*......*.*
*.*..*.*****
..*.*......**
......**....**
......*...*.*
...**
...**......**
....**...*..*
....**.**..*
..**.......*
...******.*
****...*
.....**..***
..*.**....***
#P -1 -35
.....*
.............*
..***.....*..*
....***...*.*.*
.....*.*.....*.*
.....*.*.......*
........*....***
.....*.**...**
.........**
....*..*.**
......**..*
.....*.*.***
..*....**....**
*..****..*.*...*
..*..*.******...*
.*.*..**.*......*
.....*...**...***
...*..**..*....*
......*..**....*
....*.*.**......*
.........****..***
......*.**..*..**
......*....*..**
....*....**.***
.....*
.....*
.....*.*.*.***
.....*.*..*..***
.....*....*.*...*
.....*...*..**...*
.....*.*..**.*...*
.....*...*..**...*
.....*....*.*...*
.....*.*..*..***
.....*.*.*.***
.....*
/programs/demos/life2/lif/HIGHRAK1.lif
0,0 → 1,21
#Life 1.05
#R 23/36
#P 11 0
..**
...**
*.**
***
.*
#P 21 4
*
*
*
#P 1 8
...*
..**
.*.*
***
#P 6 17
*
*
*
/programs/demos/life2/lif/HIGHRAK2.lif
0,0 → 1,27
#Life 1.05
#R 23/36
#P 11 0
..***
.*..*
*...*
*..*
***...***
.....*..*
....*...*
....*..*
....***
.
.
.......*
.......*
.......*
#P 2 13
...*
..**
.*.*
***
.
......***
.....*.*
.....**....***
.....*
/programs/demos/life2/lif/HIGHSIER.lif
0,0 → 1,20
#Life 1.05
#R 23/36
#P 14 -20
***
*..*
*...*
.*..*
..***
#P 0 8
...*
..***
.*.***
***..**
.**...**
..**..***
...***.*
....***
.....*
#P 0 20
***
/programs/demos/life2/lif/HIGHTUG.lif
0,0 → 1,16
#Life 1.05
#R 23/36
#P -17 -17
.***
*
*
*
#P -4 -10
*
*
*
#P 13 13
...*
..**
.*.*
***
/programs/demos/life2/lif/HOTEL.lif
0,0 → 1,733
#Life 1.05
#D Infinite glider hotel
#D The name is derived from the old mathematical "infinity hotel"
#D scenario, where a hotel with an infinite number of rooms always has
#D room for more guests by shuffling the old guests around.
#D Here two pairs of double Corderships are pulling slowly apart at
#D c/12 such that there is an ever-lengthening glider track between
#D them. Every 1920 generations another glider is injected into the
#D glider track, joining the gliders already circulating there.
#D Eventually an arbitrarily large number of gliders will be traveling
#D around the track.
#D The tricky bit to this construction is that even though all the
#D previously injected gliders are repeatedly flying through the
#D injection point, that point is guaranteed to be empty when it is
#D time for the next glider to be injected!
#D David Bell, dbell@pdact.pd.necisa.oz.au, Oct 9 1992
#N
#P 13 -101
.....*
.
.*.......*
*........*
*...**....*
*......*.*
......**.*
.
....*
#P 29 -91
....*
..**.**
.
..**
..*
....*...*
*...*
#P 39 -75
.....*
.
.*.......*
*........*
*...**....*
*......*.*
......**.*
.
....*
#P 30 -82
.....*
..*.*
.*
..**
..*.*
..*.*
.*.**
**.**
...***
#P 6 -98
..***
..***
*..**
*.*
***
#P 20 -83
...*
..*.*
..*.*
.*..*
.*.*
*
**
.*
#P 22 -72
.*
*.*
*
*
*
#P 18 -66
...*
..***.**
**.***
..*
#P 21 -60
..*
.*.**
**.*.**
....*
......*
#P 28 -56
.**....**
...*.**
****.*.***
....*
#P -14 -71
...***
.
.*
**...*
.*.*
....***
....*
.
....**
...**
....*
...**
....**
#P -7 -58
.......*
*...*..*.*..*
*****.**....*
.*.*....*...*
.
........***
.........*
#P 12 -45
...***
.
.*
**...*
.*.*
....***
....*
.
....**
...**
....*
...**
....**
#P -3 -93
**
**
#P -11 -85
**
**
#P -19 -77
**
**
#P 43 -55
**
**
#P 35 -47
**
**
#P 27 -39
**
**
#P 19 -31
**
**
#P 61 -67
.....**
.
...*...*
..*
.*.......*
.....*....*
*....*.*.*
*........*
*.**....*
***.**.*
.**.***
#P 82 -50
.....*
...**.*
..*
.*..*...*
*
**..**
**
..*.....*
***....*
**....*
.****
#P 92 -46
*
*
#P 87 -41
.....**
.
...*...*
..*
.*.......*
.....*....*
*....*.*.*
*........*
*.**....*
***.**.*
.**.***
#P 74 -39
*.*
***
.**
#P 72 -34
.*
.*.*
.***
*
*****
#P 83 -20
..**
**..*
*..***
*....*
.*****
...**
#P 93 -19
*
*
*
#P 57 -29
.*
*.*
.*
...*
...**
.*..*
.***
..*
#P 40 -30
..*.*
.**.**
.**.*
*
.*
.*
#P 48 -22
....*
...***
.
...***
**.**
..*
#P 66 -4
..*.*
.**.**
.**.*
*
.*
.*
#P 49 -56
**
**
#P 41 -48
**
**
#P 33 -40
**
**
#P 87 -10
**
**
#P 79 -2
**
**
#P 71 6
**
**
#P -98 61
....****
..*....**
.*....***
*.....*
.......**
...**..**
........*
*...*..*
......*
..*.**
...*
#P -100 66
*
*
#P -105 52
....***.**
...*.**.***
..*....**.*
.*........*
.*.*.*....*
*....*
.*.......*
........*
...*...*
.
....**
#P -79 78
....***.**
...*.**.***
..*....**.*
.*........*
.*.*.*....*
*....*
.*.......*
........*
...*...*
.
....**
#P -101 38
*
*
*
#P -96 36
.**
*****
*....*
***..*
.*..**
..**
#P -84 51
*****
....*
.***
.*.*
...*
#P -84 58
**
***
*.*
#P -69 43
..*
.***
*..*
**
.*
...*
..*.*
...*
#P -79 20
....*
....*
.....*
.*.**
**.**
.*.*
#P -61 38
...*
.**.**
***
.
***
.*
#P -53 46
....*
....*
.....*
.*.**
**.**
.*.*
#P -80 14
**
**
#P -88 22
**
**
#P -96 30
**
**
#P -42 60
**
**
#P -50 68
**
**
#P -58 76
**
**
#P -57 88
......*
.
.*.**
.*.*......*
*....**...*
.*........*
.*.......*
.
.....*
#P -45 106
....*...*
*...*
......*
.....**
.
..**.**
....*
#P -31 114
......*
.
.*.**
.*.*......*
*....**...*
.*........*
.*.......*
.
.....*
#P -18 115
..***
..*.*
**..*
***
***
#P -43 95
***
.**.**
.**.*
.*.*
.*.*
..**
....*
.*.*
*
#P -32 97
...*
...**
....*
.*.*
*..*
*.*
*.*
.*
#P -32 89
..*
..*
..*
*.*
.*
#P -33 84
.....*
..***.**
**.***
....*
#P -35 78
..*
**.*.**
..**.*
....*
#P -45 74
.....*
***.*.****
...**.*
.**....**.*
#P -26 54
.**
..**
..*
..**
.**
.
..*
***
...*.*
.*...**
.....*
.
.***
#P -13 73
...*
..***
.
*...*....*.*
*....**.*****
*..*.*..*...*
.....*
#P 0 80
.**
..**
..*
..**
.**
.
..*
***
...*.*
.*...**
.....*
.
.***
#P -28 51
**
**
#P -36 59
**
**
#P -44 67
**
**
#P -52 75
**
**
#P 10 97
**
**
#P 2 105
**
**
#P -6 113
**
**
#P 273 266
..*....*
**.****.**
..*....*
#P 268 268
.*
*
*
#P 266 273
**...**
.*****
..***
...*
#P 269 284
**
**
#P -270 -286
**
**
#P -272 -279
..***
.
..*.*
.*****
**...**
**...**
#P -274 -270
*
**
***
**
*
#P -283 -270
..*
.**
***
.**
..*
#P 41 0
..**
.*.*
***
**
**
.*.*
..*
#P 40 9
**...**
**...**
.
..***
..***
...*
#P 38 20
..***
..***
.*...*
.
**...**
#P 40 34
**
**
#P 34 12
..***
..*
...*
.*
.**
*.*
#P 27 23
**
.**
*
#P 19 30
.*
.**
*.*
#P 30 39
**
**
#P 11 36
.**....*
*..*..*.*
.***.*.**
....**.**
.....*.**
......*.*
.......*
#P 5 34
..**
.*.*
*
*..*
*
.*.*
..**
#P -4 36
**
**
#P 3 -38
**
**
#P -8 -41
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -16 -40
....**
...*.*
.*...*
**.***
...**
#P -22 -43
..**
.*.*
*
*..*
*
.*.*
..**
#P -31 -41
**
**
#P -22 -32
*
*.*
**
#P -30 -25
.*
*
***
#P -34 -27
**
**
#P -68 -25
**
**
#P -59 -28
...*
..**
.**
***
.**
..**
...*
#P -52 -26
**
**
**
#P -49 -30
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -80 -7
**
**
#P -71 -9
..**
.*.*
*
*..*
*
.*.*
..**
#P -65 -7
.**....*
*..*..*.*
.***.*.**
....**.**
.....*.**
......*.*
.......*
#P -42 -4
*
****
.****
.*..*
.****
****
*
#P -33 -6
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P -18 -4
**
**
#P -57 -13
.*
.**
*.*
#P -41 -9
.*
**
*.*
#P -49 -21
.....*
****..*
..*.***
...*
*
...*
*
#P -34 -20
.****
*...*
....*
*..*
#P -4 -20
.****
*...*
....*
*..*
#P 6 -18
***
*
.*
#P -44 -45
.**
**
..*
#P 63 63
.*
..*
***
/programs/demos/life2/lif/HWSSGUN.lif
0,0 → 1,174
#Life 1.05
#D p120 HWSS gun
#N
#P -45 13
**
**
#P -36 10
..**
.*.*
*
*..*
*
.*.*
..**
#P -30 8
.......*
......*.*
.....*.**
....**.**
.***.*.**
*..*..*.*
.**....*
#P -13 6
..**
..*
*.*
**
#P -42 26
**
**
#P -36 24
....*
..*.*
**
**
**
..*.*
....*
#P -27 28
*
*
*
#P -26 24
..*
****
**..*
...**
#P -19 26
**
**
...**
...***
...**
**
**
#P -10 31
**
*.*
..*
..**
#P -11 18
..**
*..*
.
*..*
.*..*
..*.*
...*
.
..**
..**
#P -22 18
*.*
.**
.*
#P -17 18
.*
.**
*.*
#P 6 18
.**
.*..*
.
.*..*
*..*
*.*
.*
.
.**
.**
#P 6 31
..**
.*.*
.*
**
#P 15 26
**
*..*
....*
....*
....*
*..*
**
#P 26 24
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 40 26
**
**
#P 9 6
**
.*
.*.*
..**
#P 14 8
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 32 10
...*
..**
.**
***
.**
..**
...*
#P 39 12
**
**..**
**..**
#P 23 14
*.*
**
.*
#P 18 22
.*
**
*.*
#P 3 7
.*
**
*.*
#P -2 3
.*
.**
*.*
#P -11 -9
**.******
**.******
**
**.....**
**.....**
**.....**
.......**
******.**
******.**
#P 2 -13
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
/programs/demos/life2/lif/IRRAT2.lif
0,0 → 1,420
#Life 1.05
#D Irrational 2
#D Population growth appears to be linear with an irrational multiplier.
#D The probability that a MWSS will hit a boat seems to be 1/sqrt(2)
#D for the lower (westward) stream, and sqrt(2)-1 for the upper
#D (eastward) stream. If this is true, then the population in gen t is
#D about (78 sqrt(2) - 73)t/40 for t even, and (82 sqrt(2) - 77)t/40
#D for t odd. If you can prove any of this, please let me know.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 5/20/91
#N
#P -76 -33
.*
*
*...*
****
.
.
.
....**
..**..*
..*..***
..*....*
...*****
.....**
.
.*..*
*
*...*
****
#P -68 -33
..**
.****
**.**
.**
#P -66 -24
.*
***
#P -63 -28
.*
.**
**.*
.*.*
..**
.*
#P -58 -17
.*
*
*...*
****
#P -51 -19
*.*
.**
.*
#P -49 -11
****
*...*
*
.*..*
#P -47 -5
.***
*...*
....*
..**
#P -67 -9
****
*...*
*
.*
.
.....*
...***
..*...*
..*
..**.*
....*
.....*
.
.
****
*...*
*
.*
#P -60 -1
***
***
.**
*
#P -59 5
.**
**.**
.****
..**
#P -82 9
****
*...*
*
.*
.
.
...**
..*..*
..*..*
..**.**
....**
.
.
.
****
*...*
*
.*
#P -74 9
.**
**.**
.****
..**
#P -72 14
...*
...**
.....*
*****
****
*
#P -65 24
.*
*
*...*
****
#P -57 20
***
*
.*
#P -52 15
***
*
.*
#P -47 10
***
*
.*
#P -42 5
***
*
.*
#P -37 0
***
*
.*
#P -32 -5
***
*
.*
#P -36 -14
*.*
.**
.*
#P -33 -11
.*
.**
*.*
#P -27 -10
***
*
.*
#P -26 -4
****
*...*
*
.*..*
.
.....*
...***
..*...*
..*
..**.*
....*
.....*
.
.
****
*...*
*
.*
#P -19 4
***
***
.**
*
#P -18 10
.**
**.**
.****
..**
#P -17 -5
..***
.*****
**.***
.**
#P -12 3
..*
**
.*.*
..**
#P -6 14
******
*.....*
*
.*
#P -14 -12
...**
***.**
*****
.***
#P -4 -11
.*
*.*
**
#P 5 -16
..**
**.**
****
.**
#P 6 -7
.***
*..*
**.**
#P 13 -9
**
*
#P 9 10
*****
*....*
*
.*
#P 14 0
.****
*...*
....*
...*
#P 23 -15
.**
****
**.**
..**
.
.
.
.
**
.**
**
*
.
.
.**
****
**.**
..**
#P 24 8
*
.**
**
#P 29 3
*
.**
**
#P 30 8
.*
*
***
#P 33 13
***
*
.*
#P 34 -2
*
.**
**
#P 39 -7
*
.**
**
#P 44 -12
*
.**
**
#P 49 -17
*
.**
**
#P 54 -22
*
.**
**
#P 60 -27
..**
**.**
****
.**
#P 76 -26
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P 67 -18
...***
***
*
***
#P 68 -11
.****
*...*
....*
...*
#P 62 -8
.**
****
**.**
..**
.
.
.
*
.*
.**
**
*
.
.
.**
****
**.**
..**
#P 57 -3
...*
.*
.*..*
*
.*.*
.*
...**
#P 53 -7
.****
*...*
....*
...*
#P 42 -1
....*
.....*
....***
....***
*****.***
.***...**
..*
#P 44 8
.**
****
**.**
..**
#P 47 17
..*
.*.*
*
..**
#P 53 14
..**
**.**
****
.**
#P 71 16
..**
**.**
****
.**
.
.
*
**
.**
.*
*
.
.
.
..**
**.**
****
.**
#P 68 22
***
*
.*
.*
..*
#P 59 22
...*.*
.*....*
.*...*
*...*
.**
.**
#P 62 29
*..*
....*
*...*
.****
/programs/demos/life2/lif/IRRAT5.lif
0,0 → 1,351
#Life 1.05
#D Irrational 5
#D Population growth is linear with an irrational multiplier.
#D Each middleweight spaceship produced by the puffers either hits a
#D boat or is deleted by a glider. Denoting the first possibility by
#D 1 and the second by 0, we obtain a sequence beginning 101011011010...
#D If we prepend 101, we obtain the Fibonacci string sequence, defined
#D by starting with 1 and then repeatedly replacing each 0 by 1 and each
#D 1 by 10: 1 -> 10 -> 101 -> 10110 -> 10110101 -> ... (See Knuth's
#D "The art of computer programming, vol. 1", exercise 1.2.8.36 for
#D another definition.) The density of 1's in this sequence is
#D (sqrt(5)-1)/2, which implies that the population in gen t is
#D asymptotic to (8 - 31 sqrt(5)/10) t. More specifically, the
#D population in gen 20 F[n] - 92 (n>=6) is 98 F[n] - 124 F[n-1] + 560,
#D where F[n] is the n'th Fibonacci number. (F[0]=0, F[1]=1, and
#D F[n] = F[n-1] + F[n-2] for n>=2.)
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 5/12/91
#N
#P -67 -32
..**
.****
**.**
.**
.
.
.
....*
...*
..**
...**
....*
.
.
..**
.****
**.**
.**
#P -62 -25
*
.*
.*
..*
***
#P -58 -31
****
*...*
*
.*..*
#P -57 -26
....**
....**
..*...*
.*...*
*....*
.*.*
#P -49 -16
..**
.****
**.**
.**
#P -58 -8
.**
**.**
.****
..**
.
.
....*
...**
..**
...*
....*
.
.
.
.**
**.**
.****
..**
#P -53 -2
**
...*
.*.*
....*
*..*
...*
.*
#P -49 5
.*
*
*...*
****
#P -73 10
.**
**.**
.****
..**
.
.
....*
...**
..**.*
...*.*
....**
.
.
.
.**
**.**
.****
..**
#P -64 16
...***
.....*
...***
***
#P -64 9
.*
*
*...*
****
#P -56 25
..**
.****
**.**
.**
#P -48 21
.**
**
..*
#P -43 16
.**
**
..*
#P -38 11
.**
**
..*
#P -33 6
.**
**
..*
#P -28 1
.**
**
..*
#P -40 -10
.**
**.**
.****
..**
#P -26 -12
....*
.....*
*....*
.*****
#P -17 -3
.**
**.**
.****
..**
.
.
....*
...**
..**
...**
.
.
.
.
.**
**.**
.****
..**
#P -8 -4
.*
*
*...*
****
#P -5 -16
...*
....*
*...*
.****
#P 1 12
..**
.****
**.**
.**
#P 5 1
..**
**.**
****
.**
#P 13 -13
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 22 9
.**
**.***
.*****
..***
#P 26 -3
..*
*.*
.**
#P 31 -8
..*
*.*
.**
#P 36 -13
..*
*.*
.**
#P 41 -18
..*
*.*
.**
#P 46 -23
..*
*.*
.**
#P 52 -29
...*
....*
*...*
.****
#P 36 8
.****
*...*
....*
...*
#P 69 -26
.****
*...*
....*
...*
.
.
**
*.*
..*
***
.
.
.
.
.****
*...*
....*
...*
#P 60 -20
....**
..*
.*..*
**
.**
#P 61 -12
..**
**.**
****
.**
#P 54 -8
.****
*...*
....*
*..*
.
.
**
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 51 -3
.**
***
*
***
.*
..*
#P 46 -8
..**
**.**
****
.**
#P 45 12
...*
....*
*...*
.****
#P 63 14
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
**
.
.
...*
....*
*...*
.****
#P 61 21
.*
**
.*
.*
#P 52 21
.....*
..****
.*****
*
.**
..*
#P 55 28
.**
****
**.**
..**
/programs/demos/life2/lif/IRRATU.lif
0,0 → 1,264
#Life 1.05
#D Unknown irrational
#D Population growth appears to be linear. If you can find the rate
#D of growth, please let me know. (It's probably irrational, and
#D probably different for even and odd generations.) Just proving
#D that the pattern never blows up isn't quite trivial.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 6/16/91
#N
#P 33 -31
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 28 -23
**
*
#P 25 -32
...*
....*
*...*
.****
#P 16 -15
..**
**.**
****
.**
#P 25 -8
.****
*...*
....*
*..*
#P 22 -3
.**
*****
*....*
***..*
.*..**
..**
#P 25 6
.****
*...*
....*
...*
#P 17 6
..**
**.**
****
.**
#P 41 8
..**
**.**
****
.**
.
.
*
**
.**
.*
*
.
.
.
..**
**.**
****
.**
#P 36 14
...**
.*
.*.*
*
.*..*
.*
...*
#P 27 12
..**
.
.*..*
**.**
.*.*****
..*..***
......*
#P 32 7
...*
....*
*...*
.****
#P 24 23
.**
****
**.**
..**
#P 7 -10
.****
*...*
....*
...*
#P 12 13
**
.**
*
#P 17 18
**
.**
*
#P 3 14
.****
******
****.**
....**
#P -2 21
**...*......*
..*.*........*
**..*........*
.....*********
#P 3 27
.****
******
****.**
....**
#P -10 24
....*
.....*
*....*
.*****
#P -5 13
.***
*****
***.**
...**
#P -13 8
.....*
......*
*.....*
.******
#P 18 -1
**
*
#P 11 -17
**
*
#P 10 -24
..**
..*
*.*
**
#P -2 -22
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -12 -20
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P -22 -18
**
*
#P -37 -17
**
*
#P -40 -9
...*
..***
.*****
*.*.*.*
**...**
#P -42 -2
.....*
....*.*
...**.*
...***
..*..*
..***
.*...*
*.....*
.*...*
..***
#P -40 17
**
*
#P -45 22
**
*
#P -38 20
....*
.****
****
*..*
****
.****
....*
#P -22 22
**
*.*
.***
..***
.***
*.*
**
#P -13 20
..**
..*
*.*
**
#P -28 22
.*
.**
*.*
#P -32 6
.*
..*
***
#P -29 -2
**
*
#P -24 -4
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P -16 2
.*
*
***
#P -7 -2
...**
.*..*
*
*
*
.*..*
...**
#P 5 -6
**
*
#P 5 1
**
*
/programs/demos/life2/lif/JAWS.lif
0,0 → 1,239
#Life 1.05
#D Jaws, a switch-engine based quadratic growth mechanism.
#D
#D The population roughly follows the equation
#D p = (5.167e-6)t^2 + 2.72t + 1000.
#D
#D If you can't see the pattern, that's probably because
#D it is too large and sparse, and most Life programs at
#D the time of this writing are not powerful enough to
#D view it.
#D
#D By Nick Gotts, February 1997.
#N
#P -268 -632
..*.*
.....*
.*..*
***
.
.
.
.
.
.............*
............*.*
.
...........*..*
...........**
...........*
#P -489 -400
...........................*
..........................***
..........................***
.............................***
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.**
***
.**
...*
...*
...*
#P -220 -312
...***
***
***
.*
.
.
.
.
.............*
.............*
.............*
...........**
..........***
...........**
#P -585 -215
...........................*
..........................***
..........................***
.............................***
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.**
***
.**
...*
...*
...*
#P -29 1900
.........................**
........................*.*.**
...........................***
............................**
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.*
*
**
..*
.***
.***
#P -150 -948
.....*
.....*
**....*
...*.*
..**.*
.
.
.
.
.
.
...............*
.............**.**
.
.............**
.............*
...............*
...............*
#P -603 756
.........................***
..........................*..*
..............................*
...........................*.*
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
*
**
*..*
.
.*.*
..*
#P -653 338
.........................***
..........................*..*
..............................*
...........................*.*
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
*
**
*..*
.
.*.*
..*
/programs/demos/life2/lif/Jason1.lif
0,0 → 1,17
#Life 1.05
#D A nice cycler
#D Found by watching random starts.
#D Shapes are correct, but spacing is wrong.
#D they need to be horizontally closer.
#D 11th October 1998
#N
#P -10 -4
....**
....***
.....***...*
......**...**
***..***...***
......**...**
.....***...*
....***
....**
/programs/demos/life2/lif/LINEPUF.lif
0,0 → 1,185
#Life 1.05
#D Line Puffer of width 33
#D
#D The width is defined by the length of the first free-standing line
#D in the puffer's plume. The formula for this is 12n+1-s, where n is
#D the number of middle segments, and s is the number of cells covered
#D by the little 3-cell, 5-unit puff-suppressors on the upper edge of
#D this otherwise symmetrical pattern.
#D
#D Here, n=4, and s=6+5+5. The Y-shaped puff-suppressors can have 5,
#D 6, or 7 units of spacing on between them, or between one of them and
#D the end. You only need 2 or 3 such suppressors to produce any
#D puffer width.
#D
#D Notice that placing random debris behind the puffer sometimes
#D affects the plume permanently - even turning it asymmetrical if the
#D debris was asymmetrical. It also affects the period of the puffer,
#D that is, the number of generations it takes to repeat. By
#D increasing the width, the period can be made to rise exponentially,
#D surpassing 10^6 at a width of only about 70. But the most amazing
#D thing is that it has a half-life on the order of 10^8 generations.
#D
#D By Hartmut Holzwart and Al Hensel, April 1994
#N
#P 3 -22
*
..*
*
.
.
*
..*
*
.
*
*
..*
#P 1 -49
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
..***
.
.*.*
.*..*
....*
..*..*
....**
#P 10 -48
*
****
..**
.....*
..****
......*
..*..***
....***
.....*
*.***
**..*
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
..***
..**
#P 6 -26
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
#P 1 27
....**
..*..*
....*
.*..*
.*.*
.
..***
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 10 27
..**
..***
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
**..*
*.***
.....*
....***
..*..***
......*
..****
.....*
..**
****
*
/programs/demos/life2/lif/LINEPUF2.lif
0,0 → 1,449
#Life 1.05
#D Superstable line puffer of width 76
#D
#D The slight instability in the previous line
#D puffer is corrected in this version, which
#D is believed to be perfectly stable and not
#D have a half-life. In the previous version,
#D a line puffer of width 76 collapses after
#D 39.7 million generations.
#D
#D Unfortunately, adding puff-suppressors
#D brings back the instability. So the formula
#D for the width of this puffer is 12n+7m+7,
#D introducing 7-unit spacers so that all
#D sufficiently large widths are possible.
#D
#D Tim Coe, May 1996.
#N
#P 10 -76
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 7 -44
**.*
...*
*.**
*
#P 29 -49
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
...**
*****
..*
....*
..*.*
.....*
..*.*
....*
..*
*****
...**
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 15 -33
...*.*....*.*
**.*..*..*..*
......**...*
...*......*
...*.*****
**
...*.*****
...*......*
......**...*
**.*..*..*..*
...*.*....*.*
#P 23 -78
*
****
..**
.....*
..****
......*
..*..***
....***
.....*
*.***
**..*
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
**..*
*.***
.....*
....***
..*..***
......*
..****
.....*
..**
****
*
#P 18 -47
...*.*
...*
.*..**
..***
*.*
*
*
#P 8 -41
.........*
.....*.***
....*.**
....**
*..**
*.**
#P 29 -3
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
...**
*****
..*
....*
..*.*
.....*
..*.*
....*
..*
*****
...**
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 15 13
...*.*....*.*
**.*..*..*..*
......**...*
...*......*
...*.*****
**
...*.*****
...*......*
......**...*
**.*..*..*..*
...*.*....*.*
#P 23 47
*
****
..**
.....*
..****
......*
..*..***
....***
.....*
*.***
**..*
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
**..*
*.***
.....*
....***
..*..***
......*
..****
.....*
..**
****
*
#P 10 45
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 7 40
*
*.**
...*
**.*
#P 18 40
*
*
*.*
..***
.*..**
...*
...*.*
#P 8 35
*.**
*..**
....**
....*.**
.....*.***
.........*
#P 5 -40
*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
#P 8 -34
*.**
*..**
....**
....**
*..**
*.**
.
*.**
*..**
....**
....**
*..**
*.**
.
*.**
*..**
....**
*..*.**
*.***..*
.......*
*.***..*
*..*.**
....**
*..**
*.**
.
*.**
*..**
....**
*..*.**
*.***..*
.......*
*.***..*
*..*.**
....**
*..**
*.**
#P 5 4
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
.*
*
#P 8 4
*.**
*..**
....**
*..*.**
*.***..*
.......*
*.***..*
*..*.**
....**
*..**
*.**
.
*.**
*..**
....**
....**
*..**
*.**
.
*.**
*..**
....**
*..*.**
*.***..*
.......*
*.***..*
*..*.**
....**
*..**
*.**
/programs/demos/life2/lif/LOGGROW.lif
0,0 → 1,3126
#Life 1.05
#D t log(t)
#D Population in generation t is asymptotic to t log(t)/48.
#D More specifically, for n >= 2, the population in gen 60n is
#D
#D . n n - m n - m + 4
#D . 5747 + 247n + 5 SUM (2 floor(-----) - floor(---------)).
#D . m=1 4m 4m
#D
#D Three breeders and two puffers create a sequence of large period
#D guns; the N'th gun has period 240N. In gen t there are about
#D t/60 finished guns, which have emitted about t/(240*1) + t/(240*2)
#D + t/(240*3) + ... + t/(240*(t/60)) ~ t log(t)/240 gliders.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 11/13/90
#N
#P -129 -141
..*
.***
**.*
***
.**
#P -115 -141
..*
.***
**.*
***
.**
#P -123 -139
...*
..***
.*..**
.**.**
***..*
.**.*
..*
..*...*
..*
..*
..**.*
.....**
#P -128 -132
***
*..*
*
*
.*.*
#P -123 -126
**
..*
#P -122 -124
...*
...*
*.*
.*
#P -113 -123
..*
.***
**.*
***
.**
#P -115 -113
..*
*.*
.**
#P -108 -117
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -104 -111
.*
***
.
*.*
.*
#P -106 -103
***.***
..*.*
#P -104 -99
***
#P -110 -98
..*
*.*
.**
#P -140 -104
.*.............*
***...........***
*.**....*.....*.**
.***...***.....***
.**...**..*....**
........***
#P -127 -95
.***
*..*
...*
...*
*.*
#P -135 -90
**
**
#P -143 -87
..*
.***
**.*
***
.**
#P -134 -86
..*
**.**
**.**
**.**
..**
#P -124 -88
***...***
*..*.*..*
*.......*
*.......*
.*.*.*.*
#P -122 -82
..*
.***
**.**
.***
.***
.***
.*.*
.*.*
..*
#P -134 -76
**
.**
*
#P -129 -71
**
.**
*
#P -124 -66
**
.**
*
#P -80 -136
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
*.*....*...*..*.*
.......****
........*
#P -66 -128
..*
.***
**.*
***
.**
#P -73 -126
***
.**
.**
.**.**
..*.*
...*
#P -82 -118
.***
*..*
...*
...*
*.*
#P -77 -112
**
***
**
..*
#P -92 -112
***...***
*..*.*..*
*.......*
*.......*
.*.*.*.*
#P -90 -106
..*
.***
**.**
.***
.***
.***
.*.*
.*.*
..*
#P -82 -97
*.*
**
.*
#P -67 -99
***
*..*
*
*
.*.*
#P -53 -99
***
*..*
*
*
.*.*
#P -62 -97
..***
.*..*
.*...*
**..*.*
..*
...**.*
...***
...***
...**
...*.*
..*..*
.....*
.*
**..*
**..*
.***
.***
#P -67 -91
.*
***
*.**
.***
.**
#P -52 -82
.***
*..*
...*
...*
*.*
#P -87 -86
..*
.**
**.*
.*.**
..**.*
.*****
*****
*..*
....*
*..*
***
#P -110 -89
...**
...**.**
.*
....*
*...**
*...*..*
*..*..*
...*..*
...*
...*.*
.*..****
...**..**
...*...*
....***
.....*
#P -75 -84
.*.....*
***...***
*.**.**.*
.***.***
.**...**
#P -73 -78
..*
.*.*
*...*
.*.*
.***
#P -73 -70
**.**
**.**
**.**
..*
.
.***
#P -57 -73
**
*.*
*
#P -62 -68
**
*.*
*
#P -67 -63
**
*.*
*
#P -70 -57
**
**
#P -67 -58
..***
.*..*
....*
*...*
....*
.*.*
#P -91 -56
.**
*..*
*..*
.**
#P -82 -48
**
*.*
*
#P -103 -58
.**
*..*
*..*
.**
#P -109 -51
**
.**
*
#P -164 -65
***...........***
*..*..........*..*
*......***....*
*.....*..*....*
.*.*..*...*....*.*
.......****
.........*
#P -150 -57
.*
***
*.**
.***
.**
#P -159 -51
**
**
#P -167 -48
.***
*..*
...*
...*
*.*
#P -159 -47
..***
.*...*
*.....*
.*
..****
#P -158 -37
***
..*
.*
#P -153 -32
***
..*
.*
#P -149 -50
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -146 -44
..*
.***
*...*
.
.
**.**
..*
#P -147 -35
.*...*
*.*.*.*
.*****
.**.**
..*.*
..***
#P -129 -63
..*
.***
**.*
***
***
.**
#P -123 -58
*
*
#P -135 -55
***
*..*
*
*
.*.*
#P -121 -55
***
*..*
*
*
.*.*
#P -130 -53
..***
.*..*
.*...*
**..*.*
..*
...**.*
...***
...***
#P -121 -47
.*
***
*.**
.***
.**
#P -120 -40
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -117 -34
..*
.***
*...*
.
.
**.**
..*
#P -118 -25
.*...*
*.*.*.*
.*****
.**.**
..*.*
..***
#P -131 -39
.**
.
.*...*
.
.*
*
*..*
*..*
.**
#P -138 -38
.***
*..*
...*
...*
*.*
#P -154 -24
..***
.*..*
....*
*...*
....*
.*.*
#P -148 -27
***
..*
.*
#P -143 -22
***
..*
.*
#P -128 -26
***
..*
.*
#P -123 -21
***
..*
.*
#P -118 -16
***
..*
.*
#P -128 -7
***
..*
.*
#P -124 -14
..*
.***
**.*
***
***
.**
#P -111 -18
.***
*..*
...*
...*
*.*
#P -102 -28
**
*.*
.**
#P -91 -26
.**
*.*
**
#P -44 -61
..*
.***
**.*
***
.**
#P -30 -61
..*
.***
**.*
***
.**
#P -38 -59
...*
..***
.*..**
.**.**
***..*
.**.*
..*
..*...*
..*
..*
..**.*
.....**
.
**
..*
....*
....*
.*.*
..*
#P -27 -44
.*
***
*.**
.***
.**
#P -43 -52
***
*..*
*
*
.*.*
#P -34 -34
.**
**
..*
#P -39 -29
.**
**
..*
#P -44 -24
.**
**
..*
#P -41 -20
.*
***
*.**
.***
.***
.**
#P -73 -51
..*.............*
.***...........***
**.*.....*....**.*
***.....***...***
.**....*..**...**
.......***
#P -72 -42
***
*..*
*
*
.*.*
#P -62 -37
**
**
#P -66 -33
..*
**.**
**.**
**.**
.**
#P -56 -34
.*
***
*.**
.***
.**
#P -51 -45
***...***
*..*.*..*
*.......*
*.......*
.*.*.*.*
#P -48 -39
.*
***
***
#P -50 -33
.*...*
.*...*
*.*.*.*
..***
..***
...*
#P -49 -19
.**
**
..*
#P -64 -23
.**
**
..*
#P -80 -35
***...***
*..*.*..*
*.......*
*.......*
.*.*.*.*
#P -77 -29
.*
***
***
#P -79 -23
.*...*
.*...*
*.*.*.*
..***
..***
...*
#P -69 -18
.**
**
..*
#P -83 -14
.*
***
*.**
.***
.**
#P -74 -13
.**
**
..*
#P -72 -9
..***
.*..*
....*
*...*
....*
.*.*
#P -64 -4
.**
**
..*
#P -113 1
**
**
#P -102 2
**
*.*
.**
#P -91 4
.**
*.*
**
#P -79 3
**
**
#P -113 8
***
..*
.*
#P -79 11
.**
**
..*
#P -72 11
.*.............*
***...........***
*.**....*.....*.**
.***...***.....***
.**...**.*.....**
#P -66 19
*
***
.*
.*..*
..***
#P -59 20
.***
*..*
...*
...*
*.*
#P -75 28
..*
.***
**.*
***
.**
#P -70 34
*.*
**
..***
#P -36 7
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
*.*....*......*.*
#P -30 13
*
*
#P -25 12
.*
*
#P -29 15
.*
***
***
**
.*****
...***
#P -29 22
*
*
#P -28 24
.*
.**
**
*
#P -36 15
..*
.***
**.*
***
.**
#P -44 22
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -40 28
.*
***
.
*.*
.*
#P -42 36
***.***
..*.*
#P -40 40
***
#P -19 24
***
*..*
*
*
.*.*
#P -26 34
***
*
.*
#P -31 39
***
*
.*
#P -36 44
***
*
.*
#P -41 49
***
*
.*
#P -33 48
***
*..*
*
*...*
*
.*.*
#P -56 27
***...***
*..*.*..*
*.......*
*.......*
.*.*.*.*
#P -54 33
..*
.***
**.**
**.**
.*.*
..*
#P -55 41
.**.**
*.....*
.*...*
..***
..*.*
...*
...*
#P -64 41
**
.**
*
#P -59 46
**
.**
*
#P -54 51
**
.**
*
#P -61 52
..*
.***
**.*
***
***
.**
#P -57 59
..*
.***.***
*...****
.***..*.*
..*
#P -54 67
..*
.*.*
**
#P -113 31
**
**
#P -106 29
....**
....**
.**
***
.**
....**
....**
#P -98 30
..*
.*****
*..**
**
..*
#P -91 31
**
..*
...*
...*
...*
..*
**
#P -79 33
**
**
#P -82 47
.**
*.*
..*
#P -89 55
***
..*
.*
#P -113 61
**
**
#P -106 59
....**
....**
.**
***
.**
....**
....**
#P -98 60
..*
.*****.*
*..**
**
..*
#P -91 61
.*
..*
...*
...*
...*
..*
**
#P -79 63
**
**
#P -67 62
.**
*.*
..*
#P -74 70
***
..*
.*
#P -82 77
.**
*.*
..*
#P -89 85
***
..*
.*
#P -113 91
**
**
#P -106 89
....**
....**
.**
***
.**
....**
....**
#P -98 90
..*
.*****
*..**
**
..*
#P -91 91
**
..*
...*
...*
...*
..*
**
#P -79 93
**
**
#P -52 77
.**
*.*
..*
#P -59 85
***
..*
.*
#P -67 92
.**
*.*
..*
#P -74 100
***
..*
.*
#P -82 107
.**
*.*
..*
#P -89 115
***
..*
.*
#P -113 121
**
**
#P -106 119
....**
....**
.**
***
.**
....**
....**
#P -98 120
..*
.*****
*..**
**
..*
#P -91 121
**
..*
...*
...*
...*
..*
**
#P -79 123
**
**
#P -47 72
..**
..*
*.*
**
#P -10 67
.**
****
**.**
..**
#P -10 81
.**
****
**.**
..**
#P -15 72
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P -19 68
.****
*...*
....*
*..*
#P -27 60
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -32 63
**
..*
..**
..*
**
#P -38 63
..***
.**
*
.**
..***
#P -42 70
.*
.**
*.*
#P -37 75
.*
.**
*.*
#P -44 78
.****
******
****.**
....**
#P -30 74
....*
.....*
....***
....***
*****.***
.***...**
..*
#P -27 84
..**
**.**
****
.**
#P -23 108
*.*
.**
.*
#P 462 65
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 454 78
*..*
....*
*...*
.****
#P 452 70
**
**
#P 445 71
.***
.***
*...*
****
.***
#P 446 62
.**
****
**.**
..**
#P 446 79
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 442 82
*
.*
.**
.*
*
#P 438 82
.*
.*
*
.*
.*
#P 430 81
....*
..**.*
*****
*..*
*****
..**.*
....*
#P 437 71
*.*
.**
.*
#P 432 76
*.*
.**
.*
#P 429 68
....**
****.**
******
.****
#P 421 75
...**
..*..*
..*.*
.***
***
..*
..*
**
#P 420 86
....*
**..**
*....*
.****
.**
#P 412 80
.**
*..*
.*
#P 456 102
...****
..*...*
......*
..*..*
.
.
..**
.*..*
.*..*
**.**
.**
.
.
.
...****
..*...*
......*
..*..*
#P 447 107
..*
.**
*
.*****
..****
.....*
#P 450 102
..**
**.**
****
.**
#P 441 95
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 431 97
......*
.*******
*..***.**
.*******
......*
#P 441 117
*..*
....*
*...*
.****
#P 435 113
***
..*
.*
#P 430 108
***
..*
.*
#P 424 113
.******
*.....*
......*
*....*
..**
#P 412 95
.........**
........*..**
........*
...***.****...*
...******......*
.....****.*
.*....*
*.**.****....*
*..*.*......*
.**..*****
...*.**.***
...........**
#P 424 108
.*
**
#P 417 113
.****
*...*
....*
*..*
#P 415 119
..**
.*..*
.*..*
**.**
.**
#P 417 127
.****
*...*
....*
*..*
#P 409 127
..**
**.**
****
.**
#P 406 118
**
**
#P 399 118
..*
.*.*
*...*
*...*
*...*
*..*
..*
#P 399 111
.****
*...*
....*
*..*
#P 399 90
*
***
...*
..**
#P 393 99
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P 389 102
*
.**
***
.**
*
#P 382 101
...*
.***
.**
*
.**
.***
...*
#P 388 112
.*
**
*.*
#P 369 90
*
***
...*
..**
#P 373 107
.*
**
*.*
#P 365 105
..**
*.**
*.*.**
.....*
...***
#P 380 124
*..*
....*
*...*
.****
#P 380 138
*..*
....*
*...*
.****
#P 375 130
..*.*
**...*
***.*.**
***....*
...*...*
....***
....*
#P 372 124
.**
****
**.**
..**
#P 365 116
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 361 119
*
.*
.**
.*
*
#P 357 119
.*
.*
*
.*
.*
#P 349 118
....*
..**.*
*****
*..*
*****
..**.*
....*
#P 366 132
*
.
.
..*
*.*
#P 360 134
.**
*
*...*
.***
#P 363 141
.****
*...*
....*
*..*
#P 373 153
.**
****
**.**
..**
.
.
.
.
**
.**
**
*
.
.
.**
****
**.**
..**
#P 365 160
**
*
*..*
.***
...**
#P 364 154
.****
*...*
....*
*..*
#P 356 170
..**
**.**
****
.**
#P 352 164
*
*
*.*
.*
.**
#P 356 146
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 352 149
*
.*
.**
.*
*
#P 348 149
.*
.*
*
.*
.*
#P 341 148
...*
..*.*
.***
***
.***
..*.*
...*
#P 345 160
.*
.**
*.*
#P 339 164
.****
******
****.**
....**
#P 337 153
.**
.**
*..*
..***
**.**
.*
..***
..***
#P 336 147
.**
*..*
*..*
.**
#P 329 148
..*
..*
....*
..*..*
..*..*
.****.*
**....*
.***
..**
...****
#P 353 132
.**
*.*
..*
#P 348 127
.**
*.*
..*
#P 343 122
.**
*.*
..*
#P 333 112
.**
*.*
..*
#P 343 101
.**
*..*
*..*
.**
#P 339 90
*
***
...*
..**
#P 338 127
...**
***.**
*****
.***
#P 331 123
.**
****
**.**
..**
#P 328 130
..**
.*..*
.*..**
*..**
****
#P 331 137
.**
****
**.**
..**
#P 322 138
.****
*...*
....*
*..*
#P 315 141
.*
**
*.*
#P 319 129
**
**
#P 311 129
...*
..***
.**.**
***.***
***.**
..*.*
#P 313 121
.**
****
**.**
..**
#P 314 101
**
*.*
.**
#P 309 90
*
***
...*
..**
#P 307 111
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 302 113
.*
..*
*..*
..*
.*
#P 295 112
...*
.*.*
*..*
*
*..*
.*.*
...*
#P 301 123
**
*.*
*
#P 284 101
**
*.*
.**
#P 279 90
*
***
...*
..**
#P 286 118
**
*.*
*
#P 279 116
***
.
.*
#P 282 118
**
..*
**
*
#P 286 162
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 277 168
***
*
***
...***
#P 278 161
*..*
....*
*...*
.****
#P 270 155
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 260 157
......*
.**..*.*
*..**...*
.**..*.*
......*
#P 270 177
.**
****
**.**
..**
#P 264 173
**
.**
.*
..*
#P 259 168
**
.**
*
#P 253 173
....**
****.**
******
.****
#P 270 126
.*
**
*.*
#P 256 112
.**
*..*
*..*
.**
#P 254 101
**
*.*
.**
#P 249 90
*
***
...*
..**
#P 257 131
.****
*...*
....*
*..*
#P 254 136
.**
*****
*....*
***..*
.*..**
..**
#P 257 145
.****
*...*
....*
*..*
#P 249 131
..**
**.**
****
.**
#P 242 123
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 237 125
.*
..*
*..*
..*
.*
#P 230 124
...*
.*.*
*..*
*
*..*
.*.*
...*
#P 245 141
**
**
#P 237 137
..*.**
*.....*
......*
*.....*
.*...*
..***
#P 240 146
*..*
....*
*...*
.****
#P 241 155
.........**
........*..*
........*..**
...**....**.***
....*.**....***
.......*....***
....*....*****
***...********
.**...*
..*...*****
...**
......*....*
.........****
...........*.*
............*
.............*
#P 227 149
.**
**
..*
#P 231 139
***
..*
.*
#P 226 134
***
..*
.*
#P 221 129
***
..*
.*
#P 215 132
.***
*****
***.**
...**
#P 220 119
*..*
....*
*...*
.****
#P 226 112
.**
*.*
**
#P 224 101
**
*.*
.**
#P 219 90
*
***
...*
..**
#P 215 60
*..*
....*
*...*
.****
.
.
.
.
***
..*
*.*
**
.
.
*..*
....*
*...*
.****
#P 205 66
**
**
#P 210 70
**
#P 207 71
*
#P 207 74
.**
****
**.**
..**
#P 198 67
..*
.***
*
*****
#P 198 59
.****
*...*
....*
*..*
#P 190 66
.*
..*
***
#P 185 71
.*
..*
***
#P 180 62
...**
.*....*
.......*
.*.....*
..******
#P 198 76
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 194 79
**
***
**
#P 185 77
...*
....**
.***
***
.***
....**
...*
#P 176 75
...*
..*.*
.....*
*....*
*....*
.*..*
..***
#P 189 90
*
***
...*
..**
#P 194 101
**
*.*
.**
#P 196 112
.**
*.*
**
#P 195 124
**
**
#P 213 150
.**
****
**.**
..**
#P 213 164
.**
****
**.**
..**
#P 210 156
.*
****
***.*
....**
*.***
.***
#P 204 158
.*****
.*
.
**
*...*
#P 201 156
.*
.*
*
#P 197 157
.*
*
.*
..**
#P 204 151
.****
*...*
....*
*..*
#P 208 199
*..*
....*
*...*
.****
#P 206 206
.**
**.**
.*..*
.*..*
..**
#P 208 213
*..*
....*
*...*
.****
#P 200 213
.**
****
**.**
..**
#P 197 206
.....*
..****
.*****
*
.**
..*
#P 195 166
.**
****
**.**
..**
#P 189 171
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 185 174
*
.*
.**
.*
*
#P 181 174
.*
.*
*
.*
.*
#P 173 173
....*
..**.*
*****
*..*
*****
..**.*
....*
#P 190 197
*..*
....*
*...*
.****
#P 185 202
.***
.***
*.*
#P 184 187
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 180 190
**
***
**
#P 171 188
...*
....**
.***
***
.***
....**
...*
#P 171 197
.**
**
..*
#P 187 164
.*
*
***
#P 172 169
.*
*
***
#P 182 134
.**
**
..*
#P 165 124
**
**
#P 166 112
.**
*.*
**
#P 164 101
**
*.*
.**
#P 159 90
*
***
...*
..**
#P 161 168
**
..*
#P 161 170
.....*
....*.*
*.*...*
.*.***
#P 157 195
.......**
.*****
******..*
*****
......**
#P 152 202
*..*
....*
*...*
.****
#P 150 209
.**
**.**
.*..*
.*..*
..**
#P 152 216
*..*
....*
*...*
.****
#P 144 202
.**
****
**.**
..**
#P 138 187
....**
.
..****
**
#P 157 147
.**
****
**.**
..**
#P 150 153
.....*
....****
..*****.*
.*......**
*...*.***
.*...***
..*
#P 157 161
.**
****
**.**
..**
#P 148 162
.****
*...*
....*
*..*
#P 141 163
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P 141 176
.**
*..*
*..*
.**
#P 133 167
**..***
**..***
**..***
#P 143 153
*
*
#P 136 151
..*
.***
*.**
*
.*
#P 140 146
..**
**.**
****
.**
#P 135 124
**
**
#P 137 119
.**
**
..*
#P 136 112
.**
*.*
**
#P 134 101
**
*.*
.**
#P 134 95
.*
*
***
#P 129 90
*
***
...*
..**
#P 128 165
**
..*
#P 128 170
..*
**
#P 124 167
.*
*
.*
#P 130 155
*
.**
**
#P 125 160
*
.**
**
#P 120 165
*
.**
**
#P 137 194
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 131 198
.*.*
*..**
.*.*
#P 126 196
.*
.*
**
.
**
.*
.*
#P 123 198
*
*
*
#P 141 213
**
**
#P 134 208
..*
*..*
*...*
*...*
*...*
.*.*
..*
#P 135 219
.****
*...*
....*
*..*
#P 126 211
.**
*.*
..*
#P 121 206
.**
*.*
..*
#P 116 201
.**
*.*
..*
#P 106 188
....**
...*..*
......*
.*...*
*
..**
#P 112 177
.**
*.*
**
#P 119 213
.****
*...*
....*
*..*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
*..*
#P 117 218
.*
*
#P 112 219
.*
**
.**
..**
#P 116 224
**
#P 111 213
..**
**.**
****
.**
#P 104 205
....**
****.**
******
.****
.
.**
****
**.**
..**
#P 99 207
.*
..*
*..*
..*
.*
#P 92 206
...*
.*.*
*..*
*
*..*
.*.*
...*
#P 102 228
*..*
....*
*...*
.****
#P 98 223
*.*
*..*
.
.***
#P 92 220
***
..*
.*
#P 87 215
***
..*
.*
#P 82 209
**
..*
**
#P 77 205
***
..*
.*
#P 124 138
..**
**.**
****
.**
#P 121 144
****
*..**
.*..**
.*..*
..**
#P 124 152
..**
**.**
****
.**
#P 112 144
...*.*
.*....*
.*...*
*...*
.**
.**
#P 115 151
*..*
....*
*...*
.****
#P 108 154
.****
*...*
....*
*..*
.
*....*
......*
*.....*
.******
#P 101 156
..**
.****
*...**
.****
..**
#P 92 155
.....*
....*.*
..**..*
**.*
..**..*
....*.*
.....*
#P 107 135
.**
****
**.**
..**
#P 100 142
*.*
.**
.*
#P 95 147
*.*
.**
.*
#P 90 152
*.*
.**
.*
#P 105 124
**
**
#P 107 119
*
*
.*
#P 103 110
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 101 102
.*****
*.***.*
.*...*
..***
...*
#P 99 90
*
***
...*
..**
#P 99 112
*
*.*
**
#P 84 134
.**
****
**.**
..**
#P 82 149
.***
*****
***.**
...**
#P 79 139
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P 70 141
......*
..*..***
.*.*****
**.**
.*..*
.
..**
#P 73 150
.*****
*....*
.....*
*...*
..*
#P 80 162
*.*
.**
.*
#P 81 168
.**
****
**.**
..**
#P 82 177
.**
*.*
**
#P 80 188
**
*.*
.**
#P 76 195
*..*
....*
*...*
.****
#P 66 152
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P 62 155
*
.**
***
.**
*
#P 55 154
...*
.***
.**
*
.**
.***
...*
#P 67 133
..**
**.**
****
.**
#P 60 139
*
.**
**
#P 55 144
*
.**
**
#P 50 149
*
.**
**
#P 45 155
**
**
.*
#P 40 159
*
.**
**
#P 53 166
**
**
#P 52 177
.**
*.*
**
#P 50 188
**
*.*
.**
#P 51 200
**
**
#P 77 213
..*
*...*
.....*
*....*
.*****
#P 79 223
***
..*
*.*
**
#P 79 229
*..*
....*
*...*
.****
#P 70 222
.**
**
.*..*
..*
....**
#P 69 214
.***
*****
***.**
...**
#P 62 205
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 58 208
*
.*
.**
.*
*
#P 54 208
.*
.*
*
.*
.*
#P 46 207
....*
..**.*
*****
*..*
*****
..**.*
....*
#P 62 232
.****
*...*
....*
*..*
#P 57 227
**
.*
.*
..**
#P 51 222
.**
*.*
..*
#P 46 217
.**
*.*
..*
#P 41 212
.**
*.*
..*
#P 36 207
.**
*.*
..*
#P 35 216
.*****
*....*
.....*
*...*
..*
#P 75 124
**
**
#P 77 119
*
*
.*
#P 73 110
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 71 102
.*****
*.***.*
.*...*
..***
...*
#P 69 90
*
***
...*
..**
#P 69 112
*
*.*
**
#P 61 119
.*
*
***
#P 54 127
*
*.*
**
#P 39 90
*
***
...*
..**
#P 41 102
.*****
*.***.*
.*...*
..***
...*
#P 43 110
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 47 119
*
*
.*
#P 45 124
**
**
#P 39 112
*
*.*
**
#P 31 119
.*
*
***
#P 24 127
*
*.*
**
#P 16 134
.*
*
***
#P 9 142
*
*.*
**
#P 27 155
**
**
#P 23 166
**
**
#P 21 172
...**
..*..*
..*..*
..*.*
.***
.***
*..*
*.*
***
#P 20 188
**
*.*
.**
.**
..**
.*.*
...*
#P 21 200
**
**
#P -3 155
**
**
#P -7 166
**
**
#P -9 173
..***
.**.**
.**.**
.*****
**...**
#P -8 180
.**
*****
*
..***
....*
..**
..**
#P -11 189
**...**
*.*.*.*
.*****
..***
...*
#P -9 200
**
**
#P 0 191
*.*
.**
.*
#P 9 90
*
***
...*
..**
#P 11 102
.*****
*.***.*
.*...*
..***
...*
#P 13 110
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 17 119
*
*
.*
#P 15 124
**
**
#P 9 112
*
*.*
**
#P 1 119
.*
*
***
#P -6 127
*
*.*
**
#P -14 134
.*
*
***
#P -21 142
*
*.*
**
#P -29 149
.*
*
***
#P -37 166
**
**
#P -39 173
..***
.**.**
.**.**
.*****
**...**
#P -38 180
.**
*****
*
..***
....*
..**
..**
#P -41 189
**...**
*.*.*.*
.*****
..***
...*
#P -39 200
**
**
#P -30 191
*.*
.**
.*
#P -22 198
*
.**
**
#P -15 206
*.*
.**
.*
#P -21 90
*
***
...*
..**
#P -19 102
.*****
*.***.*
.*...*
..***
...*
#P -17 110
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -13 119
*
*
.*
#P -15 124
**
**
#P -21 112
*
*.*
**
#P -29 119
.*
*
***
#P -36 127
*
*.*
**
#P -44 134
.*
*
***
#P -51 142
*
*.*
**
#P -59 149
.*
*
***
#P -66 157
*
*.*
**
#P -74 164
.*
*
***
#P -67 166
**
**
#P -69 173
..***
.**.**
.**.**
.*****
**...**
#P -68 180
.**
*****
*
..***
....*
..**
..**
#P -71 189
**...**
*.*.*.*
.*****
..***
...*
#P -69 200
**
**
#P -60 191
*.*
.**
.*
#P -52 198
*
.**
**
#P -45 206
*.*
.**
.*
#P -37 213
*
.**
**
#P -32 220
...**
..*
..*.*
...*
.*
*....*
......*
*.....*
.******
#P -97 166
**
**
#P -99 173
..***
.**.**
.**.**
.*****
**...**
#P -98 180
.**
*****
*
..***
....*
..**
..**
#P -101 189
**...**
*.*.*.*
.*****
..***
...*
#P -99 200
**
**
#P -90 191
*.*
.**
.*
#P -82 198
*
.**
**
#P -75 206
*.*
.**
.*
#P -67 213
*
.**
**
#P -62 216
**
**
#P -75 220
..*
*...*
.....*
*....*
.*****
/programs/demos/life2/lif/LOGGROW2.lif
0,0 → 1,824
#Life 1.05
#D log(t)^2
#D Population in generation t is asymptotic to
#D (5 log(t)^2)/(3 log(2)^2). More specifically, for
#D n>=2, the population in generation 960*2^n is
#D 5n^2/3 + 60n + 1875 + (if n mod 3 = 0 then 0 else 25/3).
#D This uses a caber tosser, a modified block pusher, and a toggleable
#D p120 gun. Each glider from the caber tosser turns on the gun and
#D causes the block pusher to go through one cycle (sending out a
#D salvo and awaiting the return gliders). When the cycle is
#D complete, the gun is turned back off.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 4/24/92
#N
#P -82 94
......*
......**.**
....*..*
..*......*
..*...*..*
***..****
.**..*..*
..*...*
...***.*
....***
.....*
#P -76 104
.........*
......**.*
....**
..*..*..**
.*.*.**..**
***.**
.**.....*
..*
...*****
....**
.....*
#P -56 120
......*
......**.**
....*..*
..*......*
..*...*..*
***..****
.**..*..*
..*...*
...***.*
....***
.....*
#P -62 93
..*
..***
.**.**
.
....**
....*
...**
...*
..***
*.***
*
*
#P -47 88
..***
..*..*
.*
....**
*...*
..**
#P -79 82
***
#P -72 80
**
*.*
*.**
.**
.*
#P -56 65
...***
.*..*
*
.*.*
#P -38 81
...*
..**
*..*
.
*.*
.*
#P -30 91
...***
.*..*
*
.*.*
#P -73 73
*
**
#P -65 65
*
**
#P -57 57
*
**
#P -35 119
*
**
#P -27 111
*
**
#P -19 103
*
**
#P -13 94
*
**
#P 5 -4
**
*
#P 3 7
**...**
.
.*...*
..***
..***
#P 5 17
...*
..***
..***
.
**...**
*.....*
#P 7 26
.**
**
#P 2 29
...*
..*.*
.*...*
..***
**...**
#P 0 47
...*
..***
.*****
**...**
#P 2 58
*
**
#P -13 16
......*
.....*
**..*....*
.*.*..*.**
....**
#P -18 26
*
***
...*
..**
#P -16 35
**...**
**...**
.*****
..*.*
.
..***
#P -14 49
...*
..***
.*****
**...**
#P -11 60
**
.*
#P -14 71
**...**
.
.*...*
..***
..***
#P -16 78
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -30 69
.**
*.*
.*
#P -23 20
.*
*.*
.*
#P -29 19
...*
.***
*
**
#P -34 29
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P -36 39
...*
.**.**
.
*.....*
.
**...**
#P -31 51
**
*
.***
...*
#P -104 -34
**
*
#P -107 -25
..***
.*...*
*.....*
**.*.**
#P -105 -19
.*
*.*
*.*
**
#P -109 -15
...*
..***
.*...*
*.***.*
.*****
#P -106 3
**...**
*.*.*.*
.*****
..***
...*
#P -104 15
..***
.**.**
.**.**
.*****
**...**
#P -99 6
.**
*.*
..*
#P -101 28
.*
**
#P -59 18
.**
*.*
..*
#P -66 33
.*
**
**
*
#P -72 38
...*
.***
*
**
#P -87 31
..**
.***
*.*..*...*
**..**..**
....**
#P -92 35
**
*
#P -95 40
...*
.*...*
.*****
**...**
.*****
..***
...*
#P -93 57
..***
.*...*
.
*.....*
**...**
#P -90 69
.*
**
#P -81 70
..**
...*
***
*
#P -79 64
**...**
..***
.*...*
..*.*
...*
#P -77 45
..***
.
..*.*
.*****
**...**
**...**
#P -89 48
.**
*.*
..*
#P -77 53
**
*.*
*
#P -13 -140
**
*
#P -8 -143
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P 11 -145
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 25 -142
..**
.*
*
*
*
.*
..**
#P 38 -140
**
.*
...**
...***
...**
.*
**
#P 49 -137
.*
**
#P -28 -126
**
*
#P -19 -129
..**
.*.*
*
*..*
*
.*.*
..**
#P -13 -127
.***
*..*
.**
#P -9 -131
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 4 -133
..**
..*
*.*
**
#P 10 -136
**
*
#P -23 -121
**
*
#P -25 -112
**...**
*.....*
.
.*...*
..***
#P -23 -101
...*
.**.**
.
*.....*
.
**...**
#P -20 -87
.*
**
#P -5 -122
**
*
#P -2 -119
**
*
#P 3 -126
...*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P -9 -107
*
***
...*
..**
#P -7 -99
...*
..***
..***
.
**...**
*.....*
#P -5 -86
*
**
#P 2 -107
.*
..*
***
#P 16 -115
**
.*
.*.*
..**
#P 19 -120
....*
**..**.***
*.....****
....**
#P 24 -113
....**
...***
*.**
*..*
*.**
...***
....**
#P 19 -100
**
*
#P 39 -129
**
.*
.*.*
..**
#P 48 -127
**
*.*
...*
*..*
...*
*.*
**
#P 59 -125
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 73 -122
.*
**
#P 39 -122
.*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P 37 -111
**
.*
#P 41 -109
**
.*
#P 42 -104
..**
.*.*
.*
**
#P 48 -109
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P 66 -111
...*
..****
.**.*
***.*.*
.**.*
..****
...*
#P 76 -109
**
.*
#P 43 -93
...*
.***
*
**
#P 38 -82
**...**
.*****
.**.**
.**.**
..***
#P 43 -74
**
*
.***
...*
#P 41 -70
*
**
**
.*
#P 54 -92
**
*
#P 63 -95
*
**
.**
.***
.**
**
*
#P 75 -93
....**
...***
*.**
*..*
*.**
...***
....**
#P 86 -95
..**
..*
*.*
**
#P 86 -87
**
.*
#P 83 -80
...*
..***
..***
.
**...**
*.....*
#P 81 -62
**...**
.
.*...*
..***
..***
#P 79 -55
..**
...*
***
*
#P 83 -72
.*
**
*.*
#P 99 -84
**
*
#P 97 -74
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P 99 -64
...*
.**.**
.
*.....*
.
**...**
#P 102 -48
...*
..***
.*****
*.*.*.*
**...**
#P 100 -32
**...**
.*****
.**.**
.**.**
..***
#P 105 -24
**
*
.***
...*
#P 102 -40
.**
**
..*
#P 94 -62
.*
*
***
#P 92 -44
.*
**
#P 84 -45
....**
****
***.**
.....*
#P 78 -28
**
*
#P 64 -32
.*
*
***
#P 53 -48
.**
*.*
..*
#P 43 -4
**
*.*
..*
..**
#P 31 -9
....*
.****
****
*..*
****
.****
....*
#P 24 -6
**
*
#P 33 -17
.*
**
*.*
#P 22 -20
..**
...*
***
*
#P 24 -30
**...**
*.....*
.
.*...*
..***
#P 26 -39
**
.*
#P 11 -62
.*
**
#P 8 -73
**...**
.*****
..***
...*
#P 15 -68
..**
.*.*
.*
**
#P 6 -83
*
***
...*
..**
#P -3 -75
...*
.***
*
**
#P -8 -68
...*
..***
..***
.
**...**
*.....*
#P -10 -50
**...**
.
.*...*
..***
..***
#P -8 -41
*
**
#P -8 -60
.*
**
*.*
#P -18 -81
.****
*........*
*...**..**
.*..*
#P -23 -78
**
*
#P -26 -73
..***
..***
.*...*
*.....*
.*...*
..***
#P -24 -56
...*
..***
.*****
*.*.*.*
**...**
#P -22 -44
.*
**
#P -32 -70
**
*
#P -34 -61
**...**
*.....*
.
.*...*
..***
#P -32 -46
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P -35 -35
...*
..***
..***
.
**...**
*.....*
#P -37 -17
**...**
.
.*...*
..***
..***
#P -39 -10
..**
...*
***
*
#P -36 -47
**
.*
#P -45 -51
**
*
.*
**
#P -57 -57
......*
.....*
.*..*....*
**.*..*.**
....**
#P -62 -53
.*
**
/programs/demos/life2/lif/LONEDOTS.lif
0,0 → 1,384
#Life 1.05
#D Lone Dot Agars
#D by Dean Hickerson, Al Hensel.
#D See also TWINDOTS, POLES, OSCSP2.
#N
#P -60 -57
............**.......**
............*.........*
**...........*.*...*.*
*
.*.*...........*.*.*
.
...*.*.......*.*.*
.
.....*.*...*.*...*.*.....................**
..........................**..**........*.*
.......*.*.*.......*.*...*.*..*.*
......................................*.*
.....*.*.*...........*.*.*......*.*
....................................*.*
...*.*...*.*.......*.*.*..........*
.....................................*
.*.*.......*.*...*.*...*.*.......*.*
.**..................................*.*......**
.............*.*.*.......*.*...*.*...........*.*
.......................................*.*
...........*.*.*...........*.*.*...........*.*
.........................................*
.........*.*...*.*.......*.*.*..............*
........*...............................*.*
........**.......*.*...*.*...*.*............*.*
....................*.*...............*.*......*
...................**.**.......*.*............**
..................................*.*.*
.................................**.**
#P -6 -58
..............**
..........**.*.*
..........*
...........*...*...**
....................*
...........*.*.*.*.*
........................**
.........*.*.....*.*.*.*.*
.....**
.....*.*.*.....*.*...*...*...**
..............................*
.......*.*.*.*.*.....*.*.*.*.*
..................................**
.....*.*...*...*...*.*.....*.*.*.*.*
.
**.*.*.....*.*.*.*.*.....*.*...*...*
*...................................*
.*...*...*.*.....*.*.*.*.*.....*.*.**
.
.*.*.*.*.*.....*.*...*...*...*.*
.**
.......*.*.*.*.*.....*.*.*.*.*
......*
......**...*...*...*.*.....*.*.*
..............................**
...........*.*.*.*.*.....*.*
...........**
.................*.*.*.*.*
................*
................**...*...*
..........................*
.....................*.*.**
.....................**
#P 37 -54
.....................***
...................*
..............**.*.*...*
..............*...........**
...............*.....*.*.*.*
.
.......***.....*.*.*.*.....*
.....*........................**
**.*.*...*...*.*...*.....*.*.*.*
*
.*.....*.*.*.*.....*.*.*.*.....*
..................................**
.*.*.*.*.....*...*.*...*.....*.*.*.*
.**
.....*.....*.*.*.*.....*.*.*.*.....*
......................................**
.....*.*.*.*.....*...*.*...*.....*.*.*.*
.....**
.........*.....*.*.*.*.....*.*.*.*.....*
........................................*
.........*.*.*.*.....*...*.*...*...*.*.**
.........**........................*
.............*.....*.*.*.*.....***
.
.............*.*.*.*.....*
.............**...........*
.................*...*.*.**
.....................*
.................***
#P -59 -19
................**
............**...*
............*.*.*
.
..............*.*.*...**
.......................*
.........**.*.*...*.*.*
.........*
..........*...*.....*.*.*...**
.............................*
..........*.*.*.*.*.*...*.*.*
......**
......*.*.*.....*...*.....*.*.*...**
...................................*
........*.*.*...*.*.*.*.*.*...*.*.*
.
...**.*.*...*.*.*.....*...*.....*.*.*
...*...............................**
....*...*.....*.*.*...*.*.*.*.*.*
.
....*.*.*.*.*.*...*.*.*.....*...*
**...............................*
*.*.*.....*...*.....*.*.*...*.*.**
.
..*.*.*...*.*.*.*.*.*...*.*.*
.*
.**...*.*.*.....*...*.....*.*.*
.............................**
........*.*.*...*.*.*.*.*.*
.......*
.......**...*.*.*.....*...*
...........................*
..............*.*.*...*.*.**
.............*
.............**...*.*.*
.
....................*.*.*
...................*...**
...................**
#P -14 -18
................**
............**.*.*
............*
.............*...*...**
......................*
.............*.*.*.*.*
.........**...............**
.........*.*.*.....*.*.*.*.*
.
...........*.*.*.*.*...*...*...**
................................*
......**.*.*...*...*...*.*.*.*.*
......*.............................**
.......*...*...*.*.*.*.*.....*.*.*.*.*
.
.......*.*.*.*.*.....*.*.*.*.*...*...*
...**.................................*
...*.*.*.....*.*.*.*.*...*...*...*.*.**
.
.....*.*.*.*.*...*...*...*.*.*.*.*
.
**.*.*...*...*...*.*.*.*.*.....*.*.*
*.................................**
.*...*...*.*.*.*.*.....*.*.*.*.*
.
.*.*.*.*.*.....*.*.*.*.*...*...*
.**.............................*
.......*.*.*.*.*...*...*...*.*.**
......*
......**...*...*...*.*.*.*.*
.
...........*.*.*.*.*.....*.*.*
...........**...............**
.................*.*.*.*.*
................*
................**...*...*
..........................*
.....................*.*.**
.....................**
#P 32 -18
.........................*
.......................*.*
...........................*
.....................**
....................*......**
.
...............**.*.*...*.*....*
...............*........*....*.*
................*...*.*..........*
...........................**
...........**.*.*...*.....*......**
...........*
............*...*.*.*.*.*.*...*.*....*
..............................*....*.*
.......**.*.*...*.....*...*.*..........*
.......*.........................**
........*...*.*.*.*.*.*...*.....*......**
.
......*.*...*.....*...*.*.*.*.*.*...*.*
....*...............................*
..*.*...*.*.*.*.*.*...*.....*...*.*
.
**......*.....*...*.*.*.*.*.*...*
......**.........................*
.*..........*.*...*.....*...*.*.**
...*.*....*
...*....*.*...*.*.*.*.*.*...*
.............................*
......**......*.....*...*.*.**
............**
.......*..........*.*...*
.........*.*....*........*
.........*....*.*...*.*.**
.
............**......*
..................**
.............*
...............*.*
...............*
#P -114 18
.....................**
....................*..*
....................*.**
..............**..**.*..**
..............*..*...*.*..*
...............*...*.....*
...........**......*....*
...........*..*.*..........**
............*.....*.*.*.*..*
........**......*........*.*.*
........*..*.*......*...**..*.*
.........*.....*.*........*.*..*
.....**......*.....*.*..**.*.*.*
.....*..*.*......*.....*...*.*.**
......*.....*.*......*...*...*..*
..**......*.....*.*......*.....*....**
..*..*.*......*.....*.*.......*....*..*
...*.....*.*......*.....*.*........*.**
.......*.....*.*......*.....*.*..**.*..**
.**........*.....*.*......*.....*...*.*..*
*...*.*.*......*.....*.*......*...*.....*
**.*...*..*.*......*.....*.*......*....*
.*.*.*.**.....*.*......*.....*.*..........**
.*..*.*.....*.....*.*......*.....*.*.*.*..*
..*.*..**.......*.....*.*......*........*.*.*
...*.*.*.*.*.*......*.....*.*......*...**..*.*
.....*.........*.*......*.....*.*........*.*..*
....**...*...*.....*.*......*.....*.*..**.*.*.*
.................*.....*.*......*.....*...*.*.**
.......**...*.*......*.....*.*......*...*...*..*
......*...*..*..*.*......*.....*.*......*.....*
.......**..*.**.....*.*......*.....*.*.......*
.........**.*.....*.....*.*......*.....*.*
.........*..*.........*.....*.*......*.....*.*
..........**....**........*.....*.*......*..**
...............*...*.*.*......*.....*.*
...............**.*...*..*.*......*.....*.*
................*.*.*.**.....*.*......*..**
................*..*.*.....*.....*.*
.................*.*..**.......*.....*.*
..................*.*.*.*.*.*......*..**
....................*.........*.*
...................**...*...*.....*.*
................................*..**
......................**...*.*
.....................*...*..*..*.*
......................**..*.**..**
........................**.*
........................*..*
.........................**
#P -59 36
............**..**
............*..*.*
.............*
.........**.....*..**
.........*..*.*...*.*
..........*.....*
......**.....*.....*..**
......*..*.*...*.*...*.*
.......*.....*.....*
...**.....*.....*.....*..**
...*..*.*...*.*...*.*...*.*
....*.....*.....*.....*
**.....*.....*.....*.....*..**
*..*.*...*.*...*.*...*.*...*.*
.*.....*.....*.....*.....*
....*.....*.....*.....*.....*
*.*...*.*...*.*...*.*...*.*..*
**..*.....*.....*.....*.....**
.......*.....*.....*.....*
...*.*...*.*...*.*...*.*..*
...**..*.....*.....*.....**
..........*.....*.....*
......*.*...*.*...*.*..*
......**..*.....*.....**
.............*.....*
.........*.*...*.*..*
.........**..*.....**
................*
............*.*..*
............**..**
#P -20 31
....**..**..**..**..**..**..**..**
....*..*.*..*..*.*..*..*.*..*..*.*
.....*.......*.......*.......*
........*.......*.......*.......*
**..*.*.....*.*.....*.*.....*.*.....**
*.*.....*.*.....*.*.....*.*.....*.*..*
....*.......*.......*.......*.......*
.*.......*.......*.......*.......*
*..*.*.....*.*.....*.*.....*.*.....*.*
**.....*.*.....*.*.....*.*.....*.*..**
.....*.......*.......*.......*
........*.......*.......*.......*
**..*.*.....*.*.....*.*.....*.*.....**
*.*.....*.*.....*.*.....*.*.....*.*..*
....*.......*.......*.......*.......*
.*.......*.......*.......*.......*
*..*.*.....*.*.....*.*.....*.*.....*.*
**.....*.*.....*.*.....*.*.....*.*..**
.....*.......*.......*.......*
........*.......*.......*.......*
**..*.*.....*.*.....*.*.....*.*.....**
*.*.....*.*.....*.*.....*.*.....*.*..*
....*.......*.......*.......*.......*
.*.......*.......*.......*.......*
*..*.*.....*.*.....*.*.....*.*.....*.*
**.....*.*.....*.*.....*.*.....*.*..**
.....*.......*.......*.......*
........*.......*.......*.......*
**..*.*.....*.*.....*.*.....*.*.....**
*.*.....*.*.....*.*.....*.*.....*.*..*
....*.......*.......*.......*.......*
.*.......*.......*.......*.......*
*..*.*.....*.*.....*.*.....*.*.....*.*
**.....*.*.....*.*.....*.*.....*.*..**
.....*.......*.......*.......*
........*.......*.......*.......*
....*.*..*..*.*..*..*.*..*..*.*..*
....**..**..**..**..**..**..**..**
#P 30 31
..........**........**
..**.**....*...*.....*...*
..**.*.*...*.***.....*.***..........**..**
.....*......*.........*............*.*..**
.....*.**.....****......****.......*
..**.*.......**..*.....**..*.....**.******
..*..***....*...*.....*...*.....*...*....*
...**.......*.........*.........*...*.*.*
.....*..*.*...*.*.*.*...*.*.*.*...*...*
.....*
......**..*.*.*.*...*.*.*.*...*.*.*.......*
........................................***
........*.*.*...*.*.*.*...*.*.*.*..**..*
.....................................*..*
........*...*.*.*.*...*.*.*.*...*.*..**.*
....**................................*.**
....*.*.*.*.*.*...*.*.*.*...*.*.*.*.*.*
.**.*................................**
..*.**..*.*...*.*.*.*...*.*.*.*...*
..*..*
...*..**..*.*.*.*...*.*.*.*...*.*.*.......*
***.....................................***
*.......*.*.*...*.*.*.*...*.*.*.*..**..*
.....................................*..*
........*...*.*.*.*...*.*.*.*...*.*..**.*
....**................................*.**
....*.*.*.*.*.*...*.*.*.*...*.*.*.*.*.*
.**.*................................**
..*.**..*.*...*.*.*.*...*.*.*.*...*
..*..*
...*..**..*.*.*.*...*.*.*.*...*.*.*
***
*.......*.*.*...*.*.*.*...*.*.*.*..**
.....................................*
....*...*...*.*.*.*...*.*.*.*...*.*..*
..*.*.*...*.........*.........*.......**
.*....*...*.....*...*.....*...*....***..*
.******.**.....*..**.....*..**.......*.**
.......*.......****......****.....**.*
.**..*.*............*.........*......*
.**..**..........***.*.....***.*...*.*.**
.................*...*.....*...*....**.**
.....................**........**
/programs/demos/life2/lif/LOOP.lif
0,0 → 1,251
#Life 1.05
#D Two-glider loop between retreating Corderships
#D by David Bell. See also: HOTEL, SAWTOOT6, CORDER,
#D and the rest of the Cordership series.
#N
#P 8 -75
.*
.*
*.*
.*
.*
#P -1 -74
..***
.*..**
*.....*
......*
.**..*
...**
#P 23 -62
..*
**.**
..*
#P 21 -57
..**
.*..*
*...**
*....*
.*...*
.*..*
...*
#P 34 -49
.*
.*
*.*
.*
.*
#P 25 -48
..***
.*..**
*.....*
......*
.**..*
...**
#P 29 -33
..**
***.*
*...*
*.**
..*
#P 18 -34
....*
..**
.**
*
.*****
..*
#P 14 -49
..**
..**
..*
.**
.*
.*
**.*
..*
#P 10 -45
**
#P 12 -55
...*
...*
...*
*.***.*
*****.*
*.*
#P -22 -44
...***
......*
.**....*
....*...*
*....*..*
*...*...*
***.*.**
....*
****
**
#P -15 -36
....***
...*...*
...*....*
.....*...*
..***.*..*
.*.......*
.*.*...*
**.*...*
**.***
#P 4 -18
...***
......*
.**....*
....*...*
*....*..*
*...*...*
***.*.**
....*
****
**
#P -11 -69
**
**
#P -19 -61
**
**
#P -27 -53
**
**
#P 27 -23
**
**
#P 19 -15
**
**
#P 11 -7
**
**
#P -3 -4
*
*.*
**
#P 1 1
.**
*.*
..*
#P -36 44
.*
.*
*.*
.*
.*
#P -31 42
..**
.*..**
*
*.....*
.**..*
..***
#P -27 59
..*
**.**
..*
#P -26 50
..*
.*..*
*...*
*....*
**...*
.*..*
..**
#P -10 70
.*
.*
*.*
.*
.*
#P -5 68
..**
.*..**
*
*.....*
.**..*
..***
#P -33 28
..*
.**.*
*...*
*.***
.**
#P -23 28
...*
*****
.....*
...**
..**
.*
#P -18 49
....*.*
*.*****
*.***.*
...*
...*
...*
#P -17 41
.*
*.**
..*
..*
.**
.*
**
**
#P -11 44
**
#P -12 8
.......**
.....****
....*
.**.*.***
*...*...*
*..*....*
*...*
.*....**
..*
...***
#P 6 27
....***.**
..*...*.**
..*...*.*
*.......*
*..*.***
*...*
.*....*
..*...*
...***
#P 14 34
.......**
.....****
....*
.**.*.***
*...*...*
*..*....*
*...*
.*....**
..*
...***
#P -12 5
**
**
#P -20 13
**
**
#P -28 21
**
**
#P 26 51
**
**
#P 18 59
**
**
#P 10 67
**
**
/programs/demos/life2/lif/LWSSGUN.lif
0,0 → 1,48
#Life 1.05
#D Lightweight Spaceship gun
#D by Dieter Leithner, Oct 1993
#N
#P -22 -13
**
**
.
.
.
.
.
.
**
**
#P -5 -21
*
**
.**
**
.
.
.
**
.**
**
*
#P 8 -17
***
*
*
.*
.
.*
*
*
***
#P 25 -17
**
**
#P -23 12
**.*...*.**
*..*...*..*
.***...***
#P -26 19
**.............**
**..**.....**..**
....**.....**
/programs/demos/life2/lif/LWSSRAK2.lif
0,0 → 1,46
#Life 1.05
#D p32 orthogonal lwss rake.
#D Based on Tim Coe's rake.
#N
#P -4 -8
.****
*...*
....*
...*
#P -8 -4
....**
.
*.**...**
***.***.**
..*******
....****
#P -11 5
.******
*.....*
......*
.....*
#P -16 -11
...**
***.**
*****
.***
#P -29 -14
.******
*.....*
......*
.....*
#P -37 -10
.*****
*....*
.....*
....*
#P -22 5
...*
....*
*...*
.****
#P -23 11
..***
.*****
****.**
....**
/programs/demos/life2/lif/LWSSRAKE.lif
0,0 → 1,63
#Life 1.05
#D A period 32 LWSS backrake.
#D By Tim Coe, April 1996.
#N
#P 11 -14
.******
*.....*
*.....*
.*...*
...*
...**
..****
..**.**
....**
#P 1 -21
....*
.....*
*....*
.*****
#P 3 -5
.*****
*....*
.....*
....*
#P 21 6
......**
*.****.**
*..*****
*...***
#P 24 12
.****
*...*
....*
...*
#P 17 -1
.******
*.....*
......*
.....*
#P 12 15
...**
***.**
*****
.***
#P 6 8
.**
*.*
..*
#P -1 18
.******
*.....*
......*
.....*
#P -9 14
.*****
*....*
.....*
....*
#P -30 5
.***
*****
***.**
...**
/programs/demos/life2/lif/MAKEBILS.lif
0,0 → 1,391
#Life 1.05
#D Glider syntheses for 4 billiard tables
#D A collection of 4 glider syntheses, found by David Buckingham,
#D of billiard table oscillators:
#D 12 gliders -> p8 Hertz oscillator
#D 14 gliders -> p3 MIT oscillator
#D 10 gliders -> p2 scrubber
#D 6 gliders -> p3 (unnamed?)
#D (Collection assembled by Dean Hickerson, 1/25/93. The syntheses
#D are much older.)
#N
#P -31 -32
..*
*.*
.**
#P -22 -36
*
*.*
**
#P -28 -27
.*
..*
***
#P -12 -27
*.*
**
.*
#P -18 -20
.*
**
*.*
#P -8 -16
.*
**
*.*
#P -28 -17
.**
*.*
..*
#P -35 -14
**
.**
*
#P -27 -12
**
.**
*
#P -21 -13
**
.**
*
#P -27 -4
.**
*.*
..*
#P -16 -8
**
*.*
*
#P -38 -40
*..*..*..*..*..*..*..*..*..*..*..*
#P -38 -37
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 28 -36
..*
**
.**
#P 10 -28
.*
..*
***
#P 2 -24
.*
..*
***
#P 24 -25
*
*.*
**
#P 31 -23
*
*.*
**
#P 6 -11
*
.**
**
#P 18 -13
*.*
**
.*
#P 12 -8
*.*
.**
.*
#P 18 -6
..*
**
.**
#P 3 -2
**
.**
*
#P 13 -2
**
.**
*
#P 21 -2
..*
**
.**
#P 20 2
.*
**
*.*
#P 30 2
.**
**
..*
#P -2 -40
*..*..*..*..*..*..*..*..*..*..*..*..*..*
#P -2 -37
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 37 -37
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 25 8
*..*..*..*..*
#P -21 6
*
*.*
**
#P -26 10
.*
..*
***
#P -28 14
.*
.**
*.*
#P -23 17
*.*
.**
.*
#P -27 21
.*
.**
*.*
#P -34 19
***
..*
.*
#P -8 19
.*
*
***
#P -14 24
*.*
**
.*
#P -16 28
***
*
.*
#P -21 32
.**
*.*
..*
#P -38 2
*..*..*..*..*..*..*..*..*..*..*..*..*
#P -38 5
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -38 38
*..*..*..*..*..*..*..*..*..*..*..*..*
#P 5 11
*.*
.**
.*
#P 12 15
.*
*
***
#P 17 15
..*
**
.**
#P 9 18
*
.**
**
#P 1 23
**
.**
*
#P 13 27
.*
**
*.*
#P -2 5
*
.
.
*..*..*..*..*..*..*..*..*
#P -2 11
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 22 11
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -2 32
*..*..*..*..*..*..*..*..*
.
.
*
/programs/demos/life2/lif/MAKEFISH.lif
0,0 → 1,106
#Life 1.05
#D Glider syntheses for LWSS, MWSS, HWSS, and the Schick Engine.
#D
#D Notice that if you delete the upper-left glider in the HWSS
#D synthesis on the right, the result will be an LWSS instead.
#N
#P -34 -17
*.*
.**
.*
#P -28 -21
*.*
**
.*
#P -30 -12
.**
*.*
..*
#P -27 -2
..*
*.*
.**
#P -30 5
.**
*.*
..*
#P -17 -2
*.*
**
.*
#P -20 13
.*
..*
***
#P -19 18
.**
**
..*
#P -14 16
.**
**
..*
#P -1 -15
..*
*.*
.**
#P 29 10
.**
**
..*
#P 17 -4
*
*.*
**
#P 12 1
.**
*.*
..*
#P 1 13
***
..*
.*
#P -45 -7
..*
**
.**
#P -48 8
.**
**
..*
#P -49 -6
*
*.*
**
#P -53 -4
.*
..*
***
#P -51 1
..*
**
.**
#P -53 5
.*
**
*.*
#P -58 6
.*
**
*.*
#P -60 11
.**
*.*
..*
#P -67 8
***
..*
.*
#P -61 -3
*.*
.**
.*
#P -59 -10
..*
*.*
.**
/programs/demos/life2/lif/MAKEFUSE.lif
0,0 → 1,100
#Life 1.05
#D Glider synthesis for a fuse
#D This can be ignited easily by another glider.
#N
#P -27 -20
*
.**
**
#P -28 -2
***
..*
.*
#P 8 34
.**
*.*
..*
#P 26 33
.*
**
*.*
#P -10 -20
*.*
**
.*
#P -14 -16
*.*
**
.*
#P -6 -16
..*
**
.**
#P -14 -12
***
..*
.*
#P -2 -12
*.*
**
.*
#P -6 -8
*.*
**
.*
#P 2 -8
..*
**
.**
#P -6 -4
***
..*
.*
#P 6 -4
*.*
**
.*
#P 2 0
*.*
**
.*
#P 10 0
..*
**
.**
#P 2 4
***
..*
.*
#P 14 4
*.*
**
.*
#P 10 8
*.*
**
.*
#P 18 8
..*
**
.**
#P 10 12
***
..*
.*
#P 22 12
*.*
**
.*
#P 18 16
*.*
**
.*
#P 26 16
..*
**
.**
#P 18 20
***
..*
.*
/programs/demos/life2/lif/MAKEGUN.lif
0,0 → 1,36
#Life 1.05
#D Glider synthesis for a glider gun
#D with only 8 gliders
#N
#P -22 -4
*.*
.**
.*
#P -6 -7
*
*.*
**
#P -9 -4
*
.**
**
#P -12 1
**
.**
*
#P 13 -6
*
*.*
**
#P 10 1
**
*.*
*
#P 4 4
.*
.**
*.*
#P 22 2
***
*
.*
/programs/demos/life2/lif/MAKEHSLR.lif
0,0 → 1,503
#Life 1.05
#D Glider synthesis for a hustler
#D 123 gliders crash to form the period 3 oscillator "hustler". First,
#D 14 gliders are used to form the p8 Hertz oscillator, with non-standard
#D induction coils. The induction coils are then repeatedly modified by
#D the next 99 gliders. Finally, 10 gliders are used to reshape the
#D billiard table and induction coils, creating the hustler.
#D The steps of the construction were figured out by David Buckingham.
#D Dean Hickerson put them together, about 3/12/91, from notes by
#D Buckingham dated 1/30/90.
#N
#P 8 2
.*
**
*.*
#P -8 -11
.*
..*
***
#P -8 5
.**
*.*
..*
#P -1 9
**
.**
*
#P -7 10
**
.**
*
#P 14 -11
*.*
**
.*
#P 10 14
**
*.*
*
#P 18 6
.*
**
*.*
#P -11 -16
..*
*.*
.**
#P -15 8
**
.**
*
#P -7 18
.**
*.*
..*
#P 15 17
***
*
.*
#P 23 -11
*
*.*
**
#P 4 -20
*
*.*
**
#P -16 -19
.*
..*
***
#P -23 -11
..*
*.*
.**
#P -31 15
**
.**
*
#P 13 31
.**
**
..*
#P 21 30
***
*
.*
#P 27 15
.**
**
..*
#P 33 -23
*
*.*
**
#P -22 -41
.*
..*
***
#P -32 31
.*
.**
*.*
#P 22 35
**
*.*
*
#P 32 14
***
*
.*
#P 40 -24
*
*.*
**
#P -30 -39
*.*
.**
.*
#P -35 36
**
.**
*
#P 54 50
**
*.*
*
#P 37 -41
*
*.*
**
#P -30 -45
*
.**
**
#P 51 55
**
*.*
*
#P 51 60
**
*.*
*
#P 51 71
.**
**
..*
#P 59 70
***
*
.*
#P 60 75
**
*.*
*
#P 69 80
***
*
.*
#P 72 73
.*
**
*.*
#P 80 66
.*
**
*.*
#P 92 78
.**
**
..*
#P 93 87
.**
**
..*
#P 107 123
**
*.*
*
#P 117 133
***
*
.*
#P 129 123
**
*.*
*
#P 137 118
.*
**
*.*
#P 140 122
.**
**
..*
#P 120 142
.**
**
..*
#P 141 145
**
*.*
*
#P 152 137
**
*.*
*
#P 144 155
**
*.*
*
#P 159 167
.**
**
..*
#P 165 165
**
*.*
*
#P 166 151
.**
**
..*
#P -35 -50
*
.**
**
#P -52 -40
.*
..*
***
#P -65 -51
..*
*.*
.**
#P -59 -58
.*
..*
***
#P -85 -83
*
.**
**
#P -82 -88
*
.**
**
#P -82 -93
*
.**
**
#P -83 -104
.*
..*
***
#P -91 -102
*.*
.**
.*
#P -91 -108
*
.**
**
#P -101 -112
..*
*.*
.**
#P -103 -106
*
.**
**
#P -121 -114
*
.**
**
#P -126 -121
..*
*.*
.**
#P -134 -116
..*
*.*
.**
#P -114 -131
*.*
.**
.*
#P -118 -134
*
.**
**
#P -137 -120
.*
..*
***
#P -128 -150
..*
*.*
.**
#P -148 -135
*
.**
**
#P -148 -153
*.*
.**
.*
#P -151 -163
*.*
.**
.*
#P -161 -170
*
.**
**
#P -167 -168
..*
*.*
.**
#P -168 -154
*
.**
**
#P 40 -46
.*
*
***
#P 50 -46
..*
**
.**
#P 57 -45
*.*
**
.*
#P 56 -51
*.*
**
.*
#P 61 -51
*
*.*
**
#P 74 -62
..*
**
.**
#P 82 -83
..*
**
.**
#P 77 -90
*.*
**
.*
#P 102 -104
*
*.*
**
#P 105 -109
.*
*
***
#P 101 -117
..*
**
.**
#P 112 -126
.*
*
***
#P 125 -120
*.*
**
.*
#P 128 -125
..*
**
.**
#P 132 -117
*
*.*
**
#P 133 -128
*
*.*
**
#P 127 -137
..*
**
.**
#P 142 -148
.*
*
***
#P 157 -144
.*
*
***
#P 141 -155
..*
**
.**
#P 149 -155
*
*.*
**
#P 154 -166
*.*
**
.*
#P 169 -176
.*
*
***
#P -58 44
.*
.**
*.*
#P -55 50
.**
*.*
..*
#P -49 58
***
..*
.*
#P -74 71
.*
.**
*.*
#P -77 76
**
.**
*
#P -75 84
**
.**
*
#P -88 78
.**
*.*
..*
#P -89 72
.**
*.*
..*
#P -92 78
**
.**
*
#P -106 88
.*
.**
*.*
#P -122 112
.*
.**
*.*
#P -125 117
**
.**
*
#P -129 109
.**
*.*
..*
#P -129 120
**
.**
*
#P -119 128
**
.**
*
#P -126 130
***
..*
.*
#P -139 139
.*
.**
*.*
#P -138 147
***
..*
.*
#P -145 147
**
.**
*
#P -159 141
***
..*
.*
#P -151 158
.**
*.*
..*
#P -171 173
***
..*
.*
/programs/demos/life2/lif/MAKEOSCS.lif
0,0 → 1,761
#Life 1.05
#D Glider syntheses for ten oscillators
#D
#D Pentadecathlon, tumbler, mold, figure 8, unix, mazing,
#D A for All, (unnamed p2), octagon II, Achim's p4.
#N
#P -85 -31
..*
*.*
.**
#P -83 -27
***
*
.*
#P -87 -24
*.*
.**
.*
#P -70 -24
**
.**
*
#P -66 -28
**
.**
*
#P -62 -29
*.*
.**
.*
#P -61 -23
.**
*.*
..*
#P -53 -23
**
*.*
*
#P -52 -29
*.*
**
.*
#P -48 -28
.**
**
..*
#P -44 -24
.**
**
..*
#P -31 -34
.*
..*
***
#P -26 -35
*
*.*
**
#P -28 -30
*.*
**
.*
#P -24 -26
*
*.*
**
#P -26 -19
.*
**
*.*
#P -10 -33
.*
..*
***
#P -12 -29
.*
.**
*.*
#P -5 -19
***
*
.*
#P 0 -24
**
*.*
*
#P 10 -35
.*
..*
***
#P 19 -32
*
*.*
**
#P 24 -27
.*
*
***
#P 15 -23
*.*
.**
.*
#P 10 -19
.*
.**
*.*
#P 15 -19
**
*.*
*
#P 27 -18
**
*.*
*
#P 42 -34
*
.**
**
#P 42 -24
***
..*
.*
#P 37 -18
***
..*
.*
#P 44 -20
***
*
.*
#P 52 -24
.*
**
*.*
#P -76 -6
..*
*.*
.**
#P -56 -4
.*
*
***
#P -54 5
*.*
.**
.*
#P -59 6
.*
.**
*.*
#P -53 9
***
..*
.*
#P -79 10
***
..*
.*
#P -74 9
***
*
.*
#P -65 10
*.*
.**
.*
#P -65 14
**
*.*
*
#P -71 19
***
*
.*
#P -76 25
.**
*.*
..*
#P -87 19
.*
.**
*.*
#P -56 23
***
*
.*
#P -31 -5
.*
..*
***
#P -40 4
..*
*.*
.**
#P -32 10
*
.**
**
#P -31 23
.**
*.*
..*
#P -15 1
*
*.*
**
#P -14 14
.**
**
..*
#P -6 20
**
*.*
*
#P -15 29
***
*
.*
#P 19 -8
..*
*.*
.**
#P 24 -4
***
*
.*
#P 9 2
.*
..*
***
#P 13 7
**
*.*
*
#P 51 19
***
*
.*
#P 36 34
**
*.*
*
#P 87 -34
*
*.*
**
#P 61 -17
*
.**
**
#P 62 -12
.*
..*
***
#P 67 -8
.*
*
***
#P 74 -17
.*
*
***
#P 67 6
***
*
.*
#P 62 10
***
..*
.*
#P 61 15
**
.**
*
#P 74 15
***
*
.*
#P 87 32
**
*.*
*
#P -93 -39
*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -75 -39
*..*..*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -36 -39
*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P -15 -39
*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*
#P 6 -39
*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*
#P 33 -39
*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*
#P 57 -39
*..*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 93 -39
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 93 3
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
#P 57 3
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*
#P 3 -9
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
#P -45 -12
*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
#P -93 -12
*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*
.
.
*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
/programs/demos/life2/lif/MAKEPOLE.lif
0,0 → 1,192
#Life 1.05
#D Glider synthesis for a barberpole
#D See also POLES.
#N
#P 7 -11
.*
**
*.*
#P 3 -19
.*
..*
***
#P -2 -11
.**
*.*
..*
#P -8 -23
*.*
.**
.*
#P -10 1
**
.**
*
#P -12 14
***
..*
.*
#P -17 18
***
..*
.*
#P -22 15
.**
*.*
..*
#P -23 -31
..*
*.*
.**
#P 31 -25
.*
*
***
#P 28 16
**
*.*
*
#P -22 23
.*
.**
*.*
#P -27 27
.*
.**
*.*
#P -31 25
**
.**
*
#P -32 -39
*
.**
**
#P 39 -32
*.*
**
.*
#P 35 26
.**
**
..*
#P -32 33
.**
*.*
..*
#P -37 37
.**
*.*
..*
#P -41 35
***
..*
.*
#P -42 -47
.*
..*
***
#P 47 -40
*
*.*
**
#P 43 36
***
*
.*
#P -41 43
**
.**
*
#P -46 47
**
.**
*
#P -51 44
.*
.**
*.*
#P -52 -54
*.*
.**
.*
#P 54 -48
..*
**
.**
#P 51 45
.*
**
*.*
#P -51 53
***
..*
.*
#P -56 57
***
..*
.*
#P -61 54
.**
*.*
..*
#P -62 -62
..*
*.*
.**
#P 62 -56
.*
*
***
#P 59 55
**
*.*
*
#P -61 62
.*
.**
*.*
#P -66 66
.*
.**
*.*
#P -70 64
**
.**
*
#P -71 -70
*
.**
**
#P 70 -63
*.*
**
.*
#P 66 65
.**
**
..*
#P -71 72
.**
*.*
..*
#P -76 76
.**
*.*
..*
#P -80 74
***
..*
.*
#P -81 -78
.*
..*
***
#P 78 -71
*
*.*
**
#P 74 75
***
*
.*
/programs/demos/life2/lif/MAX.lif
0,0 → 1,62
#Life 1.05
#D MAX, the smallest known example of a "spacefiller"
#D
#D This is the fastest-growing known pattern in Conway's Game of Life
#D (possibly the fastest possible). It fills space to a density of 1/2,
#D conjectured to be the maximum density, and does it at a speed of c/2
#D in each of the 4 directions, which has been proven to be the maximum
#D possible speed.
#D
#D Population is [(t+19)^2+463]/4 for t divisible by 4;
#D . [(t+19)^2+487]/4 for t even, not div. by 4;
#D . [(t+18)^2+639]/4 for t odd.
#D
#D Original construction, top/bottom stretchers by Hartmut Holzwart;
#D Size optimization, left/right stretchers by David Bell;
#D Original idea, middle part, l/r stretcher connection by Al Hensel.
#D This spacefiller by David Bell, September 1993.
#N
#P -14 -21
.....*.*
....*..*
...**
..*
.****
*....*
*..*
*..*
.*.........***...***
..****.*..*..*...*..*
...*...*.....*...*
....*........*...*
....*.*......*...*
.
...***.....***...***
...**.......*.....*
...***......*******
...........*.......*
....*.*...***********
...*..*..*............**
...*.....************...*
...*...*.............*...*
....*...************.....*
.....**............*..*..*
........***********...*.*
.........*.......*
..........*******......***
..........*.....*.......**
.........***...***.....***
.
...........*...*......*.*
...........*...*........*
...........*...*.....*...*
........*..*...*..*..*.****
.........***...***.........*
.........................*..*
.........................*..*
.......................*....*
........................****
..........................*
........................**
.....................*..*
.....................*.*
/programs/demos/life2/lif/MAX2.lif
0,0 → 1,35
#Life 1.05
#D Small spacefiller drawn by spaceships.
#D A 187 point rotationally symmetric spacefiller with
#D flipper stretchers in place of the normally period
#D 2 stretchers. The pattern on the interior of this
#D spacefiller is forced by the stabilization requirements.
#D This spacefiller also exists in a vertically reflected
#D symmetric form that also has 187 points. By Tim Coe.
#N
#P -17 -12
.............***...***
............*..*...*..*
...............*...*
...............*...*
.*.............*...*
*............................******
*.....*......***...***......*.....*
******........*..*..*.............*
........*.....*.***.**.....*.....*
........*....*............*.*
....****....********.**.**
...*****........*..*...*.*....**
..**.***...****..*..****...***.**
...**....*.*...*..*........*****
.........**.**.********....****
......*.*............*....*
.*.....*.....**.***.*.....*
*.............*..*..*........******
*.....*......***...***......*.....*
******............................*
...............*...*.............*
...............*...*
...............*...*
............*..*...*..*
.............***...***
/programs/demos/life2/lif/MAX3.lif
0,0 → 1,33
#Life 1.05
#D A 187 point spacefiller that fits in a 27 by 27 box.
#D Some cheating has taken place to squish it into this
#D area. By Tim Coe.
#N
#P -13 -13
...........***...***
........*..*..*.*..*
.....****..*.......*
.....***...*.......*
...*...*....*.*.*.*
...***......*.*.*.*
..*....*.....*...*
.******.....*******
**
.*...**....**..*..**
...**..*..*.*.*.*.*..**
...*.*....**.*.*..**...*
..***...*...........*...*
..*.....***********.....*
..*...*...........*...***
...*...**..*.*.**....*.*
....**..*.*.*.*.*..*..**
.......**..*..**....**...*
.........................**
........*******.....******
.........*...*.....*....*
........*.*.*.*......***
........*.*.*.*....*...*
.......*.......*...***
.......*.......*..****
.......*..*.*..*..*
.......***...***
/programs/demos/life2/lif/MEMORY.lif
0,0 → 1,281
#Life 1.05
#D 8-bit serial memory cell
#D
#D The reset line comes in
#D from the lower left, and
#D the set line comes in from
#D the lower right. The set
#D line pre-empts the reset
#D line, so the result shown
#D here is that the memory is
#D set to 11111111.
#N
#P -34 -24
**
**
#P -22 -33
...*
..**
.***.*
**
.**
..*
.
..*
.**
**
.***.*
..**
...*
#P -12 -40
..**
.*..*
***.**
.*.**
.*.**
..*.*
..*.*
..*..*
.**..*
*....*
*..**
*..*
.*.*
.*.*
.**.*
.**.*
**.***
.*..*
..**
#P -2 -41
..*
..**
*.***
....**
...**
...*
.
...*
...**
....**
*.***
..**
..*
#P 14 -32
**
**
#P -58 -5
**
**
#P -52 -13
..*...**
**.*.***
*....***
*...*
.***
.
.***
*...*
*....***
**.*.***
..*...**
#P -40 -8
...**
..***
***
***
***
..***
...**
#P -32 -8
**
***
..***
..***
..***
***
**
#P -31 -12
**
**
#P -3 2
...*
..*.*
..*.*
*.*.*.*
**...**
#P 19 -18
**
**
#P 18 -14
..*
.***
.*.**
**
**
***
..***
....*
.*..*
*..*
.**
#P 24 -14
..*
.***
**.*
...**
...**
..***
***
*
*..*
.*..*
..**
#P 30 12
**
**
#P 37 4
..****
.**..*
**..*
.*..*
..**
.
..**
.*..*
**..*
.**..*
..****
#P 49 9
...*...*
..*.*.*.*
**..*.*..**
**.......**
**..*.*..**
..*.*.*.*
...*...*
#P 57 5
**
**
#P 4 14
***
..*
.*
#P -14 37
**
**
#P -10 25
...**
*....*
*.*...*
.....*
.**.**
.
.....**
.
.**..*
.*..*
.**.*
...*
.
**
**
#P 1 24
..*
*..*
*****
***.**
.**.*
..**
.
..**
.**.*
***.**
*****
*..*
..*
#P 16 26
**
**
#P -14 51
***...***
*..*.*..*
**.*.*.**
**.....**
#P -14 59
..**
*..*
*.*
***
#P -9 59
**
*..*
.*.*
.***
..**
..**
..**
#P -38 38
.**
*.*
..*
#P -49 50
***
..*
.*
#P -61 61
.**
*.*
..*
#P -72 73
***
..*
.*
#P -84 84
.**
*.*
..*
#P -95 96
***
..*
.*
#P -107 107
.**
*.*
..*
#P -118 119
***
..*
.*
#P 58 61
***
*
.*
#P 70 72
**
*.*
*
#P 81 84
***
*
.*
#P 93 95
**
*.*
*
#P 104 107
***
*
.*
#P 116 118
**
*.*
*
#P 127 130
***
*
.*
#P 139 141
**
*.*
*
/programs/demos/life2/lif/MIRAGE.lif
0,0 → 1,170
#Life 1.05
#D Mirage (Fata Morgana)
#D Life is but a dream.
#N
#P -20 -22
....*
.*...*...**
...*...*
..*...*...**
*...*...*
.*...*...*.*
...*...*
..*...*
....*...*
*....*
#P -33 -17
........*..*
..........*
....*...*
..*...*
.*...*...*
...*...*
*...*...*
..*...*...*
.*...*...*
...*...*...*
*...*...*
..*...*...*
.....*...*
.*.*...*
...*.......*
.*...*.*
..........*
...*.......*
.*..*.*
..*
#P -21 -14
*
.
.
*.*...*
....*
...*
.*
...*
..*
*.....*
.*..*...*
.....*...*
...*...*
.*....*...*
....*...*
.*...*...*
.......*
....*.*
.
.......*
......*
....*
.....*
#P -28 2
....*
..*...*
.*...*....*
...*...*
*...*...*
..*...*
.*...*..*
...*......*
#P -12 2
....*....*
..*...*....*
...*...*..*
.*...*
*...*...*
..*...*....*
*..*...*..*
.....*
#P -10 -6
*....*...*
..*...*.*
*...*
...*.....*
.*...*..*
..*
....**..*.*
#P 1 -7
....*
.*...*...**..*.*
...*...*
..*...*...**..*
*...*...*.....*
.*...*...*.*
...*...*
..*...*
....*...*
*....*
........*
#P 0 4
..*.*...*
*....*
...*...*
..*...*
....*...*
.*...*
...*...*
..*...*
....*
#P 18 -8
.........*
.......*
.**...*...*..*
....*...*...*
**...*...*
...*...*...*
*.*...*...*
....*...*
.....*...*
...*...*
......*
.
....*
.......*
....*
.....*.*
...*
....*
#P 10 0
....*.*
.*....*.*
....*...*
.*...*
...*...*..*
..*...*
*...*...*
.*...*...*
...*...*
..*...*
*...*...*
.....*....*
#P 16 12
...*..*.*
.*......*.*
*.....*...*
...*...*
.....*...*
....*...*
..*...*...*
...*...*...*
.....*...*
....*...*
......*...*
.......*
#P -26 11
.*.*...*
....*
..*...*
.*...*
...*...*
*...*
..*...*
.*...*
...*
#P 28 -13
.....*
*.*...*
*...*
...*
.*...*
..*
/programs/demos/life2/lif/MWSSGUN.lif
0,0 → 1,75
#Life 1.05
#D Middleweight Spaceship gun
#D By Bill Gosper.
#D
#D Spaceship guns are actually rather easy to make,
#D thanks to their glider syntheses (see MAKEFISH).
#D With those, you can make an *WSS gun of just
#D about any period that you can make a glider gun.
#D (See also MWSSRAK2.)
#N
#P -25 -25
**
**
#P -33 -16
.***
*..*
**.*
#P -26 -16
***
*..*
*.**
#P -39 1
..**
.*.*
.*
**
#P -33 13
***
*..**
.***
..*
#P -27 13
..***
**..*
.***
..*
#P -25 23
**
**
#P -19 -23
**
**
#P -9 -30
.**
**
.*****
..****
.
..****
.*****
**
.**
#P 12 -28
.*...*
*.....*
......*
.*...**
..***
.
..***
.*...**
......*
*.....*
.*...*
#P 28 -20
**
**
#P -11 -11
..*
**
.**
#P 1 -22
*.*
**
.*
/programs/demos/life2/lif/MWSSRAK2.lif
0,0 → 1,123
#Life 1.05
#D Back-rake
#D
#D This is a simple combination of 3 glider rakes
#D whose gliders are aligned to form MWSS traveling
#D in the opposite direction. This is well-known.
#D It is fun to collide the stream with random junk,
#D partly because the source is rarely destroyed.
#N
#P 22 -22
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 14 -22
.**
****
**.**
..**
#P 4 -6
...*
....*
*...*
.****
#P 19 4
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 11 18
..**
**.**
****
.**
#P 1 2
.****
*...*
....*
...*
#P 30 24
...****
..*...*
......*
.....*
.
.
..**
.*..*
.*..*
**.**
.**
.
.
.
...****
..*...*
......*
.....*
#P 24 24
..**
**.**
****
.**
#P 21 29
..*
.**
*
.*****
..****
.....*
#P 15 39
...*
....*
*...*
.****
#P -11 15
***
..*
.*
#P -6 20
***
..*
.*
#P -1 25
***
..*
.*
#P 4 30
***
..*
.*
#P 9 35
***
..*
.*
/programs/demos/life2/lif/MWSSRAKE.lif
0,0 → 1,92
#Life 1.05
#D MWSS rake
#D
#D Boy, don't you wish you could
#D use this on your lawn!
#N
#P 20 -20
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 16 -17
**
***
**
#P 7 -19
...*
....**
.***
***
.***
....**
...*
....**
#P 10 -9
....**
****.**
******
.****
#P 5 -28
..*
*...*
.....*
*....*
.*****
#P -4 -11
***
*.*
....*
..**
..**
#P 0 -5
.****
******
****.**
....**
#P -12 -19
....**
****.**
******
.****
#P -20 -19
.***
*****
***.**
...**
#P -12 -12
**
**
#P -11 -6
..*
*.*
.**
#P 1 9
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P -3 12
**
***
**
#P -9 4
....**
****.**
******
.****
#P -8 20
....**
****.**
******
.****
/programs/demos/life2/lif/OSCSP2.lif
0,0 → 1,524
#Life 1.05
#D p2 oscillators
#D
#D By various artists - mostly well-
#D known, but most of these are also
#D easy to generate with a search
#D program.
#D
#D Other p2's in this collection:
#D POLES, QUILT, LONEDOTS, TWINDOTS,
#D VENETIAN, VENETIAN3.
#N
#P -1 -29
***
#P 8 -30
*
**
**
.*
#P -18 -30
**
*
...*
..**
#P -10 -29
.*
.*.*
*.*
..*
#P -22 -21
...*
...*.*
.*
......**
**
......*
..*.*
....*
#P -10 -20
.***
.
**..*
.
.*..**
.
..***
#P 2 -21
....***
**
*.*.**
.
..*.*
.*
.**
#P 13 -20
...*
.*.*.*
...*
**.*.**
...*
..*.*
#P 24 -20
..**
.*.*
...*.**
**.*.**
...*
..**
#P 38 -39
**....**
*.*..*.*
..*..*
..*..*
...**
#P 34 -9
....*
...*.*
...*..*
.**....*
*....**
.*..*
..*.*
...*
#P 35 -23
......**
.....*..*
....*.*..*
....*.**.*
..**....*
.*....**
*.**.*
*..*.*
.*..*
..**
#P -58 -43
......*..*
......******
.
....********
...*
...*...**.**
**.*...**.**
.*.*.**
.*.*.**
**.*
.*.*.**
.*.*.**
**.*...**.**
...*...**.**
...*
....********
.
......******
......*..*
#P -41 -28
...*
...*.*
.*
.
**
.
..*
.
..**
.
.*
.
**
......*
..*.*
....*
#P -29 -25
..**
.
..*
.
**
.
.*
.
..**
.
..*
#P -34 -28
....*
....*.*
*.*
*
#P -33 -16
*
*
..*.*
....*
#P -46 -43
*
*
.
***
...*
...*
...*.**
**.*.*
**.*.*
...*.**
**.*.*
**.*.*
...*.**
...*
...*
***
.
*
*
#P -33 -41
.......*
...**.*.*
...**.*.*
.**...*.**
.**...*
......*
.*****
*
.***
...*
#P -18 -47
......*
......***
.........*
....***.*.*
...*..*.*.*
...*....*.**
**.**...*
.*......*
.*.*****
..*
...***
.....*
#P -1 -43
..**.**.**.**
...*.*...*.*.*
...*.......*..*
.**.*******.**
*..*...*...*
.*.*.**.**.*
..**.**.**.**
#P 18 -44
...**.**
...**.*...**
........*..*
.******.***
*..*.*
**...*.**
....**.**
#P 17 -33
...**....**
....*.....*
..*.*.*.**...*
*..*.**..*.*..*
*..*.*..**.*..*
.*...**.*.*.*
....*.....*
....**....**
#P 50 -39
.**....**
.*.*..*.*
...*..*
...*..*
**.****.**
**.*..*.**
...*..*
...*..*
**.****.**
.*.*..*.*
.*.*..*.*
**.*..*.**
...****
...*..*
**.*..*.**
**.*..*.**
...****
...*..*
....**
#P -58 -19
......**
......**
.
....******
...*......*
...*...**.*
**.*...**.*.**
**.*.**...*.**
...*.**...*
...*......*
....******
.
......**
......**
#P -39 -9
.***
.........*
..**.*.*.*
.......*.*
..*
.......*
*.*
*.*.*.**
*
......***
#P -50 0
....**
..*..*
..***
.
..***
.*...*
.*...*
..*.*
*.*.*.*
**...**
#P -22 -8
**................................................**
*.....*...*....*....*....*....*....*....*....*.....*
.*.**.*.*.*.**.*.**.*.**.*.**.*.**.*.**.*.**.*.**.*
......*...*....*....*....*....*....*....*....*
***..*.*.*.*..*.*..*.*..*.*..*.*..*.*..*.*..*.*..***
#P 45 -12
....*.*
..*..*..*
...*.*.*
.***.*.***
.....*
*****.*****
.....*
.***.*.***
...*.*.*
..*..*..*
....*.*
#P -38 4
....*...*
**.*.*.*..*
*.**.*.*..*
.....***..*
......*.**
*.**.*.*
**.*.*.*
......*
#P -26 4
..*...................*.....*...................*
*..**....**...**....**..*.*..**....**...**....**..*
*..***..*..*.*..*..***..*.*..***..*..*.*..*..***..*
*..*..*..***.***..*..*..*.*..*..*..***.***..*..*..*
.**...*..**...**..*...**...**...*..**...**..*...**
........*.......*.................*.......*
#P 26 4
..*...*
*..*.*.*.**
*..*.*.**.*
*..***
.**.*
...*.*.**.*
...*.*.*.**
....*
#P -52 14
....*
..*****
.*.....*
.*..***.*
**.*....*
...*....*.**
...*.***..*
....*.....*
.....*****
.......*
#P -33 16
.**.**
*.**..*
**....*
.*...*
*....**
*..**.*
.**.**
#P -20 16
..**.**
.*.*.**
*..*
**...**
...*..*
**.*.*
**.**
#P -7 15
....*
....***
..**...*
.*.*..**
.*..**..**
**..**..*
..**..*.*
..*...**
...***
.....*
#P 7 14
.....**
....*..*
...*.*.*
.........*
.**.......*
*........*.*
*.*........*
.*.......**
..*
....*.*.*
....*..*
.....**
#P 26 16
...**.*
...*...**
....*
**....*
*.*..*
....*
*..*
.*
.*
#P 40 2
........**..**
........*..*.*
.........*
.............*
....**.*.*..*...**
....*...**..**.*.*
.....*
.................*
**.*.*..........*...**
*...**..........**.*.*
.*
....................*
*.*.**..........**...*
**...*..........*.*.**
....*
................*
....*.*.**..**...*
....**...*..*.*.**
........*
............*
........*.*..*
........**..**
#P -51 29
..**
....*
.*
..**
.
******
*
..*.*
..*
#P -44 32
*.*.*.*...*.*.*.*...*.*.*.*...*
*.....*.*.*.....*.*.*.....*.*.*.*
...*....*....*....*....*....*
...******....******....******
.
.....**........**........**
.....**........**........**
#P -11 29
..*
..**
..**
...*
.
.*****
*....*
..*.*
..*
#P 4 30
....*
..*****
.*.....*
*..***..*
.**...**
...**
...**
.**...**
*..***..*
.*.....*
..*****
....*
#P 19 30
....*
...*.*
**..*..**
*.**....*
..**.**
*....**.*
**..*..**
...*.*
....*
#P 34 26
....**
...*..*
**..**..**
*........*
.*.****.*
..**..**
.**....**
.*..**..*
.
.*.****.*
*.**..**.*
**..**..**
...*..*
....**
#P 50 31
**
*.....**
.*.*..**
....**
..*.**
......*
.*..*
.**...*.*
.......**
#P -51 43
**
*.*
....*.*
.*..*...*.*.*.*.*.*.*.*.*
.......*..*..*..*..*..*..*
.**....*.*.*.*.*.*.*.*.*.*
....**
..**
....*
#P -25 45
*.*.....*
.*..*.*.*.*.*.*.*
.*.*..*.*.*..*..*
.*.*.*..*..*.*.*
.*.....*.*
#P -8 47
.*
.*.*
*..*.*
..*..*.*
....*..*.*.*.*.*.*
......*..*..*..*..*
........*.*.*.*.*.*
#P 11 48
.....**
....*.*
*.*
..*..*
.
....**
.**
...**
..*
#P 25 46
**..*.....*...*.....*...*.....*..**
*..*..*.*..*.*..*.*..*.*..*.*..*..*
.*.*..*.*..*.*..*.*..*.*..*.*..*.*
**.*..*.*..*.*..*.*..*.*..*.*..*.**
.
**.****.****.****.****.****.****.**
**.***...***.***...***.***...***.**
/programs/demos/life2/lif/OSCSP3.lif
0,0 → 1,687
#Life 1.05
#D p3 oscillators
#D
#D By Dean Hickerson's Apple IIe search program,
#D Bob Wainwright, Richard Schroeppel, David
#D Buckingham, Mark Niemec, Peter Raynham,
#D various.
#N
#P -79 -37
..***...***
.
*....*.*....*
*....*.*....*
*....*.*....*
..***...***
.
..***...***
*....*.*....*
*....*.*....*
*....*.*....*
.
..***...***
#P -79 -20
...***.***
....**.**
....**.**
*...*...*...*
****.....****
***.......***
.
***.......***
****.....****
*...*...*...*
....**.**
....**.**
...***.***
#P -78 -3
.....*
....***
..***.***
..*.....*
.**.....**
**.......**
.**.....**
..*.....*
..***.***
....***
.....*
#P -78 11
**...*...**
**..***..**
..***.***
..*.....*
.**.....**
**.......**
.**.....**
..*.....*
..***.***
**..***..**
**...*...**
#P -77 27
..****
..*..*
***..***
*......*
*......*
***..***
..*..*
..****
#P -77 40
...**.*
...*.**
**.*
.*.*.****
*.......*
****.*.*
.....*.**
..**.*
..*.**
#P -60 -37
......*
.....*.*
....*.*.*
....*...*
..**..*..**
.*....*....*
*.*.**.**.*.*
.*....*....*
..**..*..**
....*...*
....*.*.*
.....*.*
......*
#P -61 -21
....**...**
....*.*.*.*
......*.*
.....*.*.*
**...*...*...**
*..**..*..**..*
.**....*....**
...*.**.**.*
.**....*....**
*..**..*..**..*
**...*...*...**
.....*.*.*
......*.*
....*.*.*.*
....**...**
#P -59 -3
..**.**
...*.*.*
*..*...*
***..*..**
.....*....*
**.**.**.**
*....*
.**..*..***
...*...*..*
...*.*.*
....**.**
#P -60 14
....****
.****..****
*.**....**.*
**........*
.
**........*
*.**....**.*
.****..****
....****
#P -60 26
.*........*
*.**....**.*
.****..****
....****
#P -60 34
.***....***
*.***..***.*
.**.****.**
#P -61 43
....*
....***...*.***
...*.*...*.*
***.*...***
..........*
#P -43 -38
......*
.....*.*
.....*..*
..**.**.*
.*.*....***
.*.*.*.*...*
**.*.*...*..*
...*..**.***
...*
....******
.........*
......***
......*
#P -42 -19
.....**
.....*.*
.......*
**.****.**
**.*....*.*
...*.*..*.*
...*.*....*.**
....**.****.**
......*
......*.*
.......**
#P -43 -3
....*.*
....**.*
.......***
....**....*
**.*..**..*
.*.*....*.**
*...*...*...*
.**.*....*.*
..*..**..*.**
..*....**
...***
.....*.**
......*.*
#P -43 19
.....**.**
.*....*.**
*.**..*
.****.*
....**
#P -43 28
.*
*.**..**
.****..*
....***
.
....***
.****..*
*.**..**
.*
#P -42 41
*
***
...*
..**
.
....**
....*
.....***
.......*
#P -32 41
*
***
...*
..*..**
..*....*
...**..*
......*
.......***
.........*
#P -26 -37
...**....**
...*......*
**.*.*..*.*.**
*..*.*..*.*..*
..**.*..*.**
......**
#P -23 -26
.**.**
..*.*.*
..*...*
**.**.**
.*...*
.*.*.*
..**.**
#P -25 -14
....*.**
....**.*
.
....***..**
...*...*..*
.***...*.*
*......*.**
.***.**
...*.*
...*.*
....*
#P -26 1
.....**
.....**
.
...****
*.*....*
**.*...*
...*...*.**
...*....*.*
....****
.
....**
....**
#P -26 17
....*
...*.*
..*.*.*
..*.*.*
**....**
.*.*.*
.*.*.*
..*.*
...*
#P -28 30
..*
..***
**...*
.*.*.*
.*
..**..*
.....**
#P -14 17
.....*
****...*
...*...*
.......*
....*
.....**
#P -14 27
.....*
****...*...***
...*...*...**
.......*..***
....*.....*.*
.....**....*
#P -14 38
............**
.....*.......*
****...*..***
...*...*..**
.......*...**
....*
.....**
#P -22 41
*
***
...*
..**
.
....**
....*.*
...*.**
....*...**
........*.*
..........*
..........**
#P -4 -39
...**
..*..*
.*..*.*
.**.*.*
......**
*.**.*
**.*.*
....*
#P -10 -25
....**
**.*.*
**.*
...*
...*..*
....**.*
.......*
.......**
#P -9 -12
..**.**
*..*.*.*
**...*.*
.....*.**
...*...*
..*.**.*
..*...*
.**...*.*
.......**
#P -12 1
.....*
....*.*
....*.*
...**.**
*.*.....*.*
**.*.*.*.**
...*...*
...*...*
....***
.
...*.**
...**.*
#P -1 16
.**
*..*
*.*..*
.*...*
.....*
..*
...**
#P 8 -39
......**
..**..*
.*..*.*
*.*.*.**
.*....*
..***.*
.....*
....*
....**
#P 1 -25
....**
...*.*
...*
**.*
**.*..*
...*.**
...*
..**
#P 4 -12
...**
...*.*.**
.....*.**
**...*
*..*...**
.***.**.*
....*
.**.*
.*.*
#P 1 1
.....*
....*.*
....*.*
...**.**
*.*.....*.*
**.*.*.*.**
...*...*
...*.*.*
....*.*
.....*
#P 9 10
.......**
......*..*
......*.*..*
.......*....*
............*
........***
.**
*..*
*.*..*....**
.*...*....*.*
.....*..**.*
..*.....*.*
...**....*
#P 7 28
.**.**
*.*.*
**..*.*
....*...*
****....*
*.......*
..*
.
...***
#P 5 40
....*
....*
....**
......*
***..*..*
..*.*...*
...*....*
.
....***
#P 18 41
..*
..***
**...*
.*..*..*
.*.*...*
..*....*
.
...***
#P 12 -26
..*
.*.*
*..***
.**...*
...*.*.*
...*...*
....**.**
......*..*
......*.*
.......*
#P 17 -12
......**
......*.*
...**.*.*
...*..*.**
**.*....*
**.****.*
.......*
.....*
.....**
#P 17 0
....**
.....***
...*....*
.***.**.*
*......*
.***.*
...*.**
#P 21 -39
...**
..*..*
*..*.*
**.*.**
......*
**.**
.*.*
.*.*
..*
#P 26 -25
...*
...***
.**...*
*..*.*.*
.*.*...*
**.*.**
..*.*
..*.*
...*
#P 30 -12
*.**
**.*..**
...*.*..*
...*..*.*
....*...**
.....**...*
.......***
.......*
#P 30 0
..**
.*..*
.*.*..*
**.*.**
*
.***.****
.....*..*
*.**
**.**
#P 41 11
......**
.......*
......*
......**
.........**
......***.*
*.**.*
**.*.*
.....*...*
....*...**....**
....**....**...*
..........*...*
..............*.*.**
..............*.**.*
.........*.***
.........**
............**
.............*
............*
............**
#P 41 39
......**
..*...*
.*.*...***
.*.****...*
**....*.*.*
..***.*
..*.**.*.*
...*...**
.....**..*
..**...*..*
..*....*..*
#P 21 20
.............**
............*..*
.............*.*
.........**...*
..........*.**
............*
............*
.
**........***......*
****.*........*...**
*.*..***.*....*
.........*....*.***..*.*
....**...*........*.****
....*......***........**
.
...........*
...........*
..........**.*
.........*...**
........*.*
........*..*
.........**
#P 58 32
...*..*
...*..*
****..****
.
....**
.
...****
.***..***
.*......*
.***..***
...****
.
....**
.
****..****
...*..*
...*..*
#P 39 -38
**.**
*.**...**
.....*..*
.***.***
*
**..**
.....*
....*
....**
#P 39 -25
**
*..**
.**..*
....*.*
.**...*
*.*.**
*..*
.*.*
..*
#P 41 0
..**.**
.*.*.*.*
*.......*
.***.***
.
.**.*.**
.*.**.**
#P 44 -13
..**
...*..**
...*.*..*
**.*..*.*
*.*.*...**
..*.*.**..*
..*..*...**
...*.*
....*
#P 50 -25
**
*..**
.**..*
....*.*
.**...*
*..**.**
**...*..*
.....*.*
......*
#P 53 -39
..**
...*
...*.**
..**.*.*
*......*
**.*.**
.*.*
.*.*.****
..**.*..*
#P 63 -25
.....*.....*
**...*.*.*.*...**
*..*.........*..*
.*******.*******
.
...****.*.****
...*..*.**.*..*
.............**
#P 59 -12
....**
.....*
**.*
.*.**
.*....*
**.*.**
.*.*
.*..***
**....*
#P 70 -11
..**
*..*
**.*.**
.*.*..*
.*....*.**
..***.*.**
.....*
....*
....**
#P 58 1
....**
.....*
...*
..*.****
..*....*
.**.*
..*.*.****
*.*.*....*
**...***
.......**
/programs/demos/life2/lif/OSCSP3X.lif
0,0 → 1,429
#Life 1.05
#D Extensible p3 oscillators
#D
#D By Dean Hickerson's Apple IIe search program,
#D Bob Wainwright, Charles Trawick, David
#D Buckingham, various.
#N
#P -57 -18
...*
..*.*
..*.*
...*
***
*
#P -51 -15
**
*.*
..*
..**
#P -56 -24
**
.*
.*.*
..**
#P -51 -20
***
***
#P -47 -18
**
*.*
..*
..**
#P -52 -27
**
.*
.*.*
..**
#P -47 -23
***
***
#P -43 -21
**
*.*
..*
..**
#P -48 -30
**
.*
.*.*
..**
#P -43 -26
***
***
#P -39 -24
**
*.*
..*
..**
#P -44 -33
**
.*
.*.*
..**
#P -39 -29
***
***
#P -35 -27
**
*.*
..*
..**
#P -40 -36
**
.*
.*.*
..**
#P -35 -35
....*
..***
.*
*.*
*.*
.*
#P -15 -36
..***...***
.
*....*.*....*
*....*.*....*
*....*.*....*
..***...***
.
..***...***
*....*.*....*
*....*.*....*
*....*.*....*
.
..***...***
#P -12 -11
....*
..*****
.*.....*
..*.*..*
*.*....*
**..**
#P -3 -10
.***
*....*
*....*
*....*
.
.***
#P -2 -17
..***
.
*....*
*....*
*....*
..***
#P 5 -18
.***
*....*
*....*
*....*
.
.***
#P 6 -25
..***
.
*....*
*....*
*....*
..***
#P 13 -25
.***
.
*....*
*....*
*....*
.***
#P 14 -18
..***
*....*
*....*
*....*
.
..***
#P 21 -19
...*
.*****
*.....*
*..*.*
*....*.*
..**..**
#P 56 -32
...*
...*
..**
***
#P 62 -32
*
*
**
.***
#P 56 -26
***
..**
...*
...*
#P 62 -26
.***
**
*
*
#P 56 -17
...*
...*
..**
***
#P 62 -17
*
*
**
.***
#P 54 -11
.***
**
*
*
#P 47 -9
....*
....*
...**
.*.*
*
**
#P 64 -11
***
..**
...*
...*
#P 70 -9
*
*
**
.*.*
....*
...**
#P -51 5
...***
....**
....**
*...*
****
***
#P -44 5
***
**
**
.*...*
..****
...***
#P -56 12
...***
..****
.*...*
**
**
***
#P -63 13
...***
....**
....**
*...*
****
***
#P -61 20
***
****
*...*
....**
....**
...***
#P -54 21
***
**
**
.*...*
..****
...***
#P -51 28
***
****
*...*
....**
....**
...***
#P -41 12
***
****
*...*
....**
....**
...***
#P -34 13
***
**
**
.*...*
..****
...***
#P -32 20
...***
..****
.*...*
**
**
***
#P -38 20
..*
.*.*
.*..*
.
..*.*
*...*
****
.
**
**
#P -44 28
..*
.*.*
*..*
.
*.*
*...*
.****
.
...**
...**
#P -18 8
...**
.*...*
*..*.*
**...*
.
**...*
*..*.*
.*...*
...**
#P -11 6
..........**
.....**...**...**
.**..*..........*
*..*.*..******..*
****.*.*......*.*
.**..*..**..**..*
.**.....**..**
.**..*..**..**..*
****.*.*......*.*
*..*.*..******..*
.**..*..........*
.....**...**...**
..........**
#P 7 6
..........**
.....**...**...**
.**..*..........*
*..*.*..******..*
****.*.*......*.*
.**..*..**..**..*
.**.....**..**
.**..*..**..**..*
****.*.*......*.*
*..*.*..******..*
.**..*..........*
.....**...**...**
..........**
#P 25 8
.**
*..*
****
.**
.**
.**
****
*..*
.**
#P 30 8
.**
*...*
*.*..*
*...**
.
*...**
*.*..*
*...*
.**
#P 44 5
....*..*.*..*.*..*.*..*.*
....*..*.*..*.*..*.*..*.*
.*.**..*.*..*.*..*.*..*.*
*.*.....*....*....*....*
.*......*....*
#P 71 3
.**
..*..*
*.*.*.*
*.*..*
*.*
.*
#P 44 15
...*..*.*..*.*..*
...*..*.*..*.*..*..*
..**..*.*..*.*..***.*
***....*....*......*
.......*
#P 44 21
***
...**
***
#P 44 26
***
..*
...*
..*.*
...**
#P 50 29
****.****
*..*.*..*
.**...**
#P 60 25
.**...**
*..*.*..*
****.****
#P 69 26
.**
.*..*
.*.**
.*
**
#P -16 26
....*
*..*.*
****.*
.....*
..**.*
.*
.**
#P -9 25
.......**......**......**...*.**
......*..*....*..*....*..*..**.*
...*...**..*...**..*...*.*.....*.**
.******..******..******..******.*.*
*.....*.*.....*.*.....*.*.....*.*
*.*.*...*.*.*...*.*.*...*.*.*...*.*
*.*...*.*.*...*.*.*...*.*.*...*.*.*
..*.*.....*.*.....*.*.....*.*.....*
*.*.******..******..******..******
**.*.....*.*...*..**...*..**...*
...*.**..*..*....*..*....*..*
...**.*...**......**......**
#P 27 29
...**
....*
*.**
*
*.****
*.*..*
.*
/programs/demos/life2/lif/OSCSP4.lif
0,0 → 1,2383
#Life 1.06
#D p4 oscillators, arranged by symmetry.
#D
#D By Dean Hickerson's Apple IIe search program,
#D Bill Gosper, Bob Wainwright, John Conway,
#D Achim Flammenkamp, David Buckingham, various.
#N
15 31
14 29
15 28
14 28
13 28
12 28
11 27
15 26
14 26
11 26
13 25
11 25
10 25
13 24
11 24
8 24
-16 26
-15 25
-14 24
-25 25
-25 24
-19 31
-20 31
-20 30
-18 29
-18 28
-19 28
-20 28
-21 28
-22 28
-22 27
-17 26
-18 26
-19 26
-19 25
-24 25
-17 24
-19 24
16 31
16 30
18 28
17 28
16 28
19 27
16 26
20 25
18 25
16 25
19 24
16 23
-25 23
-27 23
-28 23
-25 22
-28 22
-25 21
-26 21
-17 23
-19 23
-18 22
-20 22
-21 22
-22 22
-23 22
-17 21
-19 21
-23 21
-18 20
-20 20
-21 20
-23 20
-18 19
-20 19
-23 19
-17 18
-18 18
-20 18
-22 18
-21 17
-17 -14
-17 -17
-18 -17
-19 -18
-17 -19
-18 -19
-20 -19
-22 -19
-23 -19
-20 -20
-22 -20
-23 -20
-20 -21
-19 -22
-20 -22
-14 -17
-15 -17
-16 -17
-13 -18
-16 -18
-9 -19
-10 -19
-12 -19
-14 -19
-15 -19
-16 -19
-9 -20
-10 -20
-12 -20
-12 -21
-12 -22
-13 -22
-11 50
-12 49
-11 48
5 -17
4 -17
3 -17
2 -17
1 -17
0 -17
5 -19
4 -19
2 -19
0 -19
6 -20
4 -20
0 -20
6 -21
2 -21
5 -22
4 -22
3 -22
1 -22
0 -22
3 -23
1 -23
16 -17
19 -18
17 -18
19 -19
18 -19
16 -19
16 -20
16 -21
14 -16
15 -17
14 -17
13 -17
12 -17
11 -18
9 -18
14 -19
12 -19
10 -19
9 -19
12 -20
14 -21
12 -21
15 -22
13 -22
14 -23
17 -37
16 -37
18 -38
18 -39
17 -39
-16 -13
-15 -14
-16 -15
-90 -73
-91 -73
-93 -73
-95 -73
-93 -74
-93 -75
-94 -75
-93 -65
-92 -66
-93 -66
-92 -67
-93 -67
-92 -68
-90 -70
-91 -70
-92 -70
-93 -70
-94 -70
-89 -71
-96 -71
-89 -72
-91 -72
-93 -72
-96 -72
-93 -57
-94 -58
-95 -58
-96 -58
-96 -59
-94 -50
-95 -50
-94 -51
-92 -52
-94 -52
-91 -53
-93 -53
-90 -54
-91 -54
-93 -56
-94 -56
-81 -53
-82 -53
-82 -54
-87 -54
-88 -54
-87 -55
-88 -55
-78 -73
-80 -73
-80 -74
-73 -75
-79 -75
-80 -75
-69 -73
-70 -73
-72 -73
-72 -74
-72 -75
-82 -73
-83 -73
-81 -71
-83 -72
-74 -67
-75 -67
-79 -67
-80 -67
-74 -68
-76 -68
-79 -68
-80 -68
-76 -69
-73 -70
-74 -70
-75 -70
-77 -70
-78 -70
-79 -70
-80 -70
-77 -71
-73 -72
-74 -72
-75 -72
-78 -72
-80 -72
-72 -70
-71 -71
-69 -72
-72 -72
-61 -73
-62 -73
-57 -74
-58 -74
-61 -74
-59 -75
-61 -75
-59 -76
-61 -76
-63 -76
-64 -76
-60 -77
-61 -77
-63 -77
-64 -77
-61 -78
-59 -79
-61 -79
-59 -80
-60 -80
-55 -74
-56 -74
-54 -75
-54 -76
-55 -76
-59 -65
-60 -65
-57 -71
-58 -71
-57 -72
-58 -72
-77 -57
-80 -57
-74 -58
-75 -58
-77 -58
-80 -58
-73 -59
-75 -59
-77 -59
-75 -60
-80 -60
-75 -61
-76 -61
-81 -59
-72 -58
-72 -59
-79 -50
-80 -50
-80 -51
-78 -52
-78 -53
-79 -53
-80 -53
-78 -55
-79 -55
-77 -56
-79 -56
-57 -58
-57 -59
-57 -61
-58 -61
-59 -61
-62 -61
-63 -61
-60 -62
-63 -62
-58 -63
-60 -63
-62 -63
-58 -64
-61 -64
-56 -58
-56 -59
-54 -61
-55 -61
-56 -61
-53 -62
-56 -62
-53 -63
-54 -63
-58 -49
-59 -49
-60 -49
-62 -49
-63 -49
-61 -50
-63 -50
-57 -51
-58 -51
-59 -51
-60 -51
-58 -52
-53 -49
-55 -49
-52 -50
-55 -50
-52 -51
-53 -51
-56 -51
-60 -46
-61 -46
-57 -47
-60 -47
-58 -48
-60 -48
-56 -47
-52 -48
-53 -48
-55 -48
-39 -73
-40 -73
-28 -73
-29 -73
-41 -71
-41 -72
-35 -65
-36 -65
-34 -67
-36 -68
-38 -68
-39 -68
-39 -69
-37 -70
-38 -70
-33 -71
-34 -71
-35 -71
-36 -71
-39 -71
-40 -71
-38 -72
-29 -68
-30 -68
-32 -68
-29 -69
-30 -70
-31 -70
-27 -71
-28 -71
-29 -71
-32 -71
-27 -72
-30 -72
-33 -57
-34 -57
-37 -57
-38 -57
-39 -57
-40 -57
-35 -58
-33 -59
-34 -59
-37 -61
-35 -62
-36 -62
-37 -62
-37 -63
-37 -64
-41 -57
-44 -57
-45 -57
-46 -57
-43 -58
-46 -58
-44 -59
-45 -59
-32 -57
-32 -58
-41 -54
-43 -54
-44 -54
-44 -55
-42 -56
-43 -56
-39 -53
-34 -54
-35 -54
-37 -54
-34 -55
-35 -56
-36 -56
-83 -25
-85 -25
-86 -25
-83 -26
-85 -26
-87 -26
-82 -27
-85 -27
-87 -27
-84 -28
-85 -28
-87 -28
-88 -28
-85 -29
-83 -30
-85 -30
-83 -31
-84 -31
-77 -25
-78 -25
-80 -25
-76 -26
-78 -26
-80 -26
-76 -27
-78 -27
-80 -27
-75 -28
-76 -28
-78 -28
-78 -29
-78 -30
-80 -30
-79 -31
-80 -31
-86 -17
-87 -18
-88 -18
-81 -24
-82 -24
-65 -25
-66 -25
-65 -27
-66 -27
-66 -28
-66 -30
-65 -31
-66 -31
-57 -25
-58 -25
-59 -25
-64 -25
-61 -26
-62 -26
-57 -27
-58 -27
-59 -27
-63 -27
-57 -28
-64 -28
-59 -29
-61 -29
-63 -29
-64 -29
-57 -30
-59 -30
-61 -30
-57 -31
-58 -31
-72 -18
-72 -19
-66 -24
-61 -17
-62 -17
-63 -17
-60 -23
-63 -23
-57 -24
-60 -24
-61 -24
-62 -24
-63 -24
-43 -25
-44 -25
-48 -25
-41 -26
-42 -26
-45 -26
-46 -26
-47 -26
-43 -27
-45 -28
-46 -28
-41 -29
-43 -29
-45 -29
-42 -31
-45 -31
-43 -32
-44 -32
-39 -25
-39 -26
-40 -26
-40 -27
-40 -28
-41 -23
-42 -23
-45 -23
-46 -23
-42 -24
-45 -24
-47 -24
-40 -24
-89 -18
-89 -19
-87 -10
-88 -10
-87 -11
-85 -12
-87 -12
-84 -13
-86 -13
-81 -14
-83 -14
-84 -14
-81 -15
-86 -16
-87 -16
-73 -10
-74 -10
-74 -11
-74 -12
-76 -12
-77 -12
-75 -13
-80 -13
-76 -14
-75 -15
-76 -15
-77 -15
-74 -16
-75 -16
-80 -16
-75 -17
-73 -18
-74 -18
-65 -14
-66 -14
-66 -15
-65 -16
-62 -9
-60 -11
-61 -11
-62 -11
-63 -11
-64 -11
-60 -12
-64 -12
-61 -13
-58 -14
-59 -14
-60 -14
-63 -14
-64 -14
-58 -15
-61 -15
-60 -16
-61 -16
-62 -16
-62 -7
-61 -8
-63 -8
-34 -9
-34 -10
-34 -11
-36 -11
-37 -11
-38 -11
-39 -11
-33 -12
-34 -12
-36 -12
-39 -12
-37 -14
-38 -14
-48 -10
-44 -11
-48 -11
-41 -12
-48 -12
-41 -13
-43 -13
-45 -13
-46 -13
-47 -13
-50 -9
-50 -10
-52 -10
-53 -10
-50 -11
-53 -11
-50 -12
-51 -12
-49 -8
-50 -8
-31 -10
-32 -10
-31 -11
-34 -8
-35 -8
-83 7
-85 7
-85 12
-86 12
-84 11
-87 11
-83 10
-85 10
-87 10
-83 9
-86 9
-82 8
-71 7
-72 6
-73 7
-73 13
-74 13
-75 12
-74 10
-76 10
-76 9
-73 8
-74 8
-75 8
-71 14
-72 14
-70 13
-72 13
-70 12
-69 11
-70 11
-72 11
-68 10
-72 10
-69 9
-70 9
-71 9
-71 8
-54 7
-55 6
-56 5
-57 7
-59 7
-61 7
-57 6
-59 6
-60 6
-57 13
-58 12
-58 11
-60 11
-61 11
-58 10
-61 10
-60 9
-61 9
-62 9
-57 8
-59 8
-62 8
-56 12
-55 11
-55 10
-56 10
-55 8
-56 8
-42 7
-43 7
-44 7
-42 6
-44 6
-46 6
-45 5
-46 5
-47 13
-45 12
-48 12
-41 11
-47 11
-43 10
-45 10
-46 10
-47 10
-41 9
-46 9
-45 8
-40 11
-40 10
-46 23
-41 22
-45 22
-47 22
-45 21
-47 21
-46 20
-47 20
-47 19
-45 18
-47 18
-45 17
-46 17
-40 23
-40 22
-43 28
-42 27
-44 27
-43 26
-41 24
-42 24
-43 24
-44 24
-45 24
-50 21
-49 20
-51 20
-50 19
-65 19
-65 18
-60 23
-60 22
-63 22
-63 21
-62 20
-63 19
-64 19
-58 26
-57 25
-58 25
-61 25
-62 25
-60 24
-62 24
-55 28
-56 28
-56 27
-56 26
-81 23
-83 23
-85 23
-86 23
-83 22
-81 21
-83 21
-82 20
-81 19
-81 18
-82 18
-78 23
-78 22
-79 21
-80 21
-81 29
-81 28
-81 26
-82 25
-81 24
-83 24
-85 24
-86 24
-80 29
-80 28
-78 26
-79 26
-80 26
-75 25
-77 25
-75 24
-76 24
-78 24
-79 24
-74 47
-75 47
-79 47
-76 46
-77 46
-78 46
-76 45
-82 47
-83 47
-81 50
-82 49
-83 48
-78 53
-76 52
-77 52
-78 52
-75 51
-79 51
-80 51
-74 50
-76 50
-77 50
-78 50
-74 49
-76 49
-78 49
-80 49
-73 48
-76 48
-77 48
-80 48
-71 51
-72 51
-65 50
-71 50
-72 49
-58 55
-61 55
-60 54
-61 54
-58 53
-59 53
-61 53
-62 53
-63 53
-62 52
-64 52
-57 51
-64 51
-64 50
-57 49
-58 49
-59 56
-60 56
-52 47
-53 47
-56 47
-55 45
-56 45
-55 44
-57 47
-50 50
-51 50
-51 49
-51 48
-53 48
-77 71
-78 71
-79 71
-80 71
-77 69
-78 69
-77 68
-78 68
-81 75
-81 74
-81 73
-83 73
-84 73
-81 72
-83 72
-84 72
-79 79
-80 79
-79 78
-80 78
-77 76
-78 76
-79 76
-80 76
-73 75
-74 75
-76 75
-73 74
-74 74
-76 74
-77 74
-76 73
-78 73
-79 73
-76 72
-60 71
-61 71
-62 71
-63 71
-60 69
-61 69
-60 68
-61 68
-62 79
-63 79
-62 78
-63 78
-60 76
-61 76
-62 76
-63 76
-57 75
-59 75
-62 75
-64 75
-57 74
-59 74
-60 74
-64 74
-59 73
-61 73
-64 73
-59 72
-64 72
-66 73
-67 73
-66 72
-67 72
-56 75
-56 74
-8 -81
-5 -73
-7 -73
-5 -74
-7 -74
-8 -74
-6 -75
-7 -75
-8 -75
-7 -79
-8 -79
-8 -80
-9 -73
-11 -73
-9 -74
-11 -74
-9 -75
-10 -75
-9 -79
-12 -70
-13 -70
-9 -71
-10 -71
-13 -71
-9 -72
-11 -72
-12 -72
-3 -70
-4 -70
-3 -71
-6 -71
-7 -71
-4 -72
-5 -72
-7 -72
4 -81
7 -73
5 -73
3 -73
1 -73
7 -74
5 -74
4 -74
3 -74
1 -74
6 -75
5 -75
4 -75
3 -75
2 -75
5 -79
4 -79
3 -79
4 -80
5 -65
3 -65
5 -66
3 -66
7 -67
5 -67
3 -67
1 -67
0 -67
5 -68
3 -68
0 -68
6 -69
4 -69
2 -69
7 -70
6 -70
4 -70
2 -70
1 -70
5 -71
3 -71
0 -71
7 -72
1 -72
0 -72
8 -67
8 -68
8 -71
8 -72
5 -57
4 -57
4 -64
-9 -57
-10 -57
-11 -57
-12 -57
-13 -57
-14 -57
-15 -57
-16 -58
-15 -59
-16 -59
-9 -61
-10 -61
-11 -61
-10 -62
-10 -63
-5 -57
-6 -57
-7 -57
-8 -57
-4 -58
-4 -59
-5 -59
-17 -54
-18 -55
-17 -56
-18 -56
-10 -52
-9 -53
-10 -53
-11 -53
-9 -54
-10 -54
-11 -54
-16 -54
-12 -55
-15 -55
-9 -56
-10 -56
-11 -56
-12 -56
-13 -56
-16 -56
-3 -54
-4 -54
-2 -55
-5 -55
-8 -55
-2 -56
-3 -56
-4 -56
-7 -56
-8 -56
15 -57
14 -57
6 -54
5 -54
5 -55
7 -56
5 -56
4 -56
14 -54
13 -54
11 -54
10 -54
9 -54
8 -54
14 -55
11 -55
8 -55
15 -56
14 -56
12 -56
11 -56
8 -56
7 -42
5 -42
4 -42
3 -43
6 -44
4 -44
3 -44
-7 -33
-8 -33
-7 -34
4 -33
3 -34
4 -35
3 -35
4 -36
7 -37
6 -37
5 -37
3 -37
2 -37
1 -37
7 -38
3 -38
0 -38
1 -39
0 -39
7 -40
6 -40
-9 -33
-10 -33
-11 -33
-12 -33
-13 -33
-15 -33
-13 -34
-15 -34
-16 -34
-10 -35
-11 -35
-14 -35
-15 -35
-10 -36
-12 -36
-10 -37
-10 -38
-13 -38
-11 -39
-13 -39
-11 -28
-10 -29
-12 -29
-10 -30
-12 -30
-9 -31
-10 -31
-12 -31
-13 -31
-15 -32
4 -32
3 -32
15 -32
14 -32
-1 -17
-1 -19
-2 -20
-2 -21
-1 -22
-1 -16
5 -16
2 -16
-1 6
-7 6
-8 6
-1 5
-7 5
-8 5
-1 4
-7 4
-1 3
-2 3
-3 3
-4 3
-5 3
-6 3
-7 3
-1 2
-7 2
-3 0
-4 0
-5 0
-3 8
-4 8
-5 8
-9 23
-10 23
-15 23
-16 23
-10 22
-15 21
-16 21
-15 20
0 6
0 5
14 23
13 23
11 23
9 23
8 23
11 22
14 21
11 21
15 20
12 20
14 19
-1 23
-5 23
-7 23
-2 22
-3 22
-5 22
-7 22
-8 22
-4 21
-6 21
-4 20
-6 20
-5 19
-1 31
-2 31
-2 30
-1 29
-1 28
-2 28
-4 27
-5 27
-1 26
-2 26
-3 26
-6 26
-3 25
-6 25
-1 24
-4 24
-5 24
1 27
0 27
2 26
1 25
0 25
-11 47
-10 46
-9 45
-10 45
-13 44
-9 43
-10 43
-11 43
-12 43
-13 43
-9 42
-11 41
-10 40
-11 40
-6 47
-8 47
-4 46
-6 46
-8 46
-4 45
-5 45
-1 55
-2 54
-2 53
-1 52
-3 52
-4 52
-2 51
-5 51
-3 49
-6 49
-8 49
-4 48
-6 48
-8 48
5 55
5 54
4 54
2 54
1 53
7 63
6 63
7 62
1 62
7 61
3 61
2 61
0 61
7 60
5 60
4 60
7 59
5 59
4 58
3 58
2 58
1 58
4 56
3 56
2 56
1 56
10 61
9 61
10 60
8 59
-11 79
-10 78
-12 78
-9 76
-10 76
-14 76
-9 75
-15 75
-12 74
-14 74
-11 73
-12 73
-1 78
-2 78
-1 76
-2 76
-1 74
-1 73
5 79
4 79
2 79
0 79
4 78
4 77
3 77
2 77
4 76
1 76
4 75
1 75
3 74
2 74
1 74
0 74
2 80
0 80
38 -73
36 -73
34 -73
36 -75
39 -76
36 -76
39 -77
37 -77
43 -73
40 -73
43 -74
45 -76
43 -76
41 -76
46 -77
45 -77
44 -77
42 -77
37 -72
35 -72
34 -72
33 -72
43 -65
42 -65
41 -65
42 -66
41 -66
42 -72
40 -72
37 -59
36 -59
37 -60
36 -60
35 -60
38 -61
35 -61
38 -62
37 -62
35 -62
34 -62
35 -63
34 -63
44 -62
43 -62
44 -63
43 -63
41 -63
40 -63
43 -64
40 -64
37 -43
39 -44
37 -44
36 -44
39 -45
37 -45
36 -45
39 -46
40 -44
40 -45
41 -46
40 -46
30 -41
29 -41
31 -38
30 -38
30 -39
30 -40
29 -40
39 -33
38 -33
36 -33
35 -33
38 -34
38 -37
39 -38
38 -38
36 -38
35 -38
34 -38
33 -38
39 -39
37 -39
36 -39
33 -39
37 -40
33 -40
32 -40
46 -36
45 -36
46 -37
45 -37
43 -37
42 -37
45 -38
42 -38
45 -39
44 -39
42 -39
41 -39
40 -39
38 -25
36 -25
36 -31
35 -31
34 -31
39 -32
38 -32
36 -32
35 -32
35 -18
39 -19
38 -19
37 -19
36 -19
35 -19
37 -20
37 -21
35 -21
34 -21
39 -22
38 -22
35 -23
34 -23
38 -24
36 -24
46 -17
47 -18
46 -18
45 -18
44 -18
44 -19
40 -20
40 -21
40 -22
40 -23
41 -24
40 -24
49 -17
48 -18
31 -10
30 -10
29 -11
29 -12
31 -13
30 -13
29 -13
29 -14
31 -15
29 -15
28 -15
31 -16
39 -9
34 -9
34 -10
33 -10
32 -10
32 -11
39 -12
35 -12
34 -12
32 -12
38 -14
37 -14
35 -14
34 -14
33 -15
39 -16
33 -16
43 -9
42 -9
41 -9
40 -9
43 -10
47 -12
45 -12
47 -13
45 -13
44 -14
43 -14
41 -14
40 -14
47 -15
46 -16
44 -16
43 -16
50 -13
49 -13
49 -14
49 -15
48 -15
49 -16
38 -4
37 -4
38 -5
39 -6
38 -6
38 -7
38 -8
42 -3
40 -3
42 -4
40 -4
44 -5
43 -5
40 -6
44 -7
43 -7
41 -7
41 -8
36 15
34 15
32 15
39 14
33 14
39 13
37 13
36 13
35 13
34 13
39 12
39 11
37 11
36 11
38 10
35 10
37 9
36 9
42 15
43 14
41 14
43 13
41 13
42 12
39 20
38 20
37 19
39 18
38 18
36 18
36 17
33 17
39 16
38 16
36 16
34 16
32 16
40 19
41 16
40 16
34 31
37 30
36 30
34 30
32 30
37 29
34 29
32 29
39 28
37 28
36 28
35 28
38 27
37 26
39 25
38 25
44 31
42 31
41 31
40 31
42 30
40 30
42 29
41 28
40 28
41 26
40 26
41 25
31 31
31 29
31 32
38 39
37 39
35 39
39 38
36 38
35 38
38 37
39 36
37 36
36 36
35 36
39 35
34 35
39 34
36 34
34 34
36 33
35 33
34 33
32 33
33 32
41 36
40 36
45 35
44 35
42 35
44 34
42 34
40 34
45 33
42 33
45 32
43 32
39 55
38 55
37 55
36 55
35 54
39 53
38 53
36 53
34 53
36 52
34 52
39 51
34 51
32 51
39 50
37 50
36 50
34 50
32 50
35 49
39 48
38 48
37 48
36 48
40 54
44 53
43 53
41 53
44 52
43 52
41 52
41 51
41 50
40 49
39 46
38 46
39 45
38 45
31 51
31 50
37 58
36 58
37 57
36 57
39 71
38 71
36 71
35 71
34 71
38 70
36 70
40 71
38 79
37 79
36 79
35 79
34 79
32 79
36 78
32 78
39 77
34 77
32 77
34 76
35 75
34 75
32 75
38 74
34 74
32 74
39 73
38 73
37 73
36 73
34 73
32 73
33 72
42 79
40 79
42 78
40 78
43 77
42 77
40 77
40 76
43 75
42 75
40 75
42 74
42 73
40 73
41 72
31 77
31 75
38 82
36 82
39 81
38 81
36 81
35 81
34 81
33 80
40 81
41 80
74 -73
73 -73
72 -73
79 -74
76 -74
74 -75
73 -75
72 -75
79 -76
78 -76
77 -76
76 -76
74 -76
75 -77
79 -78
76 -78
79 -79
76 -79
75 -79
83 -73
82 -73
81 -73
84 -74
83 -75
82 -75
81 -75
81 -76
80 -77
80 -79
71 -74
79 -69
76 -69
75 -69
79 -70
76 -70
75 -71
79 -72
78 -72
77 -72
76 -72
74 -72
80 -69
80 -71
81 -72
79 -57
77 -57
75 -57
74 -58
73 -58
72 -58
79 -59
77 -59
76 -59
74 -59
76 -60
76 -61
74 -61
75 -62
74 -62
85 -57
81 -57
84 -58
83 -58
82 -58
82 -59
80 -59
80 -60
82 -61
80 -61
82 -62
81 -62
71 -57
75 -52
74 -52
76 -53
74 -53
76 -54
79 -55
77 -55
76 -55
74 -55
74 -56
73 -56
72 -56
82 -52
81 -52
82 -53
80 -53
80 -54
82 -55
80 -55
84 -56
83 -56
82 -56
76 -41
73 -41
76 -42
74 -42
72 -42
76 -43
73 -43
78 -44
76 -44
79 -45
77 -45
78 -46
83 -41
80 -41
84 -42
82 -42
80 -42
83 -43
80 -43
80 -44
78 -38
79 -39
77 -39
78 -40
76 -40
80 -40
79 -25
77 -25
76 -26
75 -26
74 -26
73 -26
76 -28
75 -28
74 -28
73 -28
79 -29
77 -29
79 -30
77 -30
76 -30
75 -31
74 -31
72 -31
73 -32
83 -26
82 -26
81 -26
80 -26
83 -28
82 -28
81 -28
80 -28
80 -30
84 -31
82 -31
81 -31
83 -32
73 -22
75 -23
74 -23
72 -23
79 -24
77 -24
76 -24
83 -22
84 -23
82 -23
81 -23
80 -24
77 -9
76 -9
82 -9
81 -9
77 -5
76 -5
79 -6
77 -6
78 -7
77 -7
79 -8
77 -8
82 -5
81 -5
81 -6
81 -7
80 -7
81 -8
77 7
74 7
72 7
77 6
76 6
75 6
72 6
72 5
75 4
74 4
73 4
75 3
86 7
85 7
83 7
80 7
85 6
82 6
81 6
80 6
85 5
84 4
83 4
82 4
82 3
71 7
70 14
69 14
69 13
71 12
69 12
67 12
66 12
71 11
70 11
67 11
67 10
70 9
69 9
68 9
70 8
72 15
79 14
78 14
77 14
72 14
75 13
72 13
73 12
79 11
78 11
77 11
76 11
72 11
75 10
74 9
76 8
74 8
85 15
87 14
85 14
80 14
85 13
82 13
86 12
84 12
87 11
86 11
85 11
81 11
80 11
82 10
87 9
83 9
87 8
83 8
81 8
88 14
88 13
91 12
90 12
88 12
90 11
90 10
89 9
88 9
76 23
74 23
74 22
75 21
79 20
78 20
77 20
76 20
72 20
73 19
75 18
72 18
79 17
78 17
77 17
72 17
72 16
87 23
83 23
81 23
87 22
83 22
82 21
87 20
86 20
85 20
81 20
80 20
86 19
84 19
85 18
82 18
87 17
85 17
80 17
85 16
70 23
70 22
69 22
68 22
67 21
71 20
70 20
67 20
71 19
69 19
67 19
66 19
69 18
70 17
69 17
89 22
88 22
90 21
90 20
91 19
90 19
88 19
88 18
88 17
71 24
75 28
75 27
74 27
73 27
72 26
77 25
76 25
75 25
72 25
77 24
74 24
72 24
82 28
84 27
83 27
82 27
85 26
85 25
82 25
81 25
80 25
86 24
85 24
83 24
80 24
79 47
78 47
75 47
73 47
72 47
75 46
73 46
77 45
76 45
73 45
74 44
77 43
76 43
75 43
77 42
77 41
79 40
78 40
86 47
85 47
84 47
82 47
84 46
82 46
84 45
81 45
80 45
83 44
82 43
81 43
80 43
80 42
80 41
71 47
71 50
70 49
70 48
77 55
77 54
76 54
75 54
74 53
77 52
76 52
73 52
75 51
73 51
79 50
78 50
75 50
73 50
72 50
77 49
77 48
80 55
82 54
81 54
80 54
83 53
84 52
81 52
80 52
84 51
82 51
86 50
85 50
84 50
82 50
87 49
80 49
87 48
80 48
79 57
78 57
77 56
80 56
76 71
75 71
73 71
77 70
72 70
77 69
74 69
73 69
75 68
79 67
78 67
77 67
75 67
76 66
77 65
77 64
76 64
87 71
86 71
84 71
82 71
81 71
87 70
85 70
80 70
84 69
83 69
80 69
82 68
82 67
80 67
81 66
80 65
81 64
80 64
71 71
70 71
70 70
76 79
79 78
78 78
77 78
75 78
75 77
77 76
74 76
73 76
77 75
72 75
76 74
75 74
73 74
73 73
73 72
81 79
82 78
80 78
82 77
84 76
83 76
80 76
87 75
85 75
80 75
87 74
86 74
84 74
82 74
81 74
84 73
84 72
70 75
71 74
70 74
77 81
76 81
77 80
81 81
80 81
80 80
-21 -41
-20 -42
-21 -42
-19 -43
-20 -43
-17 -44
-18 -44
-19 -44
-20 -44
-18 -47
-18 -33
-20 -33
-21 -33
-22 -33
-23 -33
-24 -33
-17 -34
-18 -34
-20 -34
-18 -35
-19 -35
-22 -35
-23 -35
-21 -36
-23 -36
-23 -37
-20 -38
-23 -38
-20 -39
-22 -39
-25 -33
-26 -33
-26 -34
-22 -28
-21 -29
-23 -29
-21 -30
-23 -30
-20 -31
-21 -31
-23 -31
-24 -31
-18 -32
14 -33
15 -34
15 -35
14 -35
14 -36
9 -36
15 -37
13 -37
12 -37
11 -37
10 -37
9 -37
8 -37
15 -38
11 -38
9 -38
12 -40
11 -40
-12 -41
-12 -42
-13 -42
-13 -43
-14 -43
-13 -44
-14 -44
-15 -44
-16 -44
-15 -47
14 -42
13 -42
11 -42
10 -42
8 -42
15 -43
9 -43
15 -44
14 -44
12 -44
9 -46
/programs/demos/life2/lif/OSCSP4X.lif
0,0 → 1,654
#Life 1.05
#D Extensible p4 oscillators
#D
#D By Dean Hickerson's Apple IIe search program,
#D Bill Gosper, Bob Wainwright, various.
#N
#P -103 -55
..**.*..*.**
..*........*
...**....**
***..****..***
*..*......*..*
.**........**
#P -103 -46
.......*
..**.*...*.**
..*.........*
...**.....**
***..*****..***
*..*.......*..*
.**.........**
#P -103 -36
.......**
..**.*....*.**
..*..........*
...**......**
***..******..***
*..*........*..*
.**..........**
#P -103 -24
........**..**..**
........**..**..**
.
..**.*..............*.**
..*....................*
...**................**
***..****************..***
*..*..................*..*
.**....................**
........**..**..**
........**..**..**
#P -82 -60
..........*
.........*.*
.........*.*
........**.**.***
.
..**..............*
..*..**************
...**.............*
***...............**
*..*.*............**
.**
........**.**.***
.........*.*
.........*.*
..........*
#P -72 -40
...**....**
..**..**..**
.*..........*
*............*
.*.*......*.*
....******
.
..*........*
..*.*....*.*
.*.*......*.*
...*......*
#P -73 -24
.......**.**
...**..**.**..**
..**...........**
.*...............*
*.................*
.*.*...........*.*
....***********
.
..*.............*
..*.*..**.**..*.*
.*.*...**.**...*.*
...*...........*
#P -71 -7
...**....**
..**..**..**
.*..........*
*............*
.*.*......*.*
....******
.
.
....******
.*.*......*.*
*............*
.*..........*
..**..**..**
...**....**
#P -99 27
...**
..*..*
.*....*
*......*
*......*
.*....*
..*..*
...**
#P -104 26
**
.*
.*.*
..**
#P -104 32
..**
.*.*
.*
**
#P -100 22
*
***
...*
..**
#P -94 22
...*
.***
*
**
#P -100 36
..**
...*
***
*
#P -94 36
**
*
.***
...*
#P -90 26
....**
....*
..*.*
.*.*
**
#P -87 32
**
*
.***
...*
#P -99 47
...***
..*...*
.*.....*
*.......*
*.......*
*.......*
.*.....*
..*...*
...***
#P -96 44
***
.*
#P -104 46
**
.*
.*.*
..**
#P -104 53
..**
.*.*
.*
**
#P -89 48
.***
***
#P -89 53
***
.***
#P -98 57
.*...*
*.....*
*******
.
..***
..*..*
....**
#P -74 26
...****
..*....*
.*......*
*........*
*........*
*........*
*........*
.*......*
..*....*
...****
#P -70 23
**
**
#P -77 30
**
**
#P -70 37
**
**
#P -63 30
**
**
#P -72 48
...*****
..*.....*
.*.......*
*.........*
*....*....*
*...*.*...*
*....*....*
*.........*
.*.......*
..*.....*
...*****
#P -71 43
*
**
**
.*
#P -77 51
..*
*..*
*
*..*
..*
#P -64 43
.*
**
**
*
#P -60 49
.***
***
#P -69 60
.*
**
#P -64 60
**
*
.***
...*
#P -60 56
**
*.*
..*
..**
#P -35 -54
**
**.**..**.****.**..**.****
.*..*..*..*..*..*..*..*..*
.**.****.**..**.****.**..**
#P -8 -53
**
.*
.**
.**
#P -37 -41
...*
...**
*..**....*
***..*.*..**
.....*.*..***
***..*.*..**
*..**....*
...**
...*
#P -23 -37
...*.....*
.**..*.*..**
***..*.*..***
.**..*.*..**
...*.....*
#P -10 -38
**
.*..*
.*.*.*
.*.*.*
.*.**
.*
**
#P -36 -22
......**
.
..**.*..*
*..*.****
**.*
...*
...**
#P -26 -23
....*......*......*
....**.....**.....**
*.*.**.*.*.**.*.*.**.*
*....*.*....*.*....*.*.*
#P -1 -22
**.*...*....**.*....*...**.*
...*...**......*...**......*
*....****.*.*....*.****.*
.**.....*....**....*.....**
#P 28 -21
.**
*.*
..*
#P 32 -23
**
*
*.**
*
*.*
*
#P 7 -58
...**..*
..*.******
..*.......*
**.***.*.*
.*.*.***.*
.*.*.*
**.**.****
..*
..*.**.****
...*.*.*..*
#P 18 -54
*...*
*****
*...*
.*.**
.*.*
.*.*
..*
#P 26 -55
..*
.*.*
.*.*
**.**
*...*
*****
*...*
#P 34 -54
*...*
*****
*...*
**.**
.*.*
.*.*
..*
#P 42 -55
..*
.*.*
.*.*
**.**
*...*
*****
*...*
#P 50 -54
*...*
*****
*...*
**.*
.*.*
.*.*
..*
#P 55 -58
...*..**
.******.*
*.......*
.*.*.***.**
.*.***.*.*
.....*.*.*
.****.**.**
........*
****.**.*
*..*.*.*
#P 5 -41
......**
.......*
.....*
..*..**
*..*.*
*..*.*
.*....***
......*
.......**
........*
......*.*
......**
#P 15 -38
..**.**.....**.**.....**
...*.*.......*.*.......*
...*.*.......*.*.*.....*
***...***.***..*.*..***
..*...*.....*..*..*...*
**.....**.**.....**.**
*.......*.*.......*.*
*.*...*.*.*.*...*.*.*.*
.**...**...**...**...**
#P 40 -39
.**........**
*.*....**.*.*....**.**
*.......*.*.......*.*
**......*.**......*.*
..*..***..*....***...***
.***...*..**.*...*...*
.*.*.**......*.**.....**
...*.*.......*.*.......*
..**.*.*....**.*.*...*.*
......**........**...**
#P 65 -41
.**
.*
...*
..**..*
...*.*..*
.*.*.*..*
.*.*...*
*..*
**
*
*.*
.**
#P -36 -5
*
***
...*
..*
..*...*
......*
...*..*
...**.*
......*
......*
.....**
#P -28 -7
.*.**..*.**..*.**
.**.*..**.*..**.*
.
.***...***...***
*...*.*...*.*...*
*...*.*...*.*...*
*...*.*...*.*...*
.
*...*.*...*.*...*
*...*.*...*.*...*
*...*.*...*.*...*
.***...***...***
.
.**.*..**.*..**.*
.*.**..*.**..*.**
#P -10 -8
......*
.....*.*
......*
...*.....*
.***********
*...........*
*..**...**..*
*...*...*...*
....*...*
*...*...*...*
*..**...**..*
*...........*
.***********
...*.....*
......*
.....*.*
......*
#P 4 -8
......*
.....*.*
......*
...*.....*
.***********
*...........*
*..**...**..*
*...*...*...*
....*...*
*...*...*...*
*..**...**..*
*...........*
.***********
...*.....*
......*
.....*.*
......*
#P 18 -8
......*
.....*.*....**
......*.....*
...*.....*...*
.************.*
*...........*.*
*..**...**..*.*.**
*...*...*...*.*.**
....*...*.....*
*...*...*...*.*.**
*..**...**..*.*.**
*...........*.*
.************.*
...*.....*...*
......*.....*
.....*.*....**
......*
#P 51 -19
....**..**..**..**..**
....**..**..**..**..**
.
..**********************
.*...*......*......*....*
*.**...*.**...*.**...*.*.*
*.*.*...**.*...**.*...**.*
.*....*......*......*...*
..**********************
.
....**..**..**..**..**
....**..**..**..**..**
#P 51 0
...**..**..**..**..**..**
...**..**..**..**..**..**
.
.**************************
*..*.....*.....*.....*.....*
***.*...*.*...*.*...*.*...**
...*.....*.....*.....*
****************************
*..........................*
...**..**..**..**..**..**
...**..**..**..**..**..**
#P 38 21
........**.....................**
...**..*.*.....................*.*..**
...*...*....*.*..*..*..*..*.*....*...*
....***.*****.*************.*****.***
......*.........................*
....**..************************..***
...*.*.....*....*....*....*....*.....*.**
...*.**.....*....*....*....*...**....*.**
**.*....**...*....*....*....*.....**.*
**.*.....*....*....*....*....*.....*.*
....***..************************..**
........*.........................*
....***.*****.*************.*****.***
...*...*....*.*..*..*..*..*.*....*...*
...**..*.*.....................*.*..**
........**.....................**
#P -1 24
....*...**
...*.*.*..*
...*.*.**.*
.***.*..*.**
*.....***.*..*
.***...*....**
....*.*
.**.*.*
*.**.*****
*....*..*.**
.****...****
...*........**
.....*......**
....**......**
............**
#P 13 39
****
****
#P 17 41
**
**
**
**
#P 19 45
****.*..*.*
**.*.*..*.*
..**.*..*..*
....*....*.*
..*.*....*..*
.**........*
.**
..*.*
..*.*
..*..*
..*..*
.....*
#P -25 24
**
*
.
**
..*....***
...*..***
....*
....*
....*
....*
....*
.*..*
...*
.*.*.*
*.*.**
*.*
.**
#P -49 23
............**..**.**
.......**...**..**.**
........*
.
.......*****************
......*
.....*
.*..*
.**.*...**..**..**..*.**
....*...*...**..**..**.*
....*....*
*...*...**
*...*
*...*
....*...**
....*...**...**
.**.*.......*..*
.*..*..........*
.....*
......*........*
.......********.*.**
#P -42 45
.*
**
#P -40 49
**.*
*.**
#P -37 54
**
*
#P -34 44
*....*
*....*
*...*
*
*
*....**
*....**
*
*....**..**.**
*....**..**.**..**
*................**
*..................*
.*..................*
..*..............*.*
...**************
.
....*.............*
...**...**..**..*.*
........**..**...*.*
.................*
/programs/demos/life2/lif/OSCSP5.lif
0,0 → 1,630
#Life 1.05
#D Period 5 oscillators, arranged by symmetry
#D
#D By Sol Goodman, Arthur Taber, Achim
#D Flammenkamp, Dean Hickerson, David
#D Buckingham, Noam Elkies, others.
#N
#P -82 -62
.......**
......*..*
.....*..*
....*.**.***
.*..*....*..*.*
*.*.*...**.*.**
.*..*....*.*
....*.****.*
.....*....*
......***
........**
#P -64 -65
.....**.**
.....**.**
..*.........*
..***********
.
....*...***
...*.*.....*
...**...**.*
.**..*......**
*..**...****..*
.**.........**
...*********
...*.......*
.....****
....**..*
#P -44 -63
**
.*
.*.*
..**....**
.........*
.....****
.....*
..*...***
..****..*
.....*
....*
....**
#P -27 -63
**
.*
.*.*
..**....**
.........*
.....****
......*
.......**
........*
.......*
.......**
#P -84 -47
.....**.**
.....**.**
..*.........*
..***********
.
....*...***
...*.*.....*
...**...**.*
.**...*.....**
*..*********..*
**...........**
.....**.**
.....**.**
#P -66 -46
....*
...*.*
...*.*
..**.**
*.......*
***...***
.
*********
*.......*
...****
...*..**
#P -48 -44
...**.*
....**.*
..*....*
.*.****.**
.*....*.*.*
**.*...**.*
.*....*.*..**
.*.****.***..*
..*....*....**
....**..*
...**.**
#P -28 -46
......*
....*...*
.
...*.....*
.***.***.***
*...**.**...*
*.***.*.****
.*
...*.*.*.**.*
..**.***.*.**
...*.*..*
...*..**
..**
#P -81 -29
.*
*..***
..*
...*.*..*
..**.****
....*
....*.*
.....**
#P -65 -29
...**
...*
.....*
.****.*
*....*
*..**
....*
.*...**
...**.***
....*....*
....*.***
.....**
#P -46 -29
.....*
....*.*
....**
..**
.*...***
*..**...*.*
.**....*.**
...*.*.*
...*...*
....***
......*.*
.......**
#P -26 -28
....*
..***
.*
.*..***
**.*...*
.*.*...*
*..*...*.**
.**.**.*.*
..*...*..*
..*.*.*.*
...**.**
#P -82 2
**
*
..**
.
...*.*
.
.....*.*
.
.......*.*
.........*
...........*
..........**
#P -64 3
...**
...*
**.*
*..**.*
.**....*
...*.*
...*...*..*
....**.****
......*
......*.*
.......**
#P -48 3
**.....*
*..*..*.*
.***...*.*
........*
.****
.*...*
..*..*.**
...*.*.*
....**.*.*
........**
#P -33 2
....*....*
...*.*..*.*
*..**....*.*
***...*...*
...****
..*....**
...**..*..*
.....*.*.*.*
.....*.*.**
......*.*
........*
........**
#P -84 21
.....**
....*.*
.*..*.**
*.*.*...*
.*..*...***
....*.....*
.....*****
.
.......*
......*.*
.......*
#P -69 19
......**
.....*..*
....*.**
.*..*.*
*.*.*.*
.*..*...*
....*.*..*...*
.....**.....*.*
.......**.***.*
.......*.....*
........*****
.
..........*
.........*.*
..........*
#P -48 20
**
*..***...*
.**.....*.*
......*..*.*
......*...*.*
.**........*
*..***
**.......**
.......*....*
.......*....*
.......*....*
........*..*
......*.*..*.*
......**....**
#P -27 21
..........**.**
...........*.*.*
...........*..**
........*.**
.......*....****
.......*....*..*
......**
......**....*
........****
...***..**
......*
...*..*
....*.*
.**
*.*
**
#P -82 47
.........**
.........*
..........*
.........**
........*
.......*.****
.......*.....*
.....**....**.*
....*.......*.*
**.*.*........*.**.*
*.**.*........*.*.**
.....*.*.......*
.....*.**....**
......*.....*
.......****.*
...........*
.........**
.........*
..........*
.........**
#P -58 49
.............*
...........***
..........*
.........*.*****
.........*.*....*
......**.*..**..*
.....*.*.*.*..*.*.**
.....**..*....*.*.*
.........*...*.**.*
...******........*
..*........******
.*.**.*...*
.*.*.*....*..**
**.*.*..*.*.*.*
...*..**..*.**
...*....*.*
....*****.*
.........*
......***
......*
#P -36 50
...........**
..........*.*
........***
.......*...*
......*.****
......*
....**....**.....**
...*.....*..*.**..*
..*.*.......*.*.**
..*.*..*...*..*.*
.**.*.*.......*.*
*..**.*..*.....*
**.....**....**
............*
.......****.*
.......*...*
........***
......*.*
......**
#P 6 -61
...**
.*....*
.*....*
.*....*
..*..*
*.*..*.*
**....**
#P 18 -68
....................**...**
....................*.*.*.*
......................*.*
......................*.*
......................*.*
...............**....*...*....**
...............*....*.....*....*
................****.......****
.
.......**.....****...........****.....**
**.....*.*...*....*.........*....*...*.*.....**
.*......*...*....**.........**....*...*......*
.*.**......*.......................*......**.*
..*...*....*.......................*....*...*
....*.*.**.*.......................*.**.*.*
....*.*..*.*.*...................*.*.*..*.*
..*.*.**.*..**...................**..*.**.*.*
..**.....*...........................*.....**
.........**.........................**
#P 4 -44
.....*
....*.*
.....*
.
...*****
..*..*..*
.*.**.**.*
.*.*...*.*
**.*...*.**
*..*.*.*..*
..*.....*
...*****
.....*
#P 18 -45
....*..*
.
...*....*
.***.**.***
*...*..*...*
.****..****
.
.**.*..*.**
.*........*
..***..***
....*..*
****.**.****
*..*....*..*
.
....*..*
#P 33 -47
.......*
.......*
.
..*..*.*.*..*
..***********
.
.*.**.....**.*
*.**.*...*.**.*
*....*...*....*
.***.**.**.***
..*...*.*...*
*...**...**...*
****.**.**.****
...*.......*
**.*.*.*.*.*.**
**.*.*.*.*.*.**
....***.***
......***
#P 52 -41
.....*.*
...***.***
*.*.......*.*
**.*.....*.**
...*.....*
...*.***.*
....*...*
.....*.*
....**.**
#P 1 -17
......*
....*****
...*.....*
...*.****.*
.***......***
*....*..*....*
.***......***
...*.****.*
....*.....*
.....*****
.......*
#P 19 -18
.....*
.....***
..*.....*.**
..*****.*.*
**......*.*
.*.*......**
.*.*.*****
**.*.....*
....***
......*
#P 38 -19
.....**...*
.....*.*.*.*
**.....*.*..*
*.*...**.***
..*
..***....***
...........*
..***.**...*.*
.*..*.*.....**
..*.*.*.*
...*...**
#P 57 -19
...*
...***
......*
.***.*.*
*..*.*.***
.*........*
..***.*.*..*
....*.*.***
.....*
......***
........*
#P 2 2
.......*..*
..*..*.*..*.*..*
..**************
.
**************
*..*.*..*.*..*
.....*..*
#P 24 -3
......**
......**
.
.
......***..**
..**.*......*
*..*.*....*.*.**
**.*.*....*.*..*
...*......*.**
...**..***
.
.
........**
........**
#P 44 -2
...........**
...**.....*.*
...*.*....*
.....*...**.*
...*.**.....***
.***.....*.*...*
*...*.*.....***
.***.....**.*
...*.**...*
.....*....*.*
...*.*.....**
...**
#P 63 -1
**
.*
.*.*
..**
......**
......*
......*
.....**
..........**
..........*
..........*
.........**
..............**
..............*
..............*
.............**
.................**
.................*.*
...................*
...................**
#P 3 16
......**
.......***...**
.....*....*..*
....*.****.*.*
.*..*......*..**
*.*.*..*.*..*.*.*
.**..*......*..*
...*.*.****.*
...*..*....*
..**...***
.........**
#P 24 15
.......*
.......***
..........*
.....***..*..**
....*.*.*.*.*.*
....*...*.*.*
.**.*.*.*.*.**
..*.*.*...*
*.*.*.*.*.*
**..*..***
....*
.....***
.......*
#P 44 15
.....**
......*.....**
.....*...*..*
....*.****...*
.*..*.....***.*
*.*.*..**.....*..*
.*..*.....**..*.*.*
....*.***.....*..*
.....*...****.*
......*..*...*
.....**.....*
............**
#P 55 35
....**......**
...*.*......*.*
...*..........*
**.*..........*.**
**.*.*..**..*.*.**
...*.*.*..*.*.*
...*.*.*..*.*.*
**.*.*..**..*.*.**
**.*..........*.**
...*..........*
...*.*......*.*
....**......**
#P 8 54
....**
...*..*
...*.*...*
..**.*******
...*........*
...*.....**.*
.*.*.....*.*
*.**.....*
*........*
.*******.**
...*...*.*
......*..*
.......**
#P 24 51
.........**
........*..*
........***
.
......*******
.....*.......*
....*.***.***.*
.*..*.*.....*.*
*.*.*.*.....*.*.**
*.*.*.........*.*.*
.**.*.*.....*.*.*.*
....*.*.....*.*..*
....*.***.***.*
.....*.......*
......*******
.
........***
.......*..*
........**
#P 46 55
....**
....*..*.**
.**.*.**.**
.**.*
....*..******
.**.*.......*
..*.......*
*.......*.**
******..*
........*.**
..**.**.*.**
..**.*..*
.......**
#P 69 57
...**
..*..*
.*....*
*......*
*......*
.*....*
..*..*
...**
/programs/demos/life2/lif/OSCSP6.lif
0,0 → 1,380
#Life 1.05
#D Period 6 oscillators, arranged by symmetry
#D
#D By David Buckingham, Dean Hickerson, various.
#N
#P -71 -40
.....**
.....**
.
.....****
....*....*
.*..*...**
*.*.*...*
.*..*.*.*
....*.**
.....*
...*.*
...**
#P -54 -40
......**
......**
.
....****
...*....*
...*...*..*
**.*.*.*.**
*.*..*.*
...***.*
......*
.....*
.....**
#P -71 -19
..........*
........***
.......*
.......**
**
*..**
.*.*..**
**.*.*.***
....**....*
......****
......*
.......*
......**
#P -76 4
...*
...***.**..**
......**.*..*
*..**....*.*
****.****.*.***
.....*....*....*
..**...*..**..**
..*...*......*.*.**
...****.******.*.*
.......*......*..*
.....*.*..**..*.*
.....**...**...*
#P -76 23
.**
.**
.
.****...........**
*...*..........*.*
**.........**..*
.**........*.*.**
.**..........*.*
.*.*..*..*..**.*
..*..*....*..**
.....*....*
.....*....*..**
.***..*..*..**.*
***..........*.*
...........*.*.**
...........**..*
...............*.*
................**
#P -43 -9
....**
**.*
**..*..*
.....*.*
......*
.
.....**
.....**
#P -47 6
.**
..*.....**
..*.**.*
.**.**..*..*
..*......*.*
*.*.**....*
**..*
....*..*.**
.....***.**
.
.......******
......*..*..*
......**
#P -49 25
......**
.......*
.......*.**.**.*
........*.*.*.**
.........*
.
*.......*
***.....**..**
...*..**....*.*
..*.*..*......*
..**..........**
.
..**...**
..*....*
...*....***
..**......*
#P -20 -41
...*
..*.*
....**
....*
...*.*
......*
..*
.***...*
***.***
.
..*..*
.
.***.***
*...***
.....*
.*
..*.*
...*
..**
...*.*
....*
#P -7 -41
....*
...*.*
...*.*
...*
..**.*
.....*
.
..***
...**
.
***..***
.
...**
...***
.
..*
..*.**
....*
..*.*
..*.*
...*
#P 6 -41
....*.......*
...*.*.....*.*
...*.*.....*.*
.***.**...**.***
*...............*
.****.....**.***
...*.**...**.*
.
........**
........*
........*
.......**
.
...*.**...**.*
.***.**.....****
*...............*
.***.**...**.***
...*.*.....*.*
...*.*.....*.*
....*.......*
#P -22 -8
....**.**
.....*.**
..**
.....*.**
.*...*..*
....**.*
..*
*.*
**
#P -22 10
.....**...**
....*.*...*.*
.....*.....*
.
.
......**.**
...**..*.*..**
.***.*.*.*.*.***
*....**...**....*
.****.......****
....*.......*
...*.........*
...**.......**
#P -24 28
....*...........*
...*.*.........*.*
...*.*.........*.*
.***.**.......**.***
*...................*
.***.**.......**.***
...*.**.......**.*
.
.......**...**
......*.*...*.*
....***.......***
...*...*******...*
...**..*.....*..**
..........*
.........*.*
..........*
#P 4 10
.....*
....*.*
....*.*
**.**.**.**
*....*....*
.***...***
...*.*.*
.
..*.....*
..*..*..*
...*...*
***.....***
*.........*
#P 4 28
...**.**
...**.**
.
.*********
*....*....*
.***...***
...*.*.*
.
..*.....*
..*..*..*
...*...*
***.....***
*.........*
#P 0 -10
..***
.
..**..**.*
..*....*.*
.........*
*
*.*....*
*.**..**
.
.....***
#P 36 -40
.....*
.....*
....***
.
....***
.
**..***..**
*.*..*..*.*
.*.......*
.
.*.......*
*.*..*..*.*
**..***..**
.
....***
.
....***
.....*
.....*
#P 50 -39
.....*
....*.*
....*.*
**.**.**.**
*....*....*
.***...***
...*.*.*
.
.
.
.
...*.*.*
.***...***
*....*....*
**.**.**.**
....*.*
....*.*
.....*
#P 23 -10
.....**
..*..*.*
.*.*.*.*
..*..*.***
..........*
****...****
*
.***.*..*
...*.*.*.*
...*.*..*
....**
#P 39 -10
....***
..*
.*.*.*
..*..*...*
*.....**.*
*.**.....*
*...*..*
....*.*.*
.......*
...***
#P 56 -10
....**
...*..*
...****
.*.*..*.*
*........*
*........*
.*.*..*.*
...****
...*..*
....**
#P 22 15
.............*
.............*
............***
.
............***
............***
..........**.*.**
...........**.**
.........*.......*
........*..**.**..*
......*.....*.*.....*
......**.*..*.*..*.**
..*.**.*.***...***.*.**.*
***.***.............***.***
..*.**.*.***...***.*.**.*
......**.*..*.*..*.**
......*.....*.*.....*
........*..**.**..*
.........*.......*
...........**.**
..........**.*.**
............***
............***
.
............***
.............*
.............*
#P 53 21
....**....**
...*..*..*..*
...*...**...*
.**...*..*...**
*....*....*....*
*...*......*...*
.*.*........*.*
..*....**....*
..*....**....*
.*.*........*.*
*...*......*...*
*....*....*....*
.**...*..*...**
...*...**...*
...*..*..*..*
....**....**
/programs/demos/life2/lif/OSCSP6X.lif
0,0 → 1,136
#Life 1.05
#D Extensible period 6 oscillators
#N
#P -23 -38
.**
.**
.
.*
*.*
*..*..**
....*.**
..**
#P -23 -25
..**
..**..**
**.*..**
***
.
.
.**
.**
#P -16 -29
*.*..*.**.*..*.**.*..*.*
*.****.**.****.**.****.*
*.*..*.**.*..*.**.*..*.*
#P 7 -38
.....**
.....**
.
......*
.....*.*
**..*..*
**.*
....**
#P 7 -25
....**
**..**
**..*.**
.....***
.
.
.....**
.....**
#P -31 2
.....**
.....**
.....**
......*
.....*.*
***.*.*
****.*
....*
#P -19 -10
.....**
.....*..*
.
.
.....*.**
**..*.*
*....*
....*
.*..*
#P -21 0
.**
*
.**
..*
...*
....**
.....*
......*
.......**.*
........*.*
.........*
#P -11 10
.**
*
.**
..*
...*
....**
.....*
......*
.......**.*
........*.**
.........***
#P 1 21
**
***
*
.**
..*
...*
....**
.....*
......*
.......**.*
........*.*
.........*..*
..........**
#P 13 33
..*
...*
*
*..*
.*.**
..**.*
....*.*
....*..*
.....*..*
.........*
..........*
........*..*
............*
.............*
...........*..*
............**
#P 30 39
..**
....*.**
*..*..**
*.*
.*
.
.**
.**
#P 17 50
.....**
....****
...*..*.*
..*.*..**
.*.*
**
***
.*.*
..**
/programs/demos/life2/lif/OSCSP7-9.lif
0,0 → 1,1106
#Life 1.05
#D Various oscillators of periods 7 to 9
#D
#D Found by: Hickerson's Apple IIe search program,
#D Arthur Taber, David Buckingham, John Conway,
#D Don Woods, Bill Gosper, George Collins Jr.,
#D Dean Hickerson, Jan Kok, Mark Niemiec,
#D Sol Goodman, Bob Wainwright, Achim Flammenkamp,
#D Tim Coe, others.
#N
#P -78 -81
*.**
**.*
....**
.....*
....*
....**
..**
...*
..*
..**
**
.*
*
**
#P -64 -81
.....*
....*.*
...*.*.*
...*.*.*
**.*...*.**
*.*....*.**
...****
.
.....**
.....**
#P -48 -84
.....**
.....**
.
.....****
....*....*
.*..*...*.*
*.*.*.*.*.*..*
.*..*.*.*.*.*.*
....*.*...*..*
.....*....*
......****
.
........**
........**
#P -28 -83
.....**
.....*
......*
...***.*.**
..*..*.*.*..*
...***.*.*.**
***....*.*
*..*.*.*.*
...*....*
....****
.
......**
......**
#P -11 -81
....*.........*
...*.*.......*.*
...*.*.......*.*
**.*.**.....**.*.**
*.**..*.....*..**.*
....**.......**
....*..*...*..*
.....***...***
.
....*.**...**.*
....**.*...*.**
#P 16 -79
.......**
......*..*
.......*.*
....***.*.**
...*....*.*.*
...*..***...*
**.*.....***
.*..**.*.*
.*....**
..***...*
....**.**
#P 34 -81
........**
.........*
...**...*...*
..*..*.*.****
..*.**.*
.**....*.*.**
*..***.*....*
.**....*.**
...*****.*
...*....*..*
....***.*.**
......*.*
.......**
#P 50 -81
..........**
.........*..*
......*...*..*
...*..****.**.*
.***.....*.*..*
*...****..*..*
*.*....*.*.*..***
.***.**...****..*
.......***...*
.******...***
.*......**
...*.***..*
..**.*...**
#P 76 -82
....**
.....*
...*
...*****
.......*
...**......*..**
..*..*....*.*..*
.*.**......**.*
*..*.*....*..*
**..*......**
........*
........*****
............*
..........*
..........**
#P 102 -82
.....**.**
....*.*.*.*.**
...*......*.*
..*.*****.*..*
..*........*.*
**.***...***.**
.*.*........*
.*..*.*****.*
..*.*......*
.**.*.*.*.*
.....**.**
#P -62 -61
....*
...*.*
...*.*
**.*.**..*
**.*.*..*.*
...*.****.*
...*......**
....******
.........*
......***
......*
#P -48 -61
....*
...*.*
...*.*
**.*.**
*.**
....**
....*..*
.....***
........**
.....**.*...*
.....**.*.*.***
.........**....*
...........****
...........*
............*
...........**
#P -27 -60
.......*..*
.......****
.
.....********
....*........*
...*.***...**.*
...*.*......*.*
**.*.*........*.**
.*.*..........*.*
.*.*..........*.*
**.*........*.*.**
...*.*......*.*
...*.**...***.*
....*........*
.....********
.
.......****
.......*..*
#P -5 -61
......**.......**
......**.......**
.
......****...****
.....*....*.*....*
....*.*..**.**..*.*
.*..*.*.........*.*..*
*.*.*.*..**.**..*.*.*.*
.*..*.*.........*.*..*
....*.*..**.**..*.*
.....*....*.*....*
......****...****
.
......**.......**
......**.......**
#P 25 -64
.....**
......*..*..*....**
....*....******..*
...*.****......*.*
...*.*..*..*.***.*.*
**.*.*.*.*..*..*.*.**
*..****...*.*.**.*
..*....****.*.*..*
...****....**.*.*
.....*..**.....*
.......**.*****
............*
#P 49 -62
........*..**
......***..*
*.**.*......*
**.*.*..*****
...*.*.*
...*.*..*****
**.*.*.*.....*
.*..*.*.*.*..*
.*.....*.*.*.**
..*****..*.*
.......*.*.*
..*****..*.*.**
..*......*.**.*
...*..***
..**..*
#P 77 -61
....**.**..**
.....*.*..*.*
**...*...**
*..**.***..*
.**.*....***..*
..*.*.......***
*..*.......*
**.*.......*.**
...*.......*..*
***.......*.*
*..***....*.**
...*..***.**..*
....**...*...**
..*.*..*.*
..**..**.**
#P 100 -64
.......**.**
........*.*
.......*...*
...**.*.***.*.**
...**.*.....*.**
......*.....*
...***.......***
*.*.............*.*
**.*.....*.....*.**
...*....*.*....*
**.*.....*.....*.**
*.*.............*.*
...***.......***
......*.....*
...**.*.....*.**
...**.*.***.*.**
.......*...*
........*.*
.......**.**
#P -80 -32
..**.*
..*.**
**....**
*.....*
.*.....*
**....**
..**.*
..*.**
**....**
*.....*
.*.....*
**....**
..**.*
..*.**
#P -64 -30
.**
.**
.
.
**
**.*
...*
...*
*..*
.**
#P -52 -31
....**
....**
.
.
...***
..*
.**..*
.*.*
.
.
**
**
#P -39 -28
...***
...***
...***
***
***
***
#P -28 -32
...*..*
.......*
........**
..*.**......*
..*..*...*
.*...*.***
*...........*
...***.*...*
...*...*..*
*......**.*
...**
.....*
......*..*
#P -7 -33
........*
.......*.*
........*
.
......*****
.....*....*
....*..*
.*..*.**
*.*.*....**
.*..*...*..*..**
....**..*.*....*..*
.........*.....*.*.*
............**.*..*
............**.*
.........*....*
.........*****
.
...........*
..........*.*
...........*
#P 21 -32
....**......**
...*..*....*..*
...*.*.*..*.*.*
.**..*.****.*..**
*.....*....*.....*
*.**..........**.*
.*..*........*..*
..**..........**
...*..........*
...*..........*
..**..........**
.*..*........*..*
*.**..........**.*
*.....*....*.....*
.**..*.****.*..**
...*.*.*..*.*.*
...*..*....*..*
....**......**
#P 44 -31
.......**..**
........*..*
...**.*......*.**
....*.**....**.*
.*..*..........*..*
*.*.**.*....*.**.*.*
.*..*..........*..*
....*.**....**.*
...**.*......*.**
........*..*
.......**..**
#P 68 -34
....*
....***
.......*
......**.........**
.................*
...............*.*
........***....**
.......*...*
......*.....*
.......*...*
..**....***
.*.*
.*
**.........**
...........*
............***
..............*
#P 92 -31
.....**
..**..*
*..*.*
**...**
....*...**
...*.****.*
...*......*
.**..**..*
..*.*.....***
..*..*****..*
.**.......*
.......***
.......*
#P -64 -12
**...........**
*.*.........*.*
.*........***
.........*...*
**...*...*****
**.***...**
.....*...*****
.........*...*
.*........***
*.*.........*.*
**...........**
#P -44 -12
.*
.***........**
....*.......*
...*......*.*
...*...*..**
........*
.....*..*
......***
.
..**
.*.*.....**
.*.......*
**........***
............*
#P -26 -11
.....*
....*.*
.....*
.
...*****
*.*.....*.*
**.*...*.**
...*...*
...*...*
....***
.
....**.*
....*.**
#P -10 -10
....*.**
....**.*
.
....***
**.*.*.*.**
**.*...*.**
...*...*
...*...*
....***
.
...*.**
...**.*
#P 6 -10
...**
...**
.
.******
*......*
***...**
.
********
*......*
...**
...**
#P 20 -10
........***
.
.
..**.*.......*.**
..*.............*
...**.........**
***..*********..***
*..*...........*..*
.**.............**
.
........***
#P 44 -9
.......*
.....*****
....*.....*
.*..*..***.*
*.*.*.*....*..*
.*..*....*.*.*.*
....*.***..*..*
.....*.....*
......*****
........*
#P 64 -12
.......**
........*
.......*
.......****
.....**....*
....*.*.***
.*..*..**....*
*.*.*.......*.*
.*..*.......*.*
....*.*....**.*.**
.....**....*..**.*
.......**...**
.......*.....*
........*****
.
..........*
.........*.*
..........*
#P 89 -10
.....**.**
.**...*.**
..*..*
*....*.***
*****.*...*
....*.*.*.*
***..**.*.**
*....*...*
..**.*.*.*
...*.*.**
...*.*
....**
#P -64 12
....**...**
...*.*...*.*
...*.......*
**.**.....**.**
**.*...*...*.**
...*.*...*.*
...*.*...*.*
..**.*...*.**
...*..***..*
...*.......*.*
....***.....**
......*
#P -46 12
....**...**
...*.*...*.*
...*.......*
**.**.....**.**
**.*.......*.**
...*.**..*.*
...*.*...*.*
..**.*...*.**
...*..***
...*
....***
......*
#P -28 13
....**.........**
...*.*.........*.*
...*.............*
**.**...........**.**
**.*...**...**...*.**
...*.*...*.*...*.*
...*.*...*.*...*.*
..**.*...*.*...*.**
...*..***...***..*
...*.............*
....***.......***
......*.......*
#P -3 14
......**
........*
...*...*
..**...*
...*.*
.*...**
.*...*
*
.**
#P 11 15
**.*.**
...*
*.....*
.*****
.
.
***.***
#P 25 13
.........**
.....**.*.*
....*.*.*
....*.*.**
..**.***...*
.*..*...**.*
.****....*
....*
.***.*
*..*.**
**
....**
#P 44 10
.................***
**..................*
**.*............*...*
....*..........*.*..*
.*...........*..*.*
..*.**.......*...*
....**.......*
.........*....***
..........**
.........*
#P 79 7
..........*
......*.***
......**
.........**..*
......***.****
..**.*
...*.*******
..*.....*..*
..***..**.*
........*.**
****.***
*..**
......**
...***.*
...*
#P 100 7
.......**
...**.*..*
..*.*.**.*
..*.*....*.**
**..**...*.*
.*.*.....*.*
.*.*...**..**
**.*....*.*
...*.**.*.*
...*..*.**
....**
#P -80 39
..**.*
..*.**
**....**
*.....*
.*.....*
**....**
..**.*
..*.**
......**
......*
.......*
......**
..**.*
..*.**
#P -64 39
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -59 44
******..******
#P -44 39
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -64 55
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -59 60
******
#P -52 55
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -64 71
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
.
.
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -59 75
..*....*
**.****.**
..*....*
.
.
.
.
..**..**
..**..**
.
.
.
.
..*....*
**.****.**
..*....*
#P -48 71
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
.
.
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -43 55
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -38 59
..*....*
**.****.**
..*....*
#P -27 55
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -30 40
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -25 44
..*....*
**.****.**
..*....*
#P -14 43
..*....*
**.****.**
..*....*
#P -3 39
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -13 54
..**
...*..**
...*.*.*
**.*..*
**.*
...*
...*.*.....**
....**....*.*
......**...*
......*
.......*******
.............*
.........**
.........**
#P -22 71
..........**.**
.........*.*.*
.........*...*
.......**.***
......*.*.*
......*.*.*
....**..*
...*....**
...*****
.**....*..***
*..***...*...*.......*
**.*.....**.**.....***
...*....*....*....*
***.....**.**.....*.**
*.......*...*...***..*
.........***..*....**
..............*****
............**....*
.............*..**
...........*.*.*
...........*.*.*
.........***.**
........*...*
........*.*.*
.......**.**
#P 9 39
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P 14 41
..*
.*
*
*
*
.*
..*
#P 18 40
**
#P 18 48
**
#P 21 41
*
.*
..*
..*
..*
.*
*
#P 25 39
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P 19 50
**..**
**..**
#P 11 52
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P 17 56
********
*.****.*
********
#P 27 52
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P 22 76
....**
.....*
....*
...*.***
...*.*..*
**.*..**.*
.*.*.*.*.*
.*.*.*.*.**
..*....*..*
...**...*
.....***
.***
.*..**
....*.*
.....*
#P 50 40
.....**
.....**
.
.....****
....*....*
..*..*...*
..**.*.*.*.**
.......**..*
****.**....*
*..**...***
......**
...***..*
...*...**
#P 68 42
...**.**
..*.*.*
..*...*
*.*.**.**
**.*...*.*
...*.*...*
...*.*.*.*.**
....*.....*.*
.....*****
.......*
#P 91 41
............**
...**.*.**.*..*
...*.**.*...**
..........**
....****...*
**.*.......*.**
.*.*...**.**..*
*..*....*...*
**..********
.
......****
......*..*
#P 50 58
.......**
.......*
.........*
..**.****.*
*..*.*....*
**.*...***
.*.*.*....***
.*.....***...*
..*.***...*.**
*.*.*..*..*.*
**...**...*..*
.......***..**
.......*
#P 68 59
.**.**
..*.*.*.**
.*..*.*.*...**
..**.*....*..*
.........***
..***
*..*....*.**
**...*.*.*..*
....**.*.*.*
........**.**
#P 91 58
.....**
.....*.*
...**...*
..*..**.*
...*.*.*.**
..**..*..*
...*.....*
...*.*****.**
**.*......*.*
*.*...****
..*.*..*
.**.**
#P 44 81
..**....**
...*..*..*
.*....**
.**
......**
.**.*..*
*.*.*.*
*...**
.***
...*
#P 59 79
...*..*
...****
.**
*...***
.**....*
..*.*.*
*.*....***
**.*.*.*..*
...*.*...*.*
...*.*.*.*.*
....*.....*
.....*****
.......*
#P 76 79
....**.**
.....*.*.*
...*...*.*
.****..*.**
*....*.*.*
.****.*..*
....*.***
.**.*.*..***
.*..*****..*
...*.....*
....*****
......*
#P 92 76
...........*
..........*.*
..........*.***
.........**....*
....**..*...**.*
....*...****.*.**.**
.....*.....*....*.*.*
...*.*.**..*..**....*
.***.*...*.*...*.***
*....**..*..**.*.*
*.*.*....*.....*
.**.**.*.****...*
.....*.**...*..**
.....*....**
......***.*
........*.*
.........*
/programs/demos/life2/lif/OSCSPN1.lif
0,0 → 1,1381
#Life 1.05
#D Periods 10-22 oscillators
#D
#D Undiscovered periods are:
#D 19, 23, 27, 31, 33, 34, 37,
#D 38, 39, 41, 43, 49, 51, 53, 57.
#N
#P -134 -102
**....**.*
.*....*.**
*...**....**
**..*.....*
.....*.....*
**..**....**
.*..*.....*
*....*.....*
**..**....**
....*.....*
**...*.....*
.*..**....**
*.....**.*
**....*.**
#P -114 -101
......**.*
.....*..**
......*
...***.***
..*....*..*.*
...***.*.*.**
***....*.*
*..*****.*
...*....*
....****
.
......**
......**
#P -97 -101
...*
...***
.**...*
*...**.*
.***.*.*
........**
.****.....*
.*......**.*
..**..*..*.*
....*.*.*..**
....*.*.*.*
.....**.*.*
.........*
#P -80 -102
....**
...*.*
...*
**.*
**.*
...*.**
**.*
*.*..*..*
...**.*.*...**
.....*.......*
.....*.******
......*
.......*.**
......**.**
#P -62 -104
.....**......**
.....**......**
.
.
......*......*
**..**.**..**.**..**
**....*......*....**
.
.
.
**....*......*....**
**..**.**..**.**..**
......*......*
.
.
.....**......**
.....**......**
#P -35 -99
.........**
........*.*
........*
.......**
....*....**
**..*.***..*
*.......*.*.*
.*******...*
........***
...**.*.*
...**.**
#P -114 -79
......**
......*
...**.*
..*.*.**...**
.*..*....*..*
.*.*.*.*.***
**.*.*
...*.*..****
...*.*...*..*
....**.*...*
......*.***
......*.*
.......*
#P -96 -79
.......*
......*.*
.......*
.
.**..*****..**
.*..*.....*..*
..*.*..*..*.*
.**.*.....*.**
*...**...**...*
****...*...****
....**...**
..*..*.*.*..*
..**..*.*..**
.......*
#P -77 -77
.**........**
.*.*......*.*
...*......*
..**.*..*.**
*..*.****....*
**..*.....*.**
......***
*****....*****
*.....**.....*
..****..****
.**..*..*..**
#P -56 -77
.....**.**
....*.*.**
..***.*
.*....*.**
*..**.*..*
.**.*...*...**
..*.....*.*..*
..*.*.*.*.**
...**.**
#P -39 -71
.....*...**
....*.*..*.*
....*.*....*
.**.*.**...*.**
..*.*....*.*.*
*..*.*.*.*.*.*
**.*.*....*..**
...*.*..**...*
...*.*...*.*.*
....**.*.*.**
......*.*
......*
.....**
#P -57 -61
.....**
.....*.*....*
........*..*.*
......**.*..*.*
.....*.*.**.*..*
**..*.......***
*..*....***
.*.**......**
..*...*..**..*
...**.*.*...**
....*.*.*
..*....*
.*.***.*.*
..*..*..**
...*.*
....*
#P -79 -61
.........*
.....*.*****
.....**.....*
........***..*
.....***...**
....*....*.*
...*.*.*.*.*
...*.*....*
**.*.*..**
**.*.*...*.*
....**.*..*.*
......*.**..*
......*.....**
.....**
#P -98 -61
...*
..*.*
..*.*
.**.**.....**.**
*..*...**...*.*
.*.*.**....*..*
..*.*......*.*
....*.**.*.*.**
....*..*.**
.....**
#P -117 -60
....**....**
...*.*.....*
...*.......*.**
**.*......**..*
**.*.*......**
....*....***
......*....*
..*********
..*
.....****
.....*..*
#P -131 -33
**..**
.*...*
*...*
**..**
.
**..**
.*...*
*...*
**..**
.
**..**
.*...*
*...*
**..**
#P -117 -32
..**.**
...*.*.*
...*....*
**.*.....*
**.*......*
...*.*.....*
...*.**...**
....*
.....*******
...........*
.......**
.......**
#P -100 -39
..........**.**
.........*.*.*
.........*...*
.......**.***
......*.*.*
......*.*.*
....**..*
...*....**
...*****..........**
.**....*..........*
*..***....***...*.*
**.*.....*...*..**
...*....*.....*.......*
***.....*.....*.....***
*.......*.....*....*
.....**..*...*.....*.**
....*.*...***....***..*
....*..........*....**
...**..........*****
.............**....*
..............*..**
............*.*.*
............*.*.*
..........***.**
.........*...*
.........*.*.*
........**.**
#P -71 -38
..........**
..........**
.....*..........*
....*.*........*.*
...*.*..........*.*
..*.*...******...*.*
...*..............*
.
.....*..........*
.....*..........*
**...*..........*...**
**...*..........*...**
.....*..........*
.....*..........*
.
...*..............*
..*.*...******...*.*
...*.*..........*.*
....*.*........*.*
.....*..........*
..........**
..........**
#P -46 -34
.........**
........*..*.**
........*..*.*
.....**.***..*
......*......*.**
......*.***..*.*
....**.*...***.*
...*.*...*.*..*
...*.*..**.***
**.*.*....*
.*.*.*.*.*..****
.*..*....*.**..*
..*.*.**.*
...**.*..*
.......**
#P -25 -33
.........**
...**...*.*
....*...*
....*.**.****
..**.*.*.*..*
...*.*
...*
**.*.**
**.*.....**
...*.....*
...*.*....***
....**......*
#P -137 -2
**....**.*
.*....*.**
*.........**
**........*
...........*
**........**
.*....**.*
*.....*.**
**..**
....*
**...*
.*..**
*.....**.*
**....*.**
#P -116 2
.*
.***.......**
....*......*
...**....*.*
.........**
......**
......**
......**
..**
.*.*....**
.*......*
**.......***
...........*
#P -97 -7
***
**
.**
.*
....**
.**.*
..*
..*
.
.....*
....*.*..**
**..*..*.**
**...**
.
.
........*
........*
......*.**
.....**
.........*
........**
.........**
........***
#P -76 -5
.......**
.......*.*
.........*
.......*.**.**
.......**....*
..........**
.......***.**
**.**.*......*..**
*...*.*..****.*..*
.***..*.*.....**
...*.*..*...*..*.*
.....**.*...*.*..***
...*..*.*.**..*.*...*
...**..*......*.**.**
........**.***
.........**
.......*....**
.......**.**.*
...........*
...........*.*
............**
#P -46 -4
........*.**.**.*
........**.*.*.**
.
........***...***
........*..*.*..*
..........**.**
.
**...**...........**...**
**..*..*.**...**.*..*..**
....*.*..**...**..*.*
.....*.............*
.
.....*.............*
....*.*..**...**..*.*
**..*..*.**...**.*..*..**
**...**...........**...**
.
..........**.**
........*..*.*..*
........***...***
.
........**.*.*.**
........*.**.**.*
#P -118 24
.**.........**
*..*.......*..*
***..*****..***
...**.....**
..*.........*
..**.*...*.**
.......*
#P -112 32
***
***
.*
.
.*
***
.
.
.
.
.
***
.*
.
.*
***
***
.
.*
*.*
*.*
.*
.
.
.
.
***
.*
.
.*
***
***
.
***
***
.*
.
.*
***
#P -114 75
***.***
...*
**...**
...*
***.***
#P -86 28
***.*..*.*.........*.*..*.***
.*.*.*.*..*.......*..*.*.*.*
..........*.......*
...*.....................*
...*..*.*.*.*...*.*.*.*..*
....*.*..*.***.***.*..*.*
#P -86 69
....*.*..*.***.***.*..*.*
...*..*.*.*.*...*.*.*.*..*
...*.....................*
..........*.......*
.*.*.*.*..*.......*..*.*.*.*
***.*..*.*.........*.*..*.***
#P -95 37
*
**
*
.*.**
*....*
.*
....**
**
....*
*....*
.**.*
.....*
....**
.....*
.
.....*
....**
.....*
.**.*
*....*
....*
**
....**
.*
*....*
.*.**
*
**
*
#P -54 37
.....*
....**
.....*
.**.*
*....*
....*
**
....**
.*
*....*
.*.**
*
**
*
.
*
**
*
.*.**
*....*
.*
....**
**
....*
*....*
.**.*
.....*
....**
.....*
#P -75 38
***.***
.*...*
.
.*...*
***.***
***.***
#P -85 48
*...**
**.***
*...**
.
*...**
**.***
*...**
#P -75 59
***.***
***.***
.*...*
.
.*...*
***.***
#P -64 48
**...*
***.**
**...*
.
**...*
***.**
**...*
#P -78 45
....*...*
...*.*.*.*
...*.*.*.*
.**..*.*..**
*....*.*....*
.****...****
.
.****...****
*....*.*....*
.**..*.*..**
...*.*.*.*
...*.*.*.*
....*...*
#P -112 92
..*
.*.*.**
*..*.*
.***.*.*
.......***
.***......*.*
.*.......*.**
...**...**
....*..*.*
....*.***
.....*
......*
.....**
#P -94 94
......**...**
......*...*.*
*..**.*...*
****.*.**.**
.....*.*.*..*
..**...*.*.*
.*.*...*.**
*..*.*.*
.**.**.*.****
..*...*.**..*
*.*...*
**...**
#P -73 84
............**
.......*.**..*
.......**.*.*
............**..**
...........*.....*
.......**..*.****
...**..*
...*.*.*....*.*****..**
.....*.**....*.*..*..*
....**................*
**.*.*.**...*........**
*.**...**..*...*...*
....**.....*....*.*.**.*
.**.........*.*...*.*.**
.*..............*.*
..*..*..*.**...**.*
.**..****.**....*.*.*
................*..**
.......*****...**
......*.....*
......**..**
...........*.*.**
..........*..**.*
..........**
#P -37 25
**.......**
*..**.**..*
.**.*.*.**
..*.*.*.*
..*.***.*
...*****
.
.
.
....***
.....*
.....*
#P -33 38
***
***
.*
.
.*
***
#P -38 51
.*
*.*
.*
#P -28 51
.*
*.*
.*
#P -33 48
.*
*.*
*.*
.*
.
***
.
*.*
.*
.
.
.*
*.*
.
***
#P -37 63
**
**
#P -34 64
..*
.*.*
*..*
.**
#P -28 62
.*
*.*
.*
#P -32 70
.**
*..*
*.*
.*
#P -37 73
.*
*.*
.*
#P -27 73
**
**
#P -32 75
***
.
*.*
.*
.
.
.*
*.*
.
***
.
.*
*.*
*.*
.*
#P -37 84
.*
*.*
.*
#P -27 84
.*
*.*
.*
#P -32 94
***
.*
.
.*
***
***
#P -43 101
..........*.**
.....*...*
....**.......*
.....*..**.**
.**.**..*
*.......**
....*...*
**.*
#P 2 -102
**..**.*
.*..*.**
*.......**
**......*
.........*
**......**
.*..**.*
*...*.**
**......**
........*
**.......*
.*......**
*...**.*
**..*.**
#P 20 -102
....*
...*.*
...*.*
.***.**
*
.***.**
...*.**
#P 27 -95
...*...*
....*.*
...**.**
.*..*.*..*
*.*.*.*.*.*
**..*.*..**
....*.*
.....*
#P 38 -102
..*
.*.*
.*.*
**.***
......*
**.***
**.*
#P 53 -98
....**.**
...*.*.*.*
...*.....*
**.*.....*.**
*.*..*.*.**.*
...**.*.*
....*.*.*
...*..**
...**
#P 73 -100
.......*
......*.*
.....*.*.*
...***.*.***
*.*...*.*...*.*
**.**.....**.**
...*.*...*.*
...*.......*
....*******
.
...*.**.**.*
...**.*.*.**
#P 94 -99
.......**.*
.......*.**
....**.*
..***.*.***
.*....*.*..*
.*.**...*.*.*
..*.*...*.*.*
....*.*.*.*.**
****.**.*.*
*..*...**.*
....**...*
......***
......*
#P 2 -75
**..**...**
.*..**...**
*
**..**...**
....*.*.*.*
**....*.*
.*...**.*
*........**
**........*
.........*
**.......**
.*........*
*........*
**.......**
#P 21 -71
.**.**
.**.**
..*.*
*.*.*.*
*.*.*.*
**...**
#P 35 -72
...**
..*..*.**
..*.**.*.*
.**..*.*.*
*..*.*...*.**
**.*.*...*..*
...*.*.*..**
...*.*.**.*
....**.*..*
........**
#P 51 -76
...**
...*
....***....**
......*....*
..***.*.**.*
.*.*.*.*.*..**
.*...*.*..*.*
**.*.**..**.*
..*.*.......**
..*...****.*..*
...***.....*.**
.......**..*.*
...*****...*.*
...*.....*.**
......***.*
......*...*
..........**
#P 2 -51
**....*.**
.*....**.*
*...**
**...*
....*
**..**
.*....*.**
*.....**.*
**........**
...........*
**........*
.*........**
*.....*.**
**....**.*
#P 22 -46
..*....*
**.****.**
..*....*
#P 39 -52
..*....*
**.****.**
..*....*
#P 44 -45
**..**
**..**
#P 39 -39
**...*..*...**
*****....*****
**...*..*...**
#P 59 -53
..*....*
**.****.**
..*....*
#P 61 -46
**..**
**..**
#P 59 -40
..*....*
**.****.**
..*....*
#P 79 -53
.*
.*
*.*
.*
.*
.*
.*
*.*
.*
.*
#P 87 -55
..*....*
**.****.**
..*....*
#P 96 -47
.*
.*
*.*
.*
.*
.*
.*
*.*
.*
.*
#P 81 -38
..*....*
**.****.**
..*....*
#P 86 -48
**..**
**..**
.
.
**..**
**..**
#P 2 -17
**....**.*
.*....*.**
*...**
**..*
.....*
**..**
.*....**.*
*.....*.**
**..**....**
....*.....*
**...*.....*
.*..**....**
*.....**.*
**....*.**
#P 19 -19
....**......**
...*..*....*..*
...*.*.*..*.*.*
.**..*.****.*..**
*.....*....*.....*
*.**..........**.*
.*..*........*..*
..**....**....**
...*...*.*....*
...*...**.....*
..**..........**
.*..*........*..*
*.**..........**.*
*.....*....*.....*
.**..*.****.*..**
...*.*.*..*.*.*
...*..*....*..*
....**......**
#P 43 -17
...*...**
...*..*..*
.........*
.**....**..**
*..*
*..*
.*.........*
.........*..*
.........*..*
**..**....**
...*
...*..*..*
....**...*
#P 22 5
**.........**
*.*.......*.*
..*.......*
..**..*..**
.....*
..***...***
.*.........*
.**.**.**.**
.....*.*
.....*.*
......*
#P 41 3
.**
*.*
*.*.**
.*.*.*
...*
..*..*
..*
..*...*
..*...*
..*
..*..*
...*
.*.*.*
*.*.**
*.*
.**
#P 49 9
....**
*....**
.**....*
..**
#P 58 3
....**
....*.*
.**.*.*
.*.*.*
...*
.*..*
....*
*...*
*...*
....*
.*..*
...*
.*.*.*
.**.*.*
....*.*
....**
#P 84 -17
*
**
**
.*
#P 99 -17
.*
**
**
*
#P 106 -8
.***
***
#P 106 7
***
.***
#P 99 14
*
**
**
.*
#P 84 14
.*
**
**
*
#P 75 7
.***
***
#P 75 -8
***
.***
#P 87 -9
**
.**
..**
#P 94 -9
..**
.**
**
#P 99 -5
..*
.**
**
*
#P 99 2
*
**
.**
..*
#P 94 7
**
.**
..**
#P 87 7
..**
.**
**
#P 83 2
..*
.**
**
*
#P 83 -5
*
**
.**
..*
#P 132 -3
.*
*.*
**
#P 136 -10
...***
...***
...***
***
***
***
#P 121 -15
...*..*
.......*
........**
..*.**......*
..*..*...*
.*...*.***
*...........*
...***.*...*
...*...*..*
*......**.*
...**
.....*
......*..*
#P 119 0
.........**
....**..*..*
.*..*....*.*
*.*.*.....*
.*..*.**
....*..*
.....*....*
......*****
.
........*
.......*.*
........*
#P 136 0
.**
*..*..**
*.*....*..*
.*.....*.*.*
....**.*..*
....*..*
.*....*
.*****
.
...*
..*.*
...*
#P 2 28
**....*.**
.*....**.*
*.........**
**.........*
..........*
**........**
.*......**
*........*
**......*
........**
**....**
.*.....*
*.....*
**....**
#P 19 28
.....*
....*.*
....*.*...**
.**.*.**...*
..*.*......*.**
*..*.*.***.*..*
**.*.*....*.*
...*.*..**..**
...*.*...*.*
....**.*.*.*
......*.*.*
......*.*
.......**
#P 38 28
..............*
.....*.......*.*
....*.*......*.*
....*.*.....**..**
.**.*.**...*..*.*
..*.*......*.**..*
*..*.*.***.*...*.*
**.*.*....*..**.*
...*.*..**....*
...*.*...*.*..*
....**.*.*.***
......*.*
......*..***
.....**....*
#P 2 52
**....**.*
.*....*.**
*...**....**
**..*.....*
.....*.....*
**..**....**
.*....**.*
*.....*.**
**..**....**
....*.....*
**...*.....*
.*..**....**
*.....**.*
**....*.**
#P 22 52
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P 27 56
.*.*..*.*
*..*..*..*
.*.*..*.*
#P 38 57
.*.*..*.*
*..*..*..*
.*.*..*.*
#P 49 53
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P 36 64
**
**
#P 40 65
**
.**
.*
#P 45 68
**
**
#P 30 70
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P 35 74
.*.*..*.*
*..*..*..*
.*.*..*.*
#P 46 75
.*.*..*.*
*..*..*..*
.*.*..*.*
#P 57 71
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P 0 96
..**.*.....**.*
..*.**.....*.**
......**.......**
......*........*
.......*........*
......**.......**
..**.*.....**.*
..*.**.....*.**
**.......**
*........*
.*........*
**.......**
..**.*.....**.*
..*.**.....*.**
#P 24 92
............**.....**
.......**...*.......*...**
......*.*....*.....*....*.*
........*.***.*...*.***.*
.....**.*.*...*...*...*.*.**
........*.....*.*.*.....*
.......*.*..**.*.*.**..*.*
........*...*..*.*..*...*
....**........**.**........**
**..*.......................*..**
*.*.*.....***.......***.....*.*.*
..*.**....*.*.......*.*....**.*
*.*.*.....***.......***.....*.*.*
**..*.......................*..**
....**........**.**........**
........*...*..*.*..*...*
.......*.*..**.*.*.**..*.*
........*.....*.*.*.....*
.....**.*.*...*...*...*.*.**
........*.***.*...*.***.*
......*.*....*.....*....*.*
.......**...*.......*...**
............**.....**
#P 65 97
...**.....**
...*.......*
**.*.......*.**
*..**.....**..*
.**...*.....**
...**...****
...*.......*
....*******
.
......***
......*..*
........**
#P 86 94
........**
........*
..........*
......*****
......*
....**...**
**.*.....*.*.**
.*.*.......*.*
*..**.....**..*
.**..*.*....**
...*...*****
...*.......*
....*******
.
......***
.....*..*
.....**
/programs/demos/life2/lif/OSCSPN2.lif
0,0 → 1,1892
#Life 1.05
#D Periods 24-50 oscillators
#N
#P -148 -106
..**.*....**...**
..*.**....**...**
......**
......*...**...**
.......*..*.*.*.*
......**....*.*
..**.*.....**.*
..*.**.........**
**..............*
*..............*
.*.............**
**..............*
..**.*.........*
..*.**.........**
#P -124 -107
***.***
...*
**...**
...*
***.***
#P -114 -106
*...*
*.***
*...*
#P -106 -107
.*
.*
*
.*
.*
#P -99 -107
*
*
.*
*
*
#P -95 -107
.*
.*
*
.*
.*
#P -88 -107
*
*
.*
*
*
#P -83 -106
*...*
***.*
*...*
#P -75 -107
***.***
...*
**...**
...*
***.***
#P -103 -111
.*
*.*
.*
#P -92 -111
.*
*.*
.*
#P -126 -94
***.***
...*
**...**
...*
***.***
#P -116 -93
*...*
*.***
*...*
#P -108 -94
.*
.*
*
.*
.*
#P -101 -94
*
*
.*
*
*
#P -97 -94
.*
.*
*
.*
.*
#P -90 -94
*
*
.*
*
*
#P -85 -93
*...*
***.*
*...*
#P -77 -94
***.***
...*
**...**
...*
***.***
#P -105 -88
.*
*.*
.*
#P -94 -88
.*
*.*
.*
#P -107 -99
**
*
.***
...*
#P -91 -101
*
***
...*
..**
#P -103 -100
***
.....***
....***
.........***
#P -148 -78
..**.*......*.**
..*.**......**.*
......**..**
......*....*
.......*..*
......**..**
..**.*......*.**
..*.**......**.*
**..............**
*................*
.*..............*
**..............**
..**.*......*.**
..*.**......**.*
#P -123 -78
..**
...*..**
...*.*..*
..**.***.*.**
...*.*.*.**.*
.*
*.***.*.****
*...**.**...*
.***.***.***
...*.....*
.
....*...*
......*
#P -117 -56
......*
....*...*
.
...*.....*
.***.***.***
*...**.**...*
.****.*.***.*
...........*
*.**.*.*.*
**.*.***.**
....*..*.*
.....**..*
.........**
#P -125 -65
**
.*
.*.*
..**
#P -122 -56
..**
...*
***
*
#P -109 -69
...*
.***
*
**
#P -106 -60
**
*.*
..*
..**
#P -118 -61
***
*.*
***
#P -112 -63
***
*.*
***
#P -95 -78
..**
...*..**
...*.*..*
..**.***.*.**
...*.*.*.**.*
.*
*.***.*.****
*...**.**...*
.***.***.***
...*.....*
.
....*...*
......*
#P -95 -48
......*
....*...*
.
...*.....*
.***.***.***
*...**.**...*
*.***.*.****
.*
...*.*.*.**.*
..**.***.*.**
...*.*..*
...*..**
..**
#P -96 -62
.*
*.*
.*
.
.
.
.
.
.*
*.*
.*
#P -90 -61
***
*.*
***
.
.
.
***
*.*
***
#P -84 -60
..**
*..*
***
.
***
*..*
..**
#P -74 -60
**
*..*
.***
.
.***
*..*
**
#P -67 -61
***
*.*
***
.
.
.
***
*.*
***
#P -58 -61
***
*.*
***
.
.
.
***
*.*
***
#P -52 -60
..**
*..*
***
.
***
*..*
..**
#P -72 -78
..**..............**
...*..**......**..*
...*.*..*....*..*.*
..**.***.*..*.***.**
...*.*.*.****.*.*.*
.*..................*
*.***.*.******.*.***.*
*...**.**....**.**...*
.***.***.****.***.***
...*.....*..*.....*
.
....*...*....*...*
......*........*
#P -72 -48
......*........*
....*...*....*...*
.
...*.....*..*.....*
.***.***.****.***.***
*...**.**....**.**...*
*.***.*.******.*.***.*
.*..................*
...*.*.*.****.*.*.*
..**.***.*..*.***.**
...*.*..*....*..*.*
...*..**......**..*
..**..............**
#P -148 -26
..**.*......**.*
..*.**......*.**
......**..**
......*...*
.......*...*
......**..**
..**.*......**.*
..*.**......*.**
**........**....**
*.........*.....*
.*.........*.....*
**........**....**
..**.*......**.*
..*.**......*.**
#P -124 -16
.*
*.*
*.*
.*
.
.*
*.*
*.*
.*
#P -116 -16
.*.*
*..*
.*.*
.
.
.
.*.*
*..*
.*.*
#P -110 -17
..**
...*
*
**
.
.
.
**
*
...*
..**
#P -103 -17
**
*
...*
..**
.
.
.
..**
...*
*
**
#P -97 -16
*.*
*..*
*.*
.
.
.
*.*
*..*
*.*
#P -88 -16
.*
*.*
*.*
.*
.
.*
*.*
*.*
.*
#P -122 -29
.........**
.........*
......**.*
.....*.*.**
.....*.*
...**..*
..*....**
..*****
......*
****
*..*
#P -109 -31
.**...**
*..*.*..*
.**...**
#P -109 -23
.*.....*
*.*...*.*
.
***...***
#P -98 -29
**
.*
.*.**
**.*.*
...*.*
...*..**
..**....*
....*****
....*
.......****
.......*..*
#P -122 -5
*..*
****
......*
..*****
..*....**
...**..*
.....*.*
.....*.*.**
......**.*
.........*
.........**
#P -109 5
.**...**
*..*.*..*
.**...**
#P -109 -4
***...***
.
*.*...*.*
.*.....*
#P -98 -5
.......*..*
.......****
....*
....*****
..**....*
...*..**
...*.*
**.*.*
.*.**
.*
**
#P -150 15
..**.*......**.*
..*.**......*.**
......**..**....**
......*...*.....*
.......*...*.....*
......**..**....**
..**.*......**.*
..*.**......*.**
**........**....**
*.........*.....*
.*.........*.....*
**........**....**
..**.*......**.*
..*.**......*.**
#P -124 16
..*.*
.....*
.*..*
*.*.*
*..*
.**
.
.
.**
*..*
*.*..*
.*
..**.*
....*
#P -117 21
***...***
.*.....*
#P -107 16
.*.*
*
.*..*
.*.*.*
..*..*
...**
.
.
...**
..*..*
*..*.*
....*
*.**
.*
#P -96 16
.....**
.....*
..**.*
*..*.**
**.*
...*
...**
.
...**
..*..*
..*.*..*
...*
....**.*
......*
#P -87 14
.**...**
*..*.*..*
.**...**
.
.
.
.
***...***
.*.....*
#P -77 16
.**
..*
..*.**
.**.*..*
....*.**
....*
...**
.
...**
..*..*
*..*.*
....*
*.**
.*
#P -150 44
..**.*......**.*
..*.**......*.**
......**..**....**
......*...*.....*
.......*...*.....*
......**..**....**
..**.*......**.*
..*.**......*.**
**..............**
*...............*
.*...............*
**..............**
..**.*......**.*
..*.**......*.**
#P -124 46
.....**
.....*
..**.*
*..*.**
**.*
...*
...**
#P -115 44
.**...**
*..*.*..*
.**...**
#P -115 52
.*.....*
*.*...*.*
.
***...***
#P -116 59
.*.......*
*.*.....*.*
.*.......*
#P -104 46
**
.*
.*.**
**.*..*
...*.**
...*
..**
#P -91 48
.*
*.*
.*
.
.
.
.
.
.*
*.*
.*
#P -85 49
*.*
*..*
*.*
.
.
.
*.*
*..*
*.*
#P -79 43
...*
.***
*
**
#P -76 50
**
**
#P -72 54
**
**
#P -67 55
..**
..*
*.*
**
#P -78 61
.*.....*
*.*...*.*
.
***...***
#P -79 68
.*.......*
*.*.....*.*
.*.......*
#P -130 86
.*
*.*
*.*
.*
.
.*
*.*
*.*
.*
#P -122 86
.*.*
*..*
.*.*
.
.
.
.*.*
*..*
.*.*
#P -103 86
*.*
*..*
*.*
.
.
.
*.*
*..*
*.*
#P -94 86
.*
*.*
*.*
.*
.
.*
*.*
*.*
.*
#P -128 73
.........**
.........*
......**.*
.....*.*.**
.....*.*
...**..*
..*....**
..*****
......*
****
*..*
#P -115 71
.**...**
*..*.*..*
.**...**
#P -115 79
.*.....*
*.*...*.*
.
***...***
#P -104 73
**
.*
.*.**
**.*.*
...*.*
...*..**
..**....*
....*****
....*
.......****
.......*..*
#P -128 97
*..*
****
......*
..*****
..*....**
...**..*
.....*.*
.....*.*.**
......**.*
.........*
.........**
#P -115 107
.**...**
*..*.*..*
.**...**
#P -115 98
***...***
.
*.*...*.*
.*.....*
#P -104 97
.......*..*
.......****
....*
....*****
..**....*
...*..**
...*.*
**.*.*
.*.**
.*
**
#P -60 -106
**.*......**.*
*.**......*.**
....**..**....**
....*...*.....*
.....*...*.....*
....**..**....**
**.*....*.....*
*.**.....*.....*
....**..**....**
....*...*.....*
.....*...*.....*
....**..**....**
**.*......**.*
*.**......*.**
#P -36 -100
**
**
#P -25 -103
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -16 -100
**
**
#P -9 -98
..**
.*.*
.*
**
#P 2 -103
..*
.*.*
*...**..**
*...**.*..*
*...**..**
.*.*
..*
#P 21 -103
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P 29 -98
**
*.*
..*
..**
#P -36 -79
.*.......*
*.*.....*.*
.*.......*
.
.
.
.***...***
.*.*...*.*
.***...***
#P -36 -58
.***...***
.*.*...*.*
.***...***
.
.
.
.*.......*
*.*.....*.*
.*.......*
#P -10 -74
.*.......*
*.*.....*.*
.*.......*
#P -9 -65
***...***
*.*...*.*
***...***
#P -10 -59
.*
*.*
.*
#P -3 -52
.*
*.*
.*
#P 3 -59
***
*.*
***
.
.
.
***
*.*
***
#P 12 -60
.*
*.*
.*
.
.
.
.
.
.*
*.*
.*
#P 25 -81
***
.*
.*
***
.
***
***
.
***
.*
.*
***
.
.
.
..**
..**
.
..**
..**
.
.
.
***
.*
.*
***
.
***
***
.
***
.*
.*
***
#P -36 -32
.*.......*
*.*.....*.*
.*.......*
.
.
.
.***...***
.*.*...*.*
.***...***
.
.
.
.
.
.
.*.......*
*.*.....*.*
.*.......*
#P 0 -36
.*
*.*
.*
#P -13 -31
..*..*....*..*
***..******..***
..*..*....*..*
#P -13 -23
..*..*....*..*
***..******..***
..*..*....*..*
#P -13 -15
..*..*....*..*
***..******..***
..*..*....*..*
#P 0 -10
.*
*.*
.*
#P 6 -35
***
*.*
***
.
.
.
***
*.*
***
.
.
.
***
*.*
***
.
.
.
***
*.*
***
.
.
.
***
*.*
***
#P 15 -36
.*
*.*
.*
#P 15 -31
..*..*....*..*
***..******..***
..*..*....*..*
#P 15 -23
..*..*....*..*
***..******..***
..*..*....*..*
#P 15 -15
..*..*....*..*
***..******..***
..*..*....*..*
#P 15 -10
.*
*.*
.*
#P -57 13
**.*......**.*
*.**......*.**
....**........**
....*.........*
.....*.........*
....**........**
**.*......**.*
*.**......*.**
....**..**
....*...*
.....*...*
....**..**
**.*......**.*
*.**......*.**
#P -31 8
........**
........*
*.**.**.*
**.*.*.*
......*
#P -33 16
*
***
...*
..*.*
..**
.
..**
..*
...*
..**
#P -25 23
...*
..*.*.*.**
.*.**.**.*
.*
**
#P -18 10
.**
.*
..*
.**
.
.**
*.*
.*
..***
....*
#P -23 16
***
*.*
*.*
#P -4 11
..***
..***
***..**
.....**
....***
....*
....*
#P 13 3
....*
....*
....***
.....**
***..**
..***
..***
#P 21 20
..*
..*
***
**
**..***
..***
..***
#P 4 28
..***
..***
**..***
**
***
..*
..*
#P -1 20
**
**
#P 9 6
**
**
#P 23 16
**
**
#P 13 30
**
**
#P 3 18
.*
*.*
*..*
.**
#P 9 10
.**
*..*
*.*
.*
#P 17 16
.**
*..*
.*.*
..*
#P 12 25
.**
*..*
*.*
.*
#P 6 13
*
*
*
#P 15 13
***
#P 17 22
*
*
*
#P 6 24
***
#P 12 17
***
*.*
*.*
#P -33 36
...........**
......**.*....*.**
......*..........*
.......**......**
....***..******..***
....*..*........*..*
.**.*.*..........*.*.**
.*.*.*............*.*.*
...*................*
.*..*..............*..*
....*.......***....*
*...*.......*.*....*...*
*...*.......*.*....*...*
....*..............*
.*..*..............*..*
...*................*
.*.*.*............*.*.*
.**.*.*..........*.*.**
....*..*........*..*
....***..******..***
.......**......**
......*..........*
......**.*....*.**
...........**
#P -3 51
*
***
...*
..*.*
..**
.
..**
..*
...*
..**
#P -1 43
........**
........*
*.**.**.*
**.*.*.*
......*
#P 10 47
***
#P 12 50
.**
*..*
.*.*
..*
#P 16 55
***
#P 5 58
...*
..*.*.*.**
.*.**.**.*
.*
**
#P 7 51
***
*.*
*.*
#P 14 40
........**
........*
*.**.**.*
**.*.*.*
......*
#P 27 42
.**
.*
..*
.**
.
.**
*.*
.*
..***
....*
#P 20 55
...*
..*.*.*.**
.*.**.**.*
.*
**
#P 22 48
***
*.*
*.*
#P -57 83
**.*......**.*
*.**......*.**
....**..**
....*...*
.....*...*
....**..**
**.*......**.*
*.**......*.**
....**..**....**
....*...*.....*
.....*...*.....*
....**..**....**
**.*......**.*
*.**......*.**
#P -32 77
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -27 78
....**
..*
.*
*
*
*
.*
..*
....**
#P -20 79
*
.*
..*
..*
..*
.*
*
#P -16 77
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -33 92
**
.*
.*.*
..**
.
.
.
..**
.*.*
.*
**
#P -28 93
....**
..*
.*
*
*
*
.*
..*
....**
#P -21 94
*
.*
..*
..*
..*
.*
*
#P -17 92
..**
..*
*.*
**
.
.
.
**
*.*
..*
..**
#P -23 88
..*
*..*
*..*
.*
#P 5 89
..*
**.**
..*
#P 20 88
..*
**.**
..*
#P -4 81
**.......**
*..**.**..*
.**.*.*.**
..*.....*
..*.***.*
...*...*
.
...*...*
...*...*
.
....***
#P 3 94
.*.*
*
.*..*
.*.*.*
..*..*
...**
#P 21 80
.**
*..*
*.*.*
.*..*
.....*
..*.*
#P 23 88
....***
.
...*...*
...*...*
.
...*...*
..*.***.*
..*.....*
.**.*.*.**
*..**.**..*
**.......**
#P 51 -100
**...**....**.*
**...**....*.**
.........**....**
**...**..*.....*
*.*.*.*...*.....*
..*.*....**....**
.**.*....*.....*
.....**...*.....*
......*..**....**
.....*...*.....*
.....**...*.....*
......*..**....**
.....*.....**.*
.....**....*.**
#P 76 -105
.**
*..*
*
*
*.**
..**
.
.
.**
.**
#P 98 -105
.**
.**
.
.
..**
*.**
*
*
*..*
.**
#P 90 -97
..**
.*..*
.*..*
**.**
.**
#P 82 -91
.*
*.*
.*
#P 93 -91
.*
*.*
.*
#P 85 -89
...**
.*....*
.*....*
.*....*
..*..*
*.*..*.*
**....**
#P 74 -68
**
**.*
....*
.*
..*.**
....**
#P 73 -57
....***
.......*
...*...*
..*.*..*
*..*.*
*...*
*
.***
#P 101 -68
....**
..*.**
.*
....*
**.*
**
#P 100 -57
.***
*
*...*
*..*.*
..*.*..*
...*...*
.......*
....***
#P 87 -70
**...**
*.*.*.*
..*.*
.**.**
#P 86 -63
***...***
*.*...*.*
***...***
#P 87 -52
.**.**
..*.*
*.*.*.*
**...**
#P 126 -106
......**
.
.....*...*
....*....*
...*.*.*
..*.*.*
*....*
*...*
.
..**
#P 118 -97
....*
..**.*
.*
*.*..*
*..*
.**
#P 126 -95
.*
.*
*.*
.*
.*
#P 122 -74
.**
*..*
...*
...*
**.*
**
.
.
.**
.**
#P 127 -80
.*
.*
*.*
.*
.*
#P 133 -80
.*
.*
*.*
.*
.*
#P 137 -91
.**
.**
.
.
..**
*.**
*
*
*..*
.**
#P 134 -65
.*
.*
*.*
.*
.*
#P 127 -59
......**
.
.....*...*
....*....*
...*.*.*
..*.*.*
*....*
*...*
.
..**
#P 139 -64
...**
..*..*
*..*.*
....*
*.**
.*
#P 52 -24
**...**..**...**
**...**..**...**
.
**...**..**...**
*.*.*.*..*.*.*.*
..*.*......*.*
.**.*.....**.*
.....**.......**
......*........*
.....*........*
.....**.......**
......*........*
.....*........*
.....**.......**
#P 76 -25
.**
*.*
*.*.**
.*.*.*
...*
..*..*
..*
..*...*
..*...*
..*
..*..*
...*
.*.*.*
*.*.**
*.*
.**
#P 85 -23
**
**
#P 93 -32
**
**
#P 93 -3
**
**
#P 92 -19
..**
.*.*
**
.*.*
..**
#P 101 -32
**
**
#P 101 -3
**
**
#P 100 -19
**
*.*
..**
*.*
**
#P 109 -23
**
**
#P 113 -25
....**
....*.*
.**.*.*
.*.*.*
...*
.*..*
....*
*...*
*...*
....*
.*..*
...*
.*.*.*
.**.*.*
....*.*
....**
#P 128 -35
.***
*
*...*
*..*.*
..*.*..*
...*...*
.......*
....***
#P 141 -34
....**
..*.**
.*
....*
**.*
**
#P 127 -21
**
*..*
.***
.
.***
*..*
**
#P 139 -22
***
*.*
***
.
.
.
***
*.*
***
#P 145 -21
..**
*..*
***
.
***
*..*
..**
#P 128 -8
....***
.......*
...*...*
..*.*..*
*..*.*
*...*
*
.***
#P 141 -7
**
**.*
....*
.*
..*.**
....**
#P 52 18
**...**....**.*
**...**....*.**
.........**
**...**..*
*.*.*.*...*
..*.*....**
.**.*......**.*
.....**....*.**
......*..**....**
.....*...*.....*
.....**...*.....*
......*..**....**
.....*.....**.*
.....**....*.**
#P 77 28
**
**
#P 86 20
.**
*.*
*
***
.
.
.
***
*
*.*
.**
#P 97 19
....*
.**...*
.**.*.**
*......**
.**.*.**
.**...*
....*
#P 104 28
**
**
#P 55 49
**...**..*.**
**...**..**.*
.............**
**...**.......*
*.*.*.*......*
..*.*........**
.**.*......**
.....**.....*
......*....*
.....*.....**
.....**..**
......*...*
.....*...*
.....**..**
#P 78 51
.*
*.*
.*
.
.
.
.
.
.*
*.*
.*
#P 88 51
.*
*
*
*
.*
.
.*
*
*
*
.*
#P 96 51
*
.*
.*
.*
*
.
*
.*
.*
.*
*
#P 105 51
.*
*.*
.*
.
.
.
.
.
.*
*.*
.*
#P 87 41
...*
.***
*
**
#P 95 41
*
***
...*
..**
#P 84 47
***
#P 92 48
**
**
#P 99 47
***
#P 84 65
***
#P 92 63
**
**
#P 87 68
**
*
.***
...*
#P 95 68
..**
...*
***
*
#P 99 65
***
#P 56 83
..*.**......**.*
..**.*......*.**
**........**....**
.*........*.....*
*..........*.....*
**........**....**
..*.**....*.....*
..**.*.....*.....*
......**..**....**
.......*..*.....*
......*....*.....*
......**..**....**
..*.**......**.*
..**.*......*.**
#P 81 83
**
*..***
.**
......*
......*
.**
*..***
**
#P 86 93
.*..*
*.**.*
.*..*
.*..*
*.**.*
.*..*
#P 89 87
..*
**.**
..*
#P 104 86
..*
**.**
..*
#P 113 87
..*
**.**
..*
#P 130 77
.*..*
*.**.*
.*..*
.*..*
*.**.*
.*..*
#P 128 86
..*
**.**
..*
#P 134 85
.....**
.***..*
....**
*
*
....**
.***..*
.....**
/programs/demos/life2/lif/OSCSPN3.lif
0,0 → 1,1076
#Life 1.05
#D Periods 52-144 oscillators
#N
#P -142 -101
..*.**......**.*
..**.*......*.**
**..............**
.*..............*
*................*
**..............**
..*.**......**.*
..**.*......*.**
......**..**
.......*..*
......*....*
......**..**
..*.**......**.*
..**.*......*.**
#P -116 -103
..............*
............***
**.........*
.*.........**
.*.*
..**
.
.......*
.......*.*
......*
.......*
........**...**
.............*.*
....**.........*
.....*.........**
..***
..*
#P -141 -75
..*.**....**...**
..**.*....**...**
**
.*........**...**
*.........*.*.*.*
**..........*.*
..*.**.....**.*
..**.*.........**
......**........*
.......*.......*
......*........**
......**........*
..*.**.........*
..**.*.........**
#P -116 -76
**.........................**
.*.........................*
.*.*.............*.......*.*
..**......*.....*..*.....**
.........**.....*
........**..........*
.........**....**...*
...............*****
.
...............*****
.........**....**...*
........**..........*
.........**.....*
..**......*.....*..*.....**
.*.*.............*.......*.*
.*.........................*
**.........................**
#P -142 -38
..*.**......*.**
..**.*......**.*
**........**
.*.........*
*.........*
**........**
..*.**......*.**
..**.*......**.*
......**........**
.......*.........*
......*.........*
......**........**
..*.**......*.**
..**.*......**.*
#P -116 -44
........*
.......*.*
........*
.............*
......*****..***
.....*....*.....*
....*..*.......**
.*..*.**
*.*.*.....*
.*..*....*.*
....**..*..*......*
.........**......***
.
.
.
.........**
....**..*..*
.*..*....*.*
*.*.*.....*
.*..*.**
....*..*
.....*....*...**
......*****....*
.............*.*.*
........*...*.*.**
.......*.*..*.*
........*....**
#P -93 -44
...........*
..........*.*
...........*
......*
....***..*****
...*.....*....*
...**.......*..*
............**.*..*
.........*.....*.*.*
........*.*....*..*
.*......*..*..**
***......**
.
.
.
.........**
........*..*..**
........*.*....*..*
.........*.....*.*.*
............**.*..*
............*..*
....**...*....*
....*....*****
..*.*.*
..**.*.*...*
.....*.*..*.*
.....**....*
#P -143 8
..*.**......**.*
..**.*......*.**
**........**
.*........*
*..........*
**........**
..*.**......**.*
..**.*......*.**
......**..**....**
.......*..*.....*
......*....*.....*
......**..**....**
..*.**......**.*
..**.*......*.**
#P -117 13
...*..*
.......*
........**
..*.**......*
..*..*...*
.*...*.***
*...........*
...***.*...*
...*...*..*
*......**.*
...**
.....*
......*..*
#P -103 8
**
**
#P -93 13
**.*
*...*
.***
#P -91 19
**
**
#P -86 5
.**.**.*
**..**.**
........*
**
**.....**
.......**
*
**.**..**
.*.**.**
#P -115 34
...................**....**
...**....**.......*..*..*..*
..*..*..*..*....*..*.*..*.*.*
.*.*.*..*.*..*......*....*..*
.*..*....*......*.**.........*
*.........**.*...*........*.*
.*.*........*
.......................*.*
....*.*...............*..*
....*..*...............*.*
....*.*
...............*
..............**
..............**.......*.*
....*.*.......*.......*..*
....*..*...............*.*
....*.*
.................*........*.*
.*.*........*...*.**.........*
*.........**.*......*....*..*
.*..*....*......*..*.*..*.*.*
.*.*.*..*.*..*....*..*..*..*
..*..*..*..*.......**....**
...**....**
#P -142 81
..**.*......**.*
..*.**......*.**
**........**....**
*.........*.....*
.*.........*.....*
**........**....**
..**.*....*.....*
..*.**.....*.....*
**....**..**....**
*.....*...*.....*
.*.....*...*.....*
**....**..**....**
..**.*......**.*
..*.**......*.**
#P -116 76
.......*.....*
.......**...**
.......**...**
........*...*
.
.
......................*
....................*..*
....................*..*
.*........*.....*....*
*..*.....**.....**
*..*......*.....*....*
..*.................*..*
....................*..*
..*...................*
*..*
*..*
.*
.
.
...........*...*
..........**...**
..........**...**
..........*.....*
#P -82 77
.....**
...*....*
..*......*
.*........*
.*........*
.*........*
..*......*
...*....*
.....**
.
.......*
.....*..*
.....*..*
......*
.
....**
..*....*
.*......*
*........*
*........*
*........*
.*......*
..*....*
....**
#P -61 69
...**
...**
.
.
.
.
.
..***
.**.**
.**.**
.*****
**...**
.
.
.
.
.
.
.
.***
.
.
.
.
.
.
.
**...**
.*****
.**.**
.**.**
..***
.
.
.
.
.
..**
..**
#P -40 -98
*.**......**.*
**.*......*.**
....**........**
.....*........*
....*..........*
....**........**
..**......**.*
...*......*.**
..*.....**
..**....*
**.......*
.*......**
*.........**.*
**........*.**
#P -16 -93
.......**
.......**
.
.
......*.*
.....*
**..*....*
**.*..*.**
....**
#P 4 -93
.**
.**
.
.
.
....**
**.*..*.**
**..*....*
.....*
......*.*
#P 1 -98
.*
*.**
*.**
.**
#P -40 -58
..**.*......**.*
..*.**......*.**
**....**..**....**
*.....*...*.....*
.*.....*...*.....*
**....**..**....**
..**.*......**.*
..*.**......*.**
**....**..**....**
*.....*...*.....*
.*.....*...*.....*
**....**..**....**
..**.*......**.*
..*.**......*.**
#P -11 -65
...................*
.................***
................*
................**
**...................**
.*...................*
.*.*...............*.*
..**...............**
.
.............***
.............*.*
.............*.*
.
.
.
.
.
......**...............**
.....*.*..........*....*.*
.....*............*......*
....**...................**
.........**
..........*
.......***
.......*
#P -39 -20
**....**.*......**.*
.*....*.**......*.**
*...**....**..**....**
**..*.....*...*.....*
.....*.....*...*.....*
**..**....**..**....**
.*..*.....*...*.....*
*....*.....*...*.....*
**..**....**..**....**
....*.....*...*.....*
**...*.....*...*.....*
.*..**....**..**....**
*.....**.*......**.*
**....*.**......*.**
#P 11 -21
**....**
*.*..*.*
..****
*..**..*
*..**..*
..*..*
#P 21 -15
**
***
**.*
..*.*
.*..*
..**
#P 32 0
.**.**
.....*
*..**
.***
.***
*..**
.....*
.**.**
#P 26 9
..*.*
.....*
.*..*
*.*.*
*..*
.**
#P 9 21
..*..*
*..**..*
*..**..*
..****
*.*..*.*
**....**
#P 2 15
.**
*..*
*.*.*
.*.***
...***
#P -10 -2
**.**
*
.**..*
..***
..***
.**..*
*
**.**
#P -4 -9
...**
..*..*
*..*.*
....*
*.**
.*
#P -1 -4
....*
....*
....*
.
***...***
.
....*
....*
....*
#P 13 -11
..***
.
*.....*
*.....*
*.....*
.
..***
#P 20 1
....*
....*
....*
.
***...***
.
....*
....*
....*
#P 10 12
.*
.*
*.*
#P 8 -3
....*
....*
....*
.
***...***
.
....*
....*
....*
#P -8 33
**
.*
.*.*
..**
.
.
.
.
.
.
.
.
.
..**
.*.*
.*
**
#P 2 36
..*
.**
**
.**..**
.
.
.
.**..**
**
.**
..*
#P 17 35
**
**
.
.
.
.
.
.
.
.
.
**
**
#P 31 36
**
*.*
..*
***
.
.
.
***
..*
*.*
**
#P 40 33
..**
..*
*.*
**
.
.
.
.
.
.
.
.
.
**
*.*
..*
..**
#P -38 79
**....**.*......**.*
.*....*.**......*.**
*...**....**..**....**
**..*.....*...*.....*
.....*.....*...*.....*
**..**....**..**....**
.*..*.....*.....**.*
*....*.....*....*.**
**..**....**..**....**
....*.....*...*.....*
**...*.....*...*.....*
.*..**....**..**....**
*.....**.*......**.*
**....*.**......*.**
#P 6 84
..*
*..*
*..*
.*
#P -7 68
**
.*
.*.*
..**
.
.
.
.
.
.
.
.
.
..**
.*.*
.*
**
#P 2 70
....**
..*....***
**......***
*........*.*
*........*.*
.*...******
.
.*...******
*........*.*
*........*.*
**......***
..*....***
....**
#P 18 68
..**
..*
*.*
**
.
.
.
.
.
.
.
.
.
**
*.*
..*
..**
#P -8 87
**
.*
.*.*
..**
.
.
.
.
.
.
.
.
.
..**
.*.*
.*
**
#P 1 89
....**
..*....***
**......***
*........*.*
*........*.*
.*...******
.
.*...******
*........*.*
*........*.*
**......***
..*....***
....**
#P 16 87
...**
...*
.*.*
.**
.
.
.
**
.
**
.
.
.
.**
.*.*
...*
...**
#P 62 -99
**....**.*.....**...**
.*....*.**.....**...**
*.........**
**........*....**...**
...........*...*.*.*.*
**........**.....*.*
.*....**.*......**.*
*.....*.**..........**
**..**...............*
....*...............*
**...*..............**
.*..**...............*
*.....**.*..........*
**....*.**..........**
#P 93 -100
......**
.....*.*
.....*
*.**.**....**
**.*..*...*.*
.....*....**
.......**.*
....*..*...**
....*..***..*
......**....*
....*..***..*
....*..*...**
.......**.*
.....*....**
**.*..*...*.*
*.**.**....**
.....*
.....*.*
......**
#P 107 -104
..*
*.*
.*.*
.*
#P 113 -108
**
**
#P 119 -105
..**
..*
*.*
**
#P 126 -96
.......**
.......*.*
.........*
..**....**.**.*
..*.*.....**.**
....*....*
..*...*..*
....*.*.**
....*....*
*..*....***
....*....*
....*.*.**
..*...*..*
....*....*
..*.*.....**.**
..**....**.**.*
.........*
.......*.*
.......**
#P 123 -77
..*
*.*
.*.*
.*
#P 119 -71
**
**
#P 111 -76
..**
.*.*
.*
**
#P 112 -96
.**
*..*
.*.*
...*
#P 62 -37
**....**.*......**.*
.*....*.**......*.**
*.........**..**....**
**........*...*.....*
...........*...*.....*
**........**..**....**
.*....**.*......**.*
*.....*.**......*.**
**..**........**....**
....*.........*.....*
**...*.........*.....*
.*..**........**....**
*.....**.*......**.*
**....*.**......*.**
#P 92 -43
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
#P 108 -57
.*.**.**
**.**..**
*
.......**
**.....**
**
........*
**..**.**
.**.**.*
#P 128 -62
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P 141 -46
.*.**.**
**.**..**
*
.......**
**.....**
**
........*
**..**.**
.**.**.*
#P 140 -31
**
**
#P 147 -26
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
#P 130 -13
.*.**.**
**.**..**
*
.......**
**.....**
**
........*
**..**.**
.**.**.*
#P 111 -7
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P 97 -24
.*.**.**
**.**..**
*
.......**
**.....**
**
........*
**..**.**
.**.**.*
#P 105 -32
**
**
#P 104 -44
.**
***
.**
..*
...**
....*
#P 114 -43
...*.**
...*...*.*
**.......*
.*.....*.*
*.**.*
#P 138 -23
*
**
..*
..**
..***
..**
#P 123 -23
....*.**.*
*.*.....*
*.......**
*.*...*
...**.*
#P 62 18
**....**...**..**...**
.*....**...**..**...**
*
**....**...**..**...**
......*.*.*.*..*.*.*.*
**......*.*......*.*
.*.....**.*.....**.*
*..........**.......**
**..........*........*
...........*........*
**.........**.......**
.*..........*........*
*..........*........*
**.........**.......**
#P 97 17
**
**
#P 114 19
.**
*..*
.**
#P 123 17
**
**
#P 123 34
**
**
#P 104 31
.**
*..*
.**
#P 97 34
**
**
#P 109 23
.***
.*.*
.***
.**
***
*.*
***
#P 62 61
**....**.*......**.*
.*....*.**......*.**
*...**........**....**
**..*.........*.....*
.....*.........*.....*
**..**........**....**
.*....**.*......**.*
*.....*.**......*.**
**..**....**..**....**
....*.....*...*.....*
**...*.....*...*.....*
.*..**....**..**....**
*.....**.*......**.*
**....*.**......*.**
#P 99 52
.......**....**....**
......*..*.*....*.*..*
......***..........***
.........**......**
........*..******..*
........**........**
.
.*
*...***......*.........*
.*.*****..........***...*
.....*...*.....*.*****.*
.....**....***.....*
.....**....***....**
............*.....**
#P 130 59
**
**
#P 137 59
.....*
....*.*
.
....*
....**
.*****
.**.**.....**
....*......*.*
........**.*.*
........*.*.*
..........*
..*.*...*..*
..*..*.....*
..*.*..*...*
.......*...*
...........*
........*..*
...*......*
**.**...*.*.*
*****...**.*.*
...**......*.*
...*.......**
.
...*.*
....*
#P 142 90
**
**
#P 119 97
.....**.....*
.....**....***....**
.....*.....***....**
.*.*****.*.....*...*
*...***..........*****.*
.*.........*......***...*
.......................*
.
.....**........**
.....*..******..*
......**......**
...***..........***
...*..*.*....*.*..*
....**....**....**
#P 111 102
**
**
#P 92 79
.........*
........*.*
.
.**.......*
*.*......**
*.*.**...*****
.*.*.*...**.**
...*......*
..*..*
..*
..*...*
..*...*..*.*
..*.....*..*
..*..*...*.*
...*
.*.*.*
*.*.**
*.*......*
.**.....**.**
........*****
........**
.........*
.
.......*.*
........*
#P 99 71
**
**
#P 111 74
***
*.*
*.*
/programs/demos/life2/lif/P136.lif
0,0 → 1,1137
#Life 1.05
#D 12-barrelled p136 glider gun
#D
#D A 12-barrelled, period 136 glider gun, using 29 B-heptominoes moving
#D around a p3944 track consisting of 16 of David Buckingham's 64 gen
#D turns and 40 of his 73 gen turns. This is the smallest possible
#D period that can be obtained using Buckingham's turns. Any larger
#D multiple of 8 can also be obtained as a gun period.
#D dean@ucdmath.ucdavis.edu 11/23/91
#N
#P -58 -155
*
***
...*
..**
#P -61 -151
**
.*
.*.*
..**
#P -62 -142
.**
.*
.
.
..**
*.*
*
*
*..*
.**
#P -80 -133
.....****
**.......*
*...**...*
....*...*
#P -55 -131
..*
**.**
***.**
.*****
..***
...*
#P -48 -135
**
*
#P -36 -145
**
*
#P -30 -152
.....*
....***
...*.***
..*...*
.*...*
***.*
.***
..*
#P -94 -115
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P -91 -103
**
*
#P -87 -102
....*
*...*
.*..*
.**.**
..*.*
...*
#P -74 -110
**
*
#P -61 -110
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P -101 -83
..**
.*.*
.*
**
#P -97 -80
..**
...*
***
*
#P -88 -80
...*
....*
*....*..**
**.*..*.*
....**
#P -74 -79
**
*
#P -79 -67
..*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P -65 -73
...*
*..*
..***
..***
.*..*
.*.*
.***
#P -55 -83
....*
..*.**
.*
....*
**.*
.*
#P -31 -90
..**
.
*...*
*....*
..*.*.*
...*.*.*
....*....*
.....*...*
.
......**
#P -27 -103
..**
...*
***
*
#P -30 -107
..**
.*.*
.*
**
#P -32 -122
..**
.*.*
***
**
...**
..***
.
.
..**
..*
#P -24 -129
..***
.*...*
*
.
*...**
.***
#P -17 -121
**
*
#P -5 -111
**
*
#P 1 -110
.***
*
*...*
*..*.*
..*.*..*
...*...*
.......*
....***
#P 4 -155
*
***
...*
..**
#P 1 -151
**
.*
.*.*
..**
#P -1 -142
...*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P 8 -132
.*
****
****
.
.
****
.***
..*
#P 13 -135
**
*
#P 26 -148
.....*...*
....*...**..**
....*.......*
**...****
*
#P 39 -130
.***
*
*..*
.**
.**
*..*
...*
**
#P 54 -134
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P 26 -116
......**
.
.....*...*
....*....*
...*.*.*
..*.*.*
*....*
*...*
.
..**
#P 51 -114
**
*
#P 62 -116
....**
**.*..*.**
*....*..*
....*
...*
#P 2 -92
...*
.***
*
**
#P 5 -88
..**
..*
*.*
**
#P -18 -82
**
*
#P -8 -75
**
*
#P -4 -77
....*
....*
...***
....**
.**
*..*
.
....**
..*..*
..***
#P 6 -79
.**
.**
.**
.*
*.*
*.**
.
.
.**
.*
#P -25 -59
.**
.*
.
.
..**
*.*
*
*
*..*
.**
#P -34 -62
..*
.***
.*..*
...**
...*
**
****
.*..*
..*
#P -38 -57
**
*
#P -26 -44
**
*.*
..*
..**
#P -29 -40
**
*
.***
...*
#P -61 -48
......*
.....*
.*..*....*
**.*..*.**
....**
#P -49 -48
**
*
#P -58 -29
*
***
...*
..**
#P -61 -25
**
.*
.*.*
..**
#P -63 -16
...*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P -80 -8
......*
.....*
.*..*....*
**.*..*.**
....**
#P -47 -18
..**
**.*
*
*.*
.**
#P -36 -19
**
*
#P -31 -27
......*
......**
.....**.*
....*..***
...*.*.*
..*.*.*
***..*
.*.**
..**
...*
#P 0 -48
......*
......**
.....**.*
....*..***
...*.*.*
..*.*.*
***..*
.*.**
..**
...*
#P -78 11
..*
.**
**
.*..*
..**
#P -95 11
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
..*
#P -112 25
.....****
**.......*
*...**...*
....*...*
#P -92 30
**
*
#P -109 39
.**...*
.**..**
**......*
.*.......*
.**.**.**
.**...*
#P -126 43
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P -123 55
**
*
#P -113 68
**
*
#P -133 75
..**
.*.*
.*
**
#P -129 78
..**
...*
***
*
#P -120 78
...*
....*
*....*..**
**.*..*.*
....**
#P -110 70
..**.**
..*....**
**
**.*....*
**.*..**
...*..*
#P -93 48
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P -111 91
..*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P -88 93
**
*
#P -87 75
....*
..*.**
.*
....*
**.*
.*
#P -63 68
..**
.
*...*
*....*
..*.*.*
...*.*.*
....*....*
.....*...*
.
......**
#P -61 16
.***
*
*...*
*..*.*
..*.*..*
...*...*
.......*
....***
#P -36 10
......**
.
.....*...*
....*....*
...*.*.*
..*.*.*
*....*
*...*
.
..**
#P -20 11
......**
........**
...*.....*
.........*
***.*
*..*.*
**.*.*.**
.
..***
#P 2 6
.....*
.
...***.*
..*.**
..**.*
*.***
.
..*
#P 33 -15
.....*
....***
...*.***
..*...*
.*...*
***.*
.***
..*
#P 20 -47
**
*
#P 29 -43
**.*
*..*
.***
#P 33 -48
**
*
#P 38 -52
....***
.......*
...*...*
..*.*..*
*..*.*
*...*
*
.***
#P 60 -82
....*
..*.**
.*
....*
**.*
.*
#P 68 -99
.**
*.*
*
*.*
...*
.*.*
...*
....*
#P 85 -102
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
..*
#P 94 -84
.....****
**.......*
*...**...*
....*...*
#P 83 -82
**
*
#P 97 -71
....*
...***
..**..*
...**.*
**.**
.*.....*
.*....*
..*..*
...*
#P 118 -70
.**
.*
.
.
.*
**.*
...*
...*
*..*
.**
#P 91 -51
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
#P 70 -20
.....*
....*.*
...*...*
..*...*
.*...*
*...*
.*.*
..*
#P 69 -8
**
*
#P 60 -24
..*
.***
**.*
#P 62 -19
.*.**
.*
....*
*...*
*..*
***
#P 52 -15
**
*
#P 39 8
...***
..*..*
.....*
.*
.*..*
.***
**
.**.*
..***
...*
#P 29 12
***
***
***
...***
...***
...***
#P 1 36
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P 2 51
..**
.*.*
.*
**
#P 5 55
..**
...*
***
*
#P 10 41
....*
....*
..*
.***...*
*...*.**
.*****
..***
#P 20 48
**
*
#P 27 47
**
*
#P 34 49
.*
**.*
....*
.*
..*.**
....*
#P -30 66
...*
.***
*
**
#P -27 70
..**
..*
*.*
**
#P -26 79
.**
.**
.**
.*
*.*
*.**
.
.
.**
.*
#P -26 93
**
*
#P -50 76
**
*
#P -46 81
*
*.*
...**
..*
#P -57 93
**
*
#P -57 99
.**
.*
.
.
..**
*.*
*
*
*..*
.**
#P -76 103
..*
***
*.*
*
#P -81 110
**
*
#P -93 110
......*
.....*
.*..*....*
**.*..*.**
....**
#P -61 118
**
*
.***
...*
#P -58 114
**
*.*
..*
..**
#P -32 110
......*
......**
.....**.*
....*..***
...*.*.*
..*.*.*
***..*
.*.**
..**
...*
#P -18 103
....*.*
......*
*...*.*
*.**
#P -18 123
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
..*
#P 6 106
....***
.......*
...*...*
..*.*..*
*..*.*
*...*
*
.***
#P 6 125
**
*
#P 1 143
....**
**.*..*.**
*....*..*
....*
...*
#P 13 142
**
*
#P 5 138
**
*
#P 7 134
.*.*..**
*...*.***
.*......**
..*****.*
....****
.....*
#P 33 150
**
*
.***
...*
#P 36 146
**
*.*
..*
..**
#P 37 131
.**
*..*
...*
...*
.*.*
**
.
.
.**
.*
#P 37 125
**
*
#P 49 128
.*...*
*...**..**
*.......*
.****
#P 39 112
....*
....***
...*...*
***....*
***.*.**
**...*
#P 36 112
**
*
#P 32 101
..*
.*.*
*...*
.*...*
..*...*
...*...*
....*.*
.....*
#P 69 104
.**
.*
.
.
.*
**.*
...*
...*
*..*
.**
#P 69 93
**
*
#P 57 82
..***
.**
**..*
.*
..**
#P 63 83
*
*
.*
*
*
#P 81 95
......*
.....*
.*..*....*
**.*..*.**
....**
#P 65 78
...**
.....*
.*...*
....**
*..*..***
...***..*
.*......*
..**..**
....**
#P 65 70
.*
**.*
....*
.*
..*.**
....*
#P 100 72
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
..*
#P 113 64
.....****
**.......*
*...**...*
....*...*
#P 101 61
**
*
#P 94 48
....*
...*.*
......*
.***..*
**...**
.**.**
..**.**
...*..*
...*..*
.....**
#P 95 36
..**
.
*...*
*....*
..*.*.*
...*.*.*
....*....*
.....*...*
.
......**
#P 52 16
**
*
#P 58 16
.....*
***.**..**
****....*
....**
#P 73 15
**
*
.***
...*
#P 77 12
**
*.*
..*
..**
#P 88 -17
**
.*
.*.*
..**
#P 92 -20
*
***
...*
..**
#P 101 -22
......**
......***
**..*..*.*
*...**..**
....**
#P 97 -10
....*
...***
..*..**
.**
**.***
**..*
...***
.**
.**
#P 98 5
**
*
#P 91 11
....***
.......*
...*...*
..*.*..*
*..*.*
*...*
*
.***
#P 132 36
**
*
#P 133 40
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P 128 21
.***
*..*
**..**
*.....*
.***
.....**
.***..*
..*..*
....**
#P 136 11
...*
.***
*
**
#P 140 14
..**
..*
*.*
**
#P 121 9
...*
....*
*....*..**
**.*..*.*
....**
#P 133 -20
..*
.***
***.*
.*...*
..*...*
...*.***
....***
.....*
#P 132 -26
**
*
#P 128 -40
.***
.*..*
*...*
.....*
.***.**
.....*
*...**
....*
#P 121 -52
.****
*.......**
*...**..*
.*..*
#P 136 -51
...*
.***
*
**
#P 140 -48
..**
..*
*.*
**
/programs/demos/life2/lif/P94S.lif
0,0 → 1,1608
#Life 1.05
#D Period 94 gun(s)
#D
#D By Dean Hickerson.
#D This was the first gun to take advantage
#D of the AK47 reaction. It was also the
#D smallest for many years.
#N
#P -303 -3
..**
...*
***
*
#P -301 -8
.**
*..*
.**
#P -292 -13
.**
**.***
.*****
..***
#P -283 -30
**
.**
*
#P -264 -7
*****
*....*
*
.*...*
...*
#P -245 -14
..***
.*****
**.***
.**
#P -265 -32
..**
...*
***
*
#P -259 -30
..**
...*
***
*
#P -261 -51
**
**
#P -255 -51
...*
.***
*
**
#P -249 -54
**
*.*
*
#P -258 -44
...*
.****
.**..*
*...*
.***
.***
#P -255 -38
.......**
.....*
..*..*..*
.***...*
*.*****
....**
...*
...*
#P -251 -28
**
**
#P -238 -26
**
**
#P -240 -35
***
*.*
*..*
.*.*
.***
#P -236 -40
...*
..**
.*..*
***
.*..*
..**
#P -232 -28
**
*
.***
...*
#P -229 -34
*
.**
**
#P -236 -49
*
***
...*
..**
#P -238 -59
.*
.**
*.*
#P -228 -49
**
**
#P -217 -32
**
**
#P -217 -9
...*
.*...*
*
*....*
*****
#P -206 -10
*.*
.**
.*
#P -198 -13
.**
**.***
.*****
..***
#P -211 -34
**
*
.***
...*
#P -216 -48
.*
**
*.*
#P -215 -55
*
***
...*
..**
#P -212 -45
.**
..*
**.*
**.*
.**
#P -207 -48
***
*..*
.***
#P -207 -55
**
**
#P -197 -29
.*
..*
***
#P -199 -39
..**
...*
***
*
#P -197 -51
.***
*..*
***
#P -195 -58
**
**
#P -189 -58
...*
.***
*
**
#P -192 -48
.**
.*
*.**
*.**
.**
#P -193 -37
..**
...*
***
*
#P -187 -51
.*
.**
*.*
#P -183 -56
...*
.***
*
**
#P -185 -35
**
**
#P -177 -57
*
***
...*
..*
..*
#P -173 -53
.*
..*
*
#P -171 -59
*
***
...*
..**
#P -173 -36
**
**
#P -167 -38
**
*
.***
...*
#P -163 -28
*.*
**
.*
#P -163 -59
**
**
#P -164 -54
.***
*...*
**.**
*....*
.**.**
.....*
**.**
***
*
#P -169 -46
..*.*
**.**
...**
#P -161 -40
**
*
.***
...*
#P -151 -56
**
**
#P -154 -51
..***
.*...*
.**.**
*....*
**.**
*
.**.**
...***
.....*
#P -148 -43
*.*
**.**
**
#P -149 -35
..**
...*
***
*
#P -145 -56
...*
.***
*
**
#P -142 -50
.**
*.*
..*
#P -141 -33
**
**
#P -170 -7
*****
*....*
*
.*...*
...*
#P -176 6
**
**
#P -182 13
.**
...*
*.*
.*.*
#P -174 27
..**
...*
***
*
#P -170 17
...*
..*.*
.....*
....**
.**.*
*..*
*.*
.*
#P -170 6
...*
.***
*
**
#P -164 8
...*
.***
*
**
#P -166 29
**
**
#P -156 17
.**
*
#P -160 3
.*
**
*.*
#P -151 4
*
***
...*
..**
#P -143 4
**
**
#P -151 18
..*
.***
*...*
.**.*
..**
#P -153 27
**
**
#P -147 25
**
*
.***
...*
#P -143 13
***...***
#P -139 9
*
*
*
.
.
.
*
*
*
#P -131 17
.*
**
*.*
#P -123 -9
...*
.*...*
*
*....*
*****
#P -125 38
.*
..*
***
#P -132 -52
*
***
...*
..**
#P -128 -31
**
**
#P -126 -54
*
***
...*
..**
#P -126 -43
..***
.*...*
*.....*
*
*.**...*
...*
....*.*
#P -122 -33
**
*
.***
...*
#P -121 -46
.**
*
.**
#P -117 -47
*.*
...*
...*
*..*
..*
#P -118 -54
**
**
#P -116 -35
**
*
.***
...*
#P -111 -44
*
*
*
#P -109 -46
***
#P -109 -40
***
#P -105 -44
*
*
*
#P -109 -33
..**
...*
***
*
#P -105 -52
**
**
#P -103 -31
..**
...*
***
*
#P -99 -42
...*
..**
.*..*
...*
.....**
*.....*
*....*
*.***
.**
#P -99 -52
...*
.***
*
**
#P -95 -29
**
**
#P -91 -51
.**
*.*
..*
#P -87 -47
*
***
...*
..**
#P -83 -26
**
**
#P -84 -39
...*
...**
..*..*
...*
**
*.....*
.*....*
..***.*
....**
#P -77 -28
**
*
.***
...*
#P -81 -49
*
***
...*
..**
#P -76 -7
*****
*....*
*
.*...*
...*
#P -73 -49
**
**
#P -72 -43
..***
.
*
*
*
.
..***
#P -66 -46
.***
.
*
*
#P -67 -40
*.***
*
#P -61 -44
*
*
*
#P -65 -33
..**
...*
***
*
#P -61 -52
**
**
#P -59 -31
..**
...*
***
*
#P -55 -42
...*
..**
.*..*
...*
.....**
*.....*
*....*
*.***
.**
#P -55 -52
...*
.***
*
**
#P -51 -29
**
**
#P -49 -50
...*
.***
*
**
#P -57 -16
*.*
.**
.*
#P -41 -40
**
**
*.*
#P -39 -30
**
**
#P -36 -38
.**
**.*
.*.*
..*
#P -33 -32
**
*
.***
...*
#P -43 -51
*
***
...*
..**
#P -37 -53
*
***
...*
..**
#P -29 -53
**
**
#P -29 -45
.*
**
#P -26 -48
.*
*.*
*.**
**
#P -22 -40
..**
**.*
.*.*
..*
#P -17 -41
**
*
#P -27 -34
**
*
.***
...*
#P -35 -16
*
*.*
**
#P -15 -29
..**
...*
***
*
#P -12 -35
.**
*.**
*.*
.*
#P -17 -50
**
**
#P -11 -50
...*
.***
*
**
#P -6 -37
.**
.**
*.*
#P -7 -27
**
**
#P -1 -50
**
.*.***
*.**
....*
#P 7 -41
..*
.*
**
*...**
.**
.*****
#P 6 -29
**
**
#P 8 -52
*
***
...*
..**
#P 12 -31
**
*
.***
...*
#P 16 -52
**
**
#P 18 -44
..*
**.**
..*
#P 23 -47
..*
**.**
..*
#P 24 -36
..**
...*
***
*
#P 28 -55
**
**
#P 30 -34
..**
...*
***
*
#P 33 -44
...*
....*
....**
**...*
...**
*****
#P 34 -55
...*
.***
*
**
#P 38 -32
**
**
#P 40 -53
...*
.***
*
**
#P 31 -21
*
.**
**
#P -108 41
.**
**
..*
#P -103 54
**
**
*.*
#P -101 64
**
**
#P -98 56
.**
**.*
.*.*
..*
#P -95 62
**
*
.***
...*
#P -99 41
*
***
...*
..**
#P -91 50
**
.*
#P -88 51
**
*.**
*.*
.*
#P -91 41
**
**
#P -84 43
..*
.*.*
**.*
..**
#P -79 46
*
**
#P -83 57
..**
...*
***
*
#P -79 38
**
**
#P -77 59
..**
...*
***
*
#P -74 53
.**
*.**
*.*
.*
#P -73 38
...*
.***
*
**
#P -69 61
**
**
#P -68 51
.**
.**
*.*
#P -63 38
**
.**
*
#P -74 75
..*
*.*
.**
#P -32 62
..**
.*.*
.*
**
#P -18 50
*
*.*
**
#P -46 36
*
*.*
**
#P -42 22
.**
.
**
.*
#P -40 14
**
**
#P -36 20
.*
*.*
*.*
**
#P -34 14
...*
.***
*
**
#P -32 3
**
*.*
*
#P -28 16
...*
.***
*
**
#P -29 26
..***
.
*
*
*
.
..***
#P -38 35
..**
...*
***
*
#P -30 37
**
**
#P -23 26
..*.*
..*..*
**..*
*
*
#P -17 35
**
**
#P -15 24
.*
.
*
*
#P -12 19
.*
*..*
*..**
.....*
**...*
....*
...*
..*
#P -15 12
*
***
...*
..**
#P -11 33
**
*
.***
...*
#P -4 31
*
.**
**
#P -7 12
**
**
#P 5 26
.*
*
***
#P 8 31
..**
...*
***
*
#P 6 10
**
**
#P 12 10
...*
.***
*
**
#P 11 18
..*
.**
*
**
#P 14 22
...***
..****
.**.*..*
.**..*.*
*..**
*.*.*.*
*.....*
..***
..***
#P 16 33
**
**
#P 25 26
*.*
*..*
*.*
#P 25 14
*
***
...*
..**
#P 31 12
*
***
...*
..**
#P 28 4
**
.**
*
#P 39 12
**
**
#P 44 20
..*
.*.*
*
.**
#P 42 31
*
.**
**
#P 35 33
**
*
.***
...*
#P 29 35
**
**
#P 31 24
.*
.
*
*
#P 34 19
.*
*..*
*..**
.....*
**...*
....*
...*
..*
#P 46 -52
*
***
...*
..**
#P 52 -54
*
***
...*
..**
#P 50 -31
**
**
#P 53 -43
..*
.*.*
*...*
*...*
*....*
.*..*
...**
#P 57 -49
..*
.*
.
.
****
#P 62 -48
*
*
.*
*
***
#P 60 -54
**
**
#P 56 -33
**
*
.***
...*
#P 62 -35
**
*
.***
...*
#P 58 -21
*
*.*
**
#P 66 -10
.***
*****
***.**
...**
#P 65 -77
*
***
...*
..**
#P 72 -51
**
**
#P 69 -46
.....*
..*...*
..*
.*
..*.****
***
#P 75 -40
...*
..*.*
.*...*
.*...*
*....*
.*..*
.**
#P 74 -30
..**
...*
***
*
#P 78 -51
...*
.***
*
**
#P 84 -49
...*
.***
*
**
#P 82 -28
**
**
#P 91 -50
.**
**
..*
#P 96 -54
*
***
...*
..**
#P 94 -31
**
**
#P 97 -43
..*
.*.*
*...*
*...*
*....*
.*..*
...**
#P 101 -49
..*
.*...*
.....*
......*
****.*
.....***
#P 104 -54
**
**
#P 100 -33
**
*
.***
...*
#P 106 -35
**
*
.***
...*
#P 113 -37
..**
...*
***
*
#P 115 -77
*
***
...*
..**
...***
....**
....*.*
#P 117 -56
**
**
#P 114 -51
..***
.*...*
.**.**
*....*
**.**
*
.**.**
...***
.....*
#P 120 -43
*.*
**.**
**
#P 123 -56
...*
.***
*
**
#P 126 -50
.*
*
..*
#P 129 -54
...*
.***
*
.*
.*
#P 119 -35
..**
...*
***
*
#P 127 -33
**
**
#P 113 -9
...**
***.**
*****
.***
#P 64 39
***
*
.*
#P 70 36
*
***
...*
..**
#P 78 36
**
**
#P 61 49
.**
.**
***
#P 68 59
**
**
#P 74 70
..*
**
.**
#P 69 47
..*
.*
**
*...**
.**
.*****
#P 74 57
**
*
.***
...*
#P 80 55
**
*
.***
...*
#P 80 44
..*
**.**
..*
#P 85 47
..*
**.**
..*
#P 90 39
**
**
#P 95 50
...*
....*
....**
**...*
...**
*****
#P 92 60
..**
...*
***
*
#P 100 62
**
**
#P 96 39
...*
.***
*
**
#P 103 42
***
..*
.*
#P 105 53
****
***.*
.**
#P 126 34
*.*
**
.*
#P 126 18
.**
*.*
..*
#P 137 9
..*
.*.*
*...*
.*.*
..*
#P 142 2
**
**
#P 144 23
..**
...*
***
*
#P 148 13
...*
..*.*
.....*
....**
.**.*
*..*
*.*
.*
#P 148 2
...*
.***
*
**
#P 152 25
**
**
#P 155 4
.**
*.*
..*
#P 161 6
*
***
...*
..**
#P 165 27
**
**
#P 171 25
**
*
.***
...*
#P 169 17
.**
**.*
.*..*
..**
#P 167 4
*
***
...*
..**
#P 172 4
...**
..*..*
.....*
..*
..*...*
.*
*..*.*
*..*.*
*.*..*.*
.....*..*
......**
......**
#P 183 8
.*
*
***
#P 187 33
..*
*.*
.**
#P 160 -10
.***
*****
***.**
...**
#P 142 -58
*
***
...*
..**
#P 150 -58
**
**
#P 141 -53
.........*
.........**
..*.******.*
**..**.*..***
.*....*....*
..**.....**
....*...*
....*.*.*
.....***
......*
#P 140 -35
**
**
#P 146 -37
**
*
.***
...*
#P 158 -33
..*
*.*
.**
#P 162 -61
**
**
#P 158 -42
..**
...*
***
*
#P 164 -40
..**
...*
***
*
#P 168 -61
...*
.***
*
**
#P 160 -56
...*
..**
.*.******.*
***..*.**..**
.*....*....*
..**.....**
....*...*
....*.*.*
.....***
......*
#P 174 -59
...*
.***
*
**
#P 180 -58
*
***
...*
..**
#P 172 -38
**
**
#P 186 -60
*
***
...*
..**
#P 194 -60
**
**
#P 188 -55
..***
.*...*
*.....*
*.....*
*.....*
.*...*
..***
#P 184 -37
**
**
#P 190 -39
**
*
.***
...*
#P 196 -41
**
*
.***
...*
#P 198 -33
*.*
**
.*
#P 206 -57
**
**
#P 212 -57
...*
.***
*
**
#P 207 -52
..***
.*...*
*.....*
*.....*
*.....*
.*...*
..***
#P 208 -36
..**
...*
***
*
#P 216 -34
**
**
#P 220 -77
*
***
...*
..**
#P 227 -51
**
**
#P 187 -15
.*****
*....*
.....*
*...*
..*
#P 207 -15
*
*.*
**
#P 207 -9
...**
***.**
*****
.***
#P 234 -17
..*
*...*
.....*
*....*
.*****
#P 229 -31
..*
..*
...*
***
*
#P 237 -28
**
**
#P 230 -39
...***
..*...*
.*.....*
*...*...*
*..*.*..*
*...*...*
.*.....*
......*
.....*
#P 233 -51
...*
.***
*
**
#P 239 -58
**
*.*
*
#P 245 -53
**
.**
*
#P 252 -53
*
***
...*
..**
#P 260 -53
**
**
#P 248 -39
***
*.*
*..*
.*.*
.***
#P 252 -44
...*
..**
.*..*
***
.*..*
..**
#P 259 -38
*
.**
**
#P 262 -34
**
*
.***
...*
#P 256 -32
**
*
.***
...*
#P 250 -30
**
**
#P 254 -10
.***
*****
***.**
...**
#P 281 -15
.*****
*....*
.....*
*...*
..*
#P 284 -29
***
*
.*
#P 298 -10
.**
*..*
.**
#P 300 -5
**
*
.***
...*
/programs/demos/life2/lif/PI.lif
0,0 → 1,13
#Life 1.05
#D Pi Heptomino
#D
#D A common pattern in Life.
#D
#D Pi = 3.141592653589793238
#D
#D See SPARK2PI, PIPUF, REVFUSE.
#N
#P 3 3
***
*.*
*.*
/programs/demos/life2/lif/PINBALL.lif
0,0 → 1,189
#Life 1.05
#D Pinball
#D This demonstrates some glider reflections.
#N
#P -24 -17
..*
.*.*
*..*
.**
#P -28 -21
..*****
.*....*
*..*
*.**
*
*
**
#P -25 -25
.*
*.*
.*
#P -32 -18
.*
*.*
.*
#P -33 -9
....*..*
....*
...*....*
..*.*..**
**.*
.
.
*..*
..**
#P -16 -26
....*..*
....*
...*....*
..*.*..**
**.*
.
.
*..*
..**
#P 9 -26
.*
.
*
**
#P 13 -26
*
*
.*
*.*
.*.**
.
.
.*..*
.**
#P 22 -25
...*
..*.*
...*
.
.*****
.*....*
....*..*
....**.*..*
.*.....*.*.*
*.*....*..*
*..*..**
.**
#P 26 -9
.*
.
*
**
#P 30 -9
*
*
.*
*.*
.*.**
.
.
.*..*
.**
#P 24 3
**
**
**
.*
*.*
.*
*
#P 19 8
***.*
****
....*
#P -25 3
.**
.**
.**
.*
*.*
.*.*.***
..*.****
...*
#P 0 -7
**
**
#P 0 4
**
**
#P 0 15
**
**
#P -8 20
.**
.**
.**
.*
*.*
.*.*.***
..*.****
...*
#P 7 20
**
**
**
.*
*.*
.*
*
#P 2 25
***.*
****
....*
#P -17 16
.**
*..*
.*.*
..*
#P -21 17
**
*
*
*.**
*..*
.*....*
..*****
#P -25 18
.*
*.*
.*
#P -18 25
.*
*.*
.*
#P 15 16
.**
*..*..**
*.*....*..*
.*.....*.*.*
....**.*..*
....*..*
.*....*
.*****
.
...*
..*.*
...*
#P -17 12
*.*
**
.*
#P -12 17
..*
**
.**
#P 11 17
*
.**
**
#P 16 12
*.*
.**
.*
/programs/demos/life2/lif/PIPUF.lif
0,0 → 1,187
#Life 1.05
#D Pi fuse burning puffer
#D See LINEPUF, BSHIP.
#D Dean Hickerson, Al Hensel, May 1994.
#N
#P 2 -1
***
..*
***
#P 2 -12
**
**
#P 2 11
**
**
#P 8 -17
*
..*
*
.
*
*
*
*
.
*
..*
*
.
*
*
.
*
..*
*
.
*
*
.
*
..*
*
.
*
*
*
*
.
*
..*
*
#P 6 -43
*.*
*..*
...**
.....*
...****
..*....*
....*..*
....*..*
......*
*.****
*...*
...*
.*.*
.
..***
...**
..***
.
.*.*
.*..*
....*
..*..*
....**
#P 15 -42
*
****
..**
.....*
..****
......*
..*..***
....***
.....*
*.***
**..*
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
..***
..**
#P 11 -20
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
*.....**
*.*..*.**
*.*.***..*
*........*
*.*.***..*
*.*..*.**
*.....**
*.*..**
*.*.**
*
*.*.**
*.*..**
#P 6 21
....**
..*..*
....*
.*..*
.*.*
.
..***
...**
..***
.
.*.*
...*
*...*
*.****
......*
....*..*
....*..*
..*....*
...****
.....*
...**
*..*
*.*
#P 15 21
..**
..***
.***
.*
...*
.*.*
....*
.*.*
...*
.*
.***
**..*
*.***
.....*
....***
..*..***
......*
..****
.....*
..**
****
*
/programs/demos/life2/lif/POLES.lif
0,0 → 1,202
#Life 1.05
#D Barberpoles and how to stabilize the ends
#D Most of these by Bob Wainwright, 1989.
#N
#P -37 -5
**
*.*.*.*
....*
..*....**
......*
..**...*
#P -34 1
..*
**
...*
.**
....*
..**
.....*
...**
......*
....**
.......*
.....**
........*
......**
#P -31 15
......*
..*
*.*..**
.*
.*.*...*
...*.*..*
.......**
#P -33 -19
.....**
.....**
.
.....****
....*...*
**.*.*
**.*.*.*
...*...*
...**...**
#P -24 -9
**
..*
..*.*
....*
.....**
#P -18 -3
**...**
..*...*
..*.*.*.**
....*.*.**
.*...*
.****
.
...**
...**
#P -14 -23
...*
.*.*
*....*
*****
.
..*
..**
..**
...*
#P -8 -19
*.*
..*
....*.*
......*
........*.*
..........*
#P 4 -19
......*
....*.*
..*
*.*
#P 12 -23
...*
.*.*
.....*
******
.
..**
....*
.*
..**
#P 34 -23
**
.*
#P 25 -22
........*
.
......*.*
.
....*.*
.
..*.*
.
*.*
.
*
#P 23 -12
*
**
#P -1 -3
..*
.*.*
.*.*
**.**
.
*****
*....*
.*.*
...*
#P 5 -3
......*
....*.*
..*.*
*.*
*
#P 12 -7
..*
..*.*
*....*
.*****
.
.**.**
..*.*
..*.*
...*
#P -11 10
***
.
.*
*
**
#P -8 12
**
.
..**
.
....**
.
......**
#P 0 18
.*.*
..*
*.*.*
..*
#P 5 12
......**
.
....**
.
..**
.
**
#P 13 10
***
.
.*
..*
.**
#P 33 -8
...*
.*.*
*....*
*****
.....*
..**
..*.*
#P 28 0
.......*
......*
......*
....*
...*
...*
.*
*
*
#P 21 9
.....*
...**
.
..*
**
#P 18 15
..*
...*
.***
.
******
.....*
.*.*
...*
/programs/demos/life2/lif/PRIMES.lif
0,0 → 1,1643
#Life 1.05
#D Primer, a prime number sieve
#D
#D Produces a westward stream of lightweight spaceships representing
#D prime numbers: a LWSS escapes past the pentadecathlon around
#D generation 120n+100 if and only if n is prime.
#D This is probably not a good way to look for the largest primes!
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 11/1/91
#N
#P 307 -223
.**
****
**.**
..**
#P 302 -218
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P 307 -209
.**
****
**.**
..**
#P 299 -244
.**
****
**.**
..**
#P 296 -237
..**
.*..*
.*..**
*..**
****
#P 299 -230
.**
****
**.**
..**
#P 298 -222
.****
*...*
....*
...*
#P 290 -229
.****
*...*
....*
...*
#P 283 -228
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 277 -224
..***
**.**
..***
#P 282 -245
..**
**.**
****
.**
#P 268 -232
*
.**
**
#P 256 -232
....*
.....*
*....*
.*****
#P 289 -207
.**
****
**.**
..**
#P 281 -201
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 277 -198
.*
**
.*
#P 275 -207
.*
*
***
#P 253 -217
*
.**
**
#P 238 -202
*
.**
**
#P 230 -192
.*
*
***
#P 223 -187
*
.**
**
#P 268 -190
.****
*...*
....*
...*
#P 272 -172
.****
*...*
....*
...*
#P 280 -173
..**
.****
.**.**
...**
.
.
.
**
*.*
*.**
.**
.*
.
.
..**
.****
.**.**
...**
#P 253 -188
.**
****
**.**
..**
#P 248 -183
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P 253 -174
.**
****
**.**
..**
#P 244 -187
.****
*...*
....*
...*
#P 275 -139
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 271 -135
..*
*.*
..*
#P 266 -143
....**
****.**
******
.****
#P 263 -157
.**
****
**.**
..**
#P 255 -151
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 249 -149
..*
**.*
*...*
**.*
..*
#P 270 -120
.****
*...*
....*
...*
#P 268 -114
..**
.*..*
.*..*
**.**
.**
#P 270 -106
.****
*...*
....*
...*
#P 266 -128
.****
******
****.**
....**
#P 262 -120
..**
**.**
****
.**
#P 264 -112
**
*
#P 255 -128
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 245 -126
......*
.**..*.*
*..**...*
.**..*.*
......*
#P 253 -105
...*
....*
*...*
.****
#P 247 -109
***
..*
.*
#P 242 -140
.****
*...*
....*
...*
#P 238 -134
**
*.*
.**
#P 235 -172
.**
****
**.**
..**
#P 227 -166
..**
**.**
****
.**
.
.**
****
**.**
..**
#P 221 -164
..*
**.*
*...*
**.*
..*
#P 208 -172
*
.**
**
#P 185 -177
.*
*
***
#P 214 -155
.****
*...*
....*
...*
#P 221 -142
.....*
......*
*.....*
.******
#P 228 -119
....*
.....*
*....*
.*****
#P 218 -121
.**
****
**.**
..**
#P 218 -107
.**
****
**.**
..**
#P 215 -113
.*
.******
*.***
.....*
#P 209 -120
.****
*...*
....*
...*
#P 208 -134
**
*.*
.**
#P 203 -145
*
***
...*
..**
#P 201 -104
..**
**.**
****
.**
#P 209 -110
**
*
#P 202 -114
.*
*
.*
..**
#P 206 -115
.*
.*
*
#P 196 -126
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 190 -122
.*.*
*..**
.*.*
#P 188 -116
.*
.**
*.*
#P 193 -111
.*
.**
*.*
#P 186 -102
.****
*...*
....*
...*
.
.
**
*.*
..*
***
.
.
.
.
.****
*...*
....*
...*
#P 177 -96
....**
..*
.*..*
**
.**
#P 178 -88
..**
**.**
****
.**
#P 178 -123
**
*.*
.**
#P 178 -134
**
*.*
.**
#P 173 -145
*
***
...*
..**
#P 173 -121
**
*
#P 171 -116
.***
*****
***.**
...**
#P 168 -104
.****
*...*
....*
...*
#P 157 -112
*
..***
*
#P 161 -115
.****
*...*
....*
...*
.
...*
....*
*...*
.****
#P 150 -111
.*
**
#P 148 -123
**
*.*
.**
#P 148 -134
**
*.*
.**
#P 143 -145
*
***
...*
..**
#P 140 -162
.*
*
***
#P 139 -96
.**
****
**.**
..**
#P 176 -24
...*
....*
*...*
.****
#P 168 -24
.**
****
**.**
..**
#P 171 -18
..*.*
**...*
***.*.**
***....*
...*...*
....***
....*
#P 176 -10
...*
....*
*...*
.****
#P 166 -9
...**
***.**
*****
.***
#P 163 -17
**
*.*
..**
.*
#P 156 -18
*.*
**
.*
#P 143 -26
....*
.....*
*....*
.*****
#P 174 11
...*
....*
*...*
.****
#P 172 18
.**
**.**
.*..*
.*..*
..**
#P 174 25
...*
....*
*...*
.****
#P 158 27
.*
*...*
*..**
.....*
.**
#P 166 11
.**
****
**.**
..**
#P 158 -4
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 153 25
.**
*.*
..*
#P 148 20
.**
*.*
..*
#P 143 15
.**
*.*
..*
#P 138 10
.**
*.*
..*
#P 150 9
...*
....*
*...*
.****
#P 141 -6
..**
**.**
****
.**
#P 121 3
.***
*****
***.**
...**
#P 132 -77
..**
**.**
****
.**
#P 132 -91
..**
**.**
****
.**
#P 125 -86
..*
.*...***
*...*.***
.*......**
..*****.*
....****
.....*
#P 123 -92
...*
....*
*...*
.****
#P 116 -100
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 110 -96
..***
**.**
..***
#P 115 -76
.**
****
**.**
..**
#P 110 -79
**
.**
*
#P 120 -111
.*
**
#P 118 -123
**
*.*
.**
#P 118 -134
**
*.*
.**
#P 113 -145
*
***
...*
..**
#P 95 -94
**
.**
*
#P 89 -89
.*****
*....*
.....*
....*
#P 95 -82
..**
**.**
****
.**
#P 95 -68
..**
**.**
****
.**
#P 86 -69
...*
....*
*...*
.****
#P 90 -76
...***
.*...**
.*.*..**
*.....*
.*..**
.*
...*
#P 93 -52
.**
****
**.**
..**
#P 88 -47
...*
.*
.*..**
*.....*
.*.*..**
.*...**
...***
#P 93 -38
.**
****
**.**
..**
#P 84 -51
.****
*...*
....*
...*
#P 76 -35
..**
**.**
****
.**
#P 71 -39
.*
.**
*.*
#P 66 -44
.*
.**
*.*
#P 96 -168
...*
....*
*...*
.****
.
.
.
.
***
..*
*.*
**
.
.
...*
....*
*...*
.****
#P 88 -154
.**
****
**.**
..**
#P 82 -157
..*
*..*
*..*
.*
#P 78 -170
...*
....*
*...*
.****
#P 70 -181
...*
....*
*...*
.****
.
.
.
.****
*...*
....*
...*
#P 62 -177
.*..***
**..*.*
.*..***
#P 78 -85
.**
****
**.**
..**
#P 73 -80
*.*
.**
.*
#P 68 -75
*.*
.**
.*
#P 73 -70
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 69 -67
*
.*
.**
.*
*
#P 65 -67
.*
.*
*
.*
.*
#P 56 -66
.**..*
*..*..*
.**..***
.***..*
.....*
#P 71 -57
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 67 -54
*
.*
.**
.*
*
#P 63 -54
.*
.*
*
.*
.*
#P 54 -55
.....*
.***..*
.**..***
*..*..*
.**..*
#P 61 -33
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P 53 -19
..**
**.**
****
.**
#P 43 -35
.****
*...*
....*
...*
#P 46 -47
.***
*****
***.**
...**
#P 36 -46
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 32 -43
**
***
**
#P 39 -54
**
*.*
.**
#P 41 -65
.**
*.*
**
#P 27 -63
.**
*.*
..*
#P 25 -56
..*
*.*
.**
#P 48 -73
...**
***.**
*****
.***
#P 45 -85
...*
....*
*...*
.****
#P 38 -79
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 34 -76
**
***
**
#P 63 -101
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 55 -101
.**
****
**.**
..**
#P 46 -104
***
*..*
*
*
*
.*
#P 49 28
...*
....*
*...*
.****
.
.
.
*
.**
..*
..*
.*
.
.
...*
....*
*...*
.****
#P 41 28
.**
****
**.**
..**
#P 34 20
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 28 24
.*.*
*..**
.*.*
#P 32 45
.****
*...*
....*
...*
#P 22 2
...**
.**.**
.****
..**
.
.
.*
.**
*.**
*.*
**
.
.
.
...**
.**.**
.****
..**
#P 14 15
...*
....*
*...*
.****
#P 7 31
.*****
*....*
.....*
....*
#P 6 -1
.**
****
**.**
..**
#P 14 -27
.**
****
**.**
..**
#P 22 -29
.**
*.*
..*
#P -5 18
..**
**.**
****
.**
#P -10 -29
.****
*...*
....*
...*
.
.
.*
..*
..*
.**
*
.
.
.
.****
*...*
....*
...*
#P -14 -21
.*
**
#P -18 -29
..**
**.**
****
.**
#P -25 -37
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -35 -35
......*
.**..*.*
*..**...*
.**..*.*
......*
#P -26 -47
.*
.**
*.*
#P -52 -28
....*
.....*
*....*
.*****
#P -27 -14
...*
....*
*...*
.****
#P -93 -36
...**
***.**
*****
.***
#P -128 -36
.******
*.....*
......*
.....*
#P 16 -93
..**
**.**
****
.**
#P 24 -90
..*
*.*
.**
#P -5 -104
..**
**.**
****
.**
#P -8 -98
****
*..**
.*..**
.*..*
..**
#P -5 -90
..**
**.**
****
.**
#P -12 -97
**
.*
#P -14 -91
...*
....*
*...*
.****
#P -14 -107
.**
****
**.**
..**
#P -22 -107
.**
****
**.**
..**
#P -48 -92
.*****
*....*
.....*
....*
#P -21 -88
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P -25 -85
**
***
**
#P -35 -241
***...........***
*..*..........*..*
*......***....*
*.....*..*....*
.*....**.*.....*
#P -29 -233
*
*.*
.
.*..*
..***
...*
#P -21 -233
.*
***
*.**
.***
.**
#P -38 -224
.***
*..*
...*
...*
..*
#P -32 -216
***
..*
.*
#P -27 -211
***
..*
.*
#P -23 -219
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -19 -214
.*
.*
*.*
#P -18 -205
***
#P -5 -239
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*.....*.**....*
#P -5 -231
..*
.***
**.*
***
.**
#P 2 -231
....*
..*.*
.
*..*
***
.*
#P 12 -222
***
*..*
*
*
.*
#P 7 -214
***
*
.*
#P 2 -209
***
*
.*
#P -7 -203
***
#P -10 -217
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P -6 -212
.*
.*
*.*
#P -53 -210
.*
***
*.**
.***
.**
#P -47 -208
..*
.***
**..*
*...*
*.**
**
#P -39 -210
.*
***
*.**
.***
.**
#P -54 -201
.***
*..*
...*
...*
..*
#P -26 -195
***
*..*
*
*
*
.*
#P -37 -192
.*
***
*.**
.***
.**
#P -33 -185
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P -30 -179
..*
.***
*...*
.
.
**.**
..*
#P -74 -190
.***...........***
*..*..........*..*
...*....***......*
...*....*..*.....*
..*....*........*
#P -66 -183
**
*
#P -60 -182
..*
.***
**.*
***
.**
#P -57 -175
.*.....*
***...***
*.**.**.*
.***.***
.**...**
#P -55 -169
..*
.*.*
*...*
.*.*
.***
#P -75 -173
***
*..*
*
*
.*
#P -71 -166
.**
*.*
..*
#P -61 -149
***
*..*
*
*
*
.*
#P -56 -151
.**
*.*
..*
#P -46 -162
***
*..*
*
*
.*
#P -42 -168
.*
.**
*.*
#P -18 -183
**
*.*
.**
#P -17 -171
.*
**
*.*
#P -7 -181
.**
*.*
**
#P -8 -169
.*
.**
*.*
#P 0 -193
.***
*..*
...*
...*
...*
..*
#P 11 -190
..*
.***
**.*
***
.**
#P 0 -183
..*.....*
.***...***
**.*...*.**
***.....***
.**.....**
#P 3 -177
..*
.***
*...*
.
.
**.**
..*
#P 13 -208
..*
.***
**.*
***
.**
#P 20 -206
..*
.***
*..**
*...*
.**.*
...**
#P 27 -208
..*
.***
**.*
***
.**
#P 28 -199
***
*..*
*
*
.*
#P 34 -186
.*
***
*.**
.***
.**
#P 40 -184
..*
.***
**..*
*...*
*.**
**
#P 48 -186
.*
***
*.**
.***
.**
#P 58 -186
.**
****
**.**
..**
#P 33 -177
.***
*..*
...*
...*
..*
#P 25 -170
.***...***
*..*...*..*
...*...*
...*...*
..*.....*
#P 29 -165
.*
.*
*.*
#P 17 -166
.*
**
*.*
#P 20 -160
.***
*..*
...*
...*
..*
#P 50 -170
.*
***
***
..*
*.*
*
#P 47 -163
.*
**
*.*
#P 32 -148
.*
**
*.*
#P 44 -146
.*
***
*.**
.***
.**
#P 58 -146
.*
***
*.**
.***
.**
#P 49 -144
...*
..***
.**..*
.**.**
.*..***
..*.**
....*
*...*
.*.*
..*
#P 59 -129
..*
.***
**.*
***
.**
#P 43 -137
.***
*..*
...*
...*
..*
#P 35 -132
.***
*..*
...*
...*
...*
...*
..*
#P 42 -130
***
*..*
*
*
.*
#P 39 -124
***
*.*
***
.
.
***
.*
#P 17 -119
***
*..*
*
*
.*
#P 23 -117
.***
*..*
**.*
#P 31 -119
***
*..*
*
*
.*
#P 24 -111
**
*
#P 31 -111
.*
***
*.**
.***
.**
#P 14 -102
.***
*..*
...*
...*
..*
#P 33 -91
***
*..*
*
*
.*
#P -1 1
*.*
.
.*
.*
.*
.
.
.*
.*
.*
.
*.*
/programs/demos/life2/lif/PSRTRAIN.lif
0,0 → 1,44
#Life 1.05
#D Pulsar puffer train
#D
#D Leaves a trail of pulsars
#D by igniting the plume of a
#D Schick engine with a pair
#D of HWSS and a pair of MWSS.
#N
#P 7 -4
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P 3 -1
**
***
**
#P -3 -10
.****
******
****.**
....**
#P -3 7
....**
****.**
******
.****
#P -13 -9
.*****
*....*
.....*
*...*
..*
#P -13 5
..*
*...*
.....*
*....*
.*****
/programs/demos/life2/lif/PUFTRAIN.lif
0,0 → 1,29
#Life 1.05
#D Puffer train
#D
#D This was created simply by perturbing
#D the sides of a B-heptomino with two
#D LWSS's. A B-heptomino is a naturally
#D occurring object that lurches forward at
#D the speed c/2 before its own debris
#D usually destroys it. Not here! The
#D LWSS keep it alive. See BHEPTO, RAKE,
#D RAKE2. For a super dirty puffer, see
#D LINEPUF.
#N
#P -2 -8
...*
....*
*...*
.****
#P -2 -1
*
.**
..*
..*
.*
#P -2 6
...*
....*
*...*
.****
/programs/demos/life2/lif/PULLER.lif
0,0 → 1,1082
#Life 1.05
#D Block puller with binary distance counter.
#D
#D The starting distance to the block is measured as number of times
#D pulled. This is displayed in 5 boat bits (binary) from the lower
#D right to the upper left of the left side of the pattern. In this
#D case, the answer is 25 (11001).
#D
#D Kaoru "Mad Player" Maeda, July 1990.
#N
#P 106 -98
**
.*
#P 103 -97
.*
.
*
.
.**
...*
#P 103 -89
**...**
**...**
.*****
..*.*
.
..***
#P 105 -75
...*
..***
.*****
**...**
#P 107 -68
***
***
.
.
**
**
#P 105 -59
**
#P 104 -54
**...**
.*****
.**.**
.**.**
..***
#P 102 -45
..***
..***
.*...*
*.....*
.*...*
..***
#P 105 -30
**
**
#P 102 -78
.*
*
***
#P 101 -66
**
**
#P 99 -53
.**
**
..*
#P 92 -77
*
***
...*
..**
#P 95 -70
*
*.*
**
#P 92 -63
**
***
.**
..*
.*
#P 89 -67
*
*
*
.
.
.
*
*
*
#P 85 -63
***
#P 76 -84
..**
..*
*.*
**
#P 77 -76
.*
**
*.*
#P 67 -82
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P 57 -80
**
**
#P 77 -106
**
**
#P 66 -108
**
**
...**
...***
...**
**
**
#P 58 -107
...*
....**
.**..*
*****
...*
#P 53 -110
..**
.*
*
*
*
.*
..**
#P 52 -100
.*
*
***
#P 47 -90
*
*
*
#P 43 -86
***
#P 41 -90
*
*
*
#P 39 -95
*
.**
**
#P 43 -108
**
**
#P 39 -110
*
*
#P 41 -102
**
**
#P 30 -111
....*
.****
****
*..*
****
.****
....*
#P 20 -109
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P 9 -107
**
**
#P 31 -102
*.*
.**
.*
#P 30 -95
..**
.*.*
.*
**
#P -4 -120
**
**
#P -6 -113
..***
.
..*.*
.*****
**...**
**...**
#P -5 -105
.**
**.**
.*..*
.*
....*
..**
#P -8 -97
**...**
.*****
..***
...*
#P -6 -86
**
**
#P -9 -76
**.*.**
.
*.....*
.
.**.**
...*
#P -7 -68
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P -5 -52
**
**
#P 3 -96
*
.**
**
#P 0 -84
**
**
#P 0 -75
***
..*
.*
#P 10 -88
*.*
.**
.*
#P 7 -75
**
*
.***
...*
#P 15 -71
*
***
...*
..**
#P 30 -77
*
*.*
**
#P 20 -66
.*
.*
*
#P 17 -61
**...**
*.....*
.
.*...*
..***
#P 19 -50
**
**
#P 40 -58
*.*
.**
.*
#P 46 -50
*
*.*
**
#P 43 -46
*
.**
**
#P 48 -32
.*
*
***
#P 5 -35
**
**
#P 11 -37
....*
..*.*
**
**
**
..*.*
....*
#P 20 -37
*
*
*
....**
.**..*
.****
...*
#P 28 -39
**
**
...**
...***
...**
**
**
#P 39 -37
**
**
#P 30 -27
*.*
.**
.*
#P 38 -20
*
.**
**
#P 43 -11
*
*.*
**
#P 49 -16
...*
.***
*
**
#P 44 -4
..***
.*...*
*.....*
.*...*
..***
..***
#P 47 5
**
**
#P 35 -4
.*
*
***
#P 29 9
**
*.*
..*
..**
#P 17 4
....*
.****
****
*..*
****
.****
....*
#P 10 7
**
**
#P 132 38
**
**
#P 26 4
.**
**
..*
#P 19 -4
.*
**
*.*
#P 11 -11
.**
**
..*
#P 4 -19
.*
**
*.*
#P -4 -26
.**
**
..*
#P -11 -34
.*
**
*.*
#P -19 -41
.**
**
..*
#P -26 -49
.*
**
*.*
#P -34 -56
.**
**
..*
#P -41 -64
.*
**
*.*
#P -49 -71
.**
**
..*
#P -56 -79
.*
**
*.*
#P -34 -104
**
**
#P -49 -106
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P -58 -108
*
****
.****
.*..*
.****
****
*
#P -63 -104
*
*
#P -68 -106
**
**
#P -57 -99
*.*
**
.*
#P -139 -85
**
**
#P -134 -83
*
*
#P -129 -87
*
****
.****
.*..*
.****
****
*
#P -118 -82
.*
..*
***
#P -117 -89
...**
..*.*
.***
***
.***
..*.*
...**
#P -110 -87
.**.***
*..****
.**
#P -111 -75
*.*
.**
.*
..***
....*
#P -116 -68
.*
.**
*.*
#P -103 -67
.*
..*
***
#P -123 -60
**
.**
*
#P -144 -56
**
**
#P -140 -58
*
.**
#P -135 -59
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -121 -57
..**
.*.*
*
*..*
*
.*.*
..**
#P -112 -59
..**
..*
*.*
**
#P -101 -56
.*
*.*
**
.
**
*
.*
**
#P -88 -52
.*
..*
***
#P -66 -46
**
**
#P -59 -48
....*
.****
****
*..*
****
.****
....*
#P -52 -45
.....**
.
.**.*.*
*...**
.*
.*..*
#P -41 -46
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -32 -44
**
**
#P -123 -39
**
**
#P -115 -41
...**
.*..*
*
*
*
.*..*
...**
#P -108 -43
.......*
.....****
...****.**
.*...**.***
.*...**.**
*...*****
.***...*
#P -89 -41
**
**
#P -73 -37
.*
..*
***
#P -59 -36
.*
*
***
#P -54 -24
.**
**
..*
#P -99 -33
*
.**
**
#P -97 -24
***
..*
.*
#P -92 -25
*.*
.**
.*
#P -105 -17
.**
*.*
..*
#P -128 -10
**
**
#P -120 -13
...**
..*.*
.***
***
.***
..*.*
...**
#P -113 -11
.**....*
*..**.*.*
.***.*...*
..**.*...*
....**...*
......*.*
.......*
#P -96 -13
..**
..*
*.*
**
#P -85 -10
.*
*.*
**
.
**
*
.*
**
#P -77 -10
*.*
.**
.*
#P -61 -18
**
.*
.*.*
..**
#P -55 -16
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -46 -18
.**
****
*..***
**
....*
.....*
.....*
#P -35 -18
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -27 -15
**
**
#P -107 7
**
**
#P -103 5
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P -88 8
.*
..*
***
#P -91 10
*
#P -82 3
*
*.*
...**
...**
...**
*.*
*
#P -73 5
**
**
#P -62 5
*.*
.**
.*
#P -50 -1
.*
*...**
*.....*
.*****
#P -41 -2
**
*..*
....*
....*
....*
*..*
**
#P -38 6
*.*
**
.*
#P -30 0
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P -16 2
**
**
#P -47 12
..*
..*.*
...*
***
*
#P -40 19
**
*.*
*
#P -81 16
..*
*.*
.**
#P -86 26
.*
.**
*.*
#P -112 36
**
**
#P -108 33
....*
..****
.*.*.**
*..*.***
.*.*.**
..****
....*
#P -97 34
.**..**
.****.*
..**.*
*
#P -88 35
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -80 33
..**
..*
*.*
**
#P -66 31
..*
*.*
.**
#P -69 36
.*
*.*
**
.
**
*
.*
**
#P -45 28
**
.*
.*.*
..**
#P -36 30
**
*.*
.***
..***
.***
*.*
**
#P -33 27
***
*
.*
#P -24 28
....*
.****
****
*..*
****
.****
....*
#P -15 29
*
*
#P -11 31
**
**
#P -91 53
**
**
#P -79 51
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -70 49
....**
...***
*.**
*..*
*.**
...***
....**
#P -62 52
*
.*
.*
...*
#P -57 51
**
.*
.
*
#P -51 46
..*
*.*
.**
#P -69 57
*
.**
**
#P -34 46
**
**
#P -24 44
..**
.*
*
*
*
.*
..**
#P -19 47
...*
....**
.**..*
*****
...*
#P -11 46
**
**
...**
...***
...**
**
**
#P 0 48
**
**
#P -25 54
.*
*
***
#P -36 61
..**
*
.*.*..*
.....*
#P -27 62
.*
**
*.*
#P -20 70
.**
**
..*
#P -62 64
**
*
.***
...*
#P -67 70
***
..*
.*
#P -75 77
.**
*.*
..*
#P -96 82
**
**
#P -85 79
*
*.*
...**
...**
...**
*.*
*
#P -75 81
....**
....**
.**
***
.**
....**
....**
#P -64 79
..**
..*
*.*
**
#P -54 72
*
.**
**
#P -53 82
.*
*.*
**
.
**
*
.*
**
#P -39 87
*
.**
**
#P -29 74
**
.*
.*.*
..**
#P -19 76
...*...***
..*****...*
.**.**...*
***.**...*
.**.****
..****
...*
#P -6 74
**
*..*
....*
....*
....*
*..*
**
#P 5 77
**
**
#P -24 102
*
.**
**
#P -18 92
**
**
#P -13 90
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -4 96
*.*
**
.*
#P 5 92
...*
..**
.**
***
.**
..**
...*
#P 12 94
**
**
**
#P 16 94
**
**
#P -12 103
..*
**
.**
#P -6 113
**
*.*
*
#P -37 128
.*
*.*
**
.
**
*
.*
**
#P -13 120
**
.*
.*.*
..**
#P -7 122
....*
..*.*
**
**
**
..*.*
....*
#P 1 121
***
*
.*
#P 6 121
*
#P 11 120
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P 21 123
**
**
/programs/demos/life2/lif/PUSHER.lif
0,0 → 1,541
#Life 1.05
#D Block pusher
#D by Dean Hickerson
#N
#P 0 0
**
**
#P 8 -26
.**
*.*
..*
#P 24 -35
**
*
.***
...*
#P 19 -42
**...**
..***
.*...*
..*.*
...*
#P 22 -54
**
**
#P -2 -43
.*
*
***
#P 8 -56
..**
..*
*.*
**
#P -5 -54
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -11 -52
**
**
#P -5 -60
**
*
.***
...*
#P -10 -72
..***
.
..*.*
.*****
**...**
**...**
#P -7 -79
**
**
#P -17 -77
..**
..*
*.*
**
#P -28 -75
...**
..*.*
.***
***
.***
..*.*
...**
#P -36 -77
**
.*
.*.*
..**
#P -34 -67
**
**
#P -46 -70
...**
.*..*
*
*
*
.*..*
...**
#P -55 -72
**
.*
.*.*
..**
#P -40 -63
...*
.***
*
**
#P -36 -80
**
**
#P -38 -91
..***
.*...*
*.....*
**.*.**
#P -40 -105
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -37 -114
**
**
#P -41 -93
*.*
**
.*
#P -49 -86
..*
**
.**
#P -45 -105
**
**
#P -48 -100
**
**
#P -54 -96
..*
*.*
.**
#P -59 -93
..**
.*.*
.*
**
#P -56 -108
**
***
..**.*
..*..*
..**.*
***
**
#P -53 -113
**
**
#P -66 -116
....**
...***
*.**
*..*
*.**
...***
....**
#P -78 -118
*
**
.**
.***
.**
**
*
#P -87 -115
**
**
#P -61 -104
.*
..*
***
#P -74 -106
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -79 -101
..**
.*.*
.*
**
#P -74 -111
*
*.*
**
#P -82 -104
.*
*
***
#P -89 -96
*
*.*
**
#P -86 -92
**
*.*
..*
..**
#P -79 -87
**
.*
.*.*
..**
#P -68 -85
*
****
.****
.*..*
.****
****
*
#P -58 -83
**
**
#P -106 -113
**
**
#P -108 -104
**...**
*.*.*.*
.*****
..***
...*
#P -110 -88
..***
.*...*
*.....*
.*...*
..***
..***
#P -107 -79
**
**
#P -104 -93
*.*
.**
.*
#P -96 -86
*
.**
**
#P -95 -99
**
**
#P -117 -99
**
**
#P -119 -93
..***
..***
.*...*
.
**...**
#P -121 -76
**...**
**...**
.
..***
..***
...*
#P -118 -65
**
**
#P -117 -81
*.*
.**
.*
#P -113 -61
**
**
#P -108 -63
**
**
#P -101 -74
...*
.***
*
**
#P -116 -49
**...**
..***
.*...*
..*.*
...*
#P -112 -43
***
***
#P -114 -38
**...**
.*****
..***
...*
#P -112 -27
**
**
#P -107 -51
.**
*.*
..*
#P -99 -58
***
..*
.*
#P -92 -66
.**
*.*
..*
#P -102 -66
*.*
.**
.*
#P -109 -74
*
.**
**
#P -87 -62
*
***
...*
..**
#P -85 -51
**...**
.
*.....*
.
.**.**
...*
#P -83 -41
**
**
#P -72 -59
**
**
#P -101 -34
**
**
#P -104 -23
**...**
.
.*...*
..***
..***
#P -102 -16
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -99 0
**
**
#P -89 -14
**
**
#P -80 -23
..**
..*
*.*
**
#P -74 -26
**
**
#P -76 -17
**...**
.*****
..***
...*
#P -78 -5
..***
.
..*.*
.*****
**...**
**...**
#P -76 8
**
**
#P -65 -35
..**
.*.*
.*
**
#P -59 -40
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -46 -35
**
*.*
..*
..**
#P -64 -24
**
**
#P -67 -16
..***
.*...*
.
*.....*
**...**
#P -65 0
**...**
.
*.....*
.
.**.**
...*
#P -67 8
..**
...*
***
*
#P -59 8
**
**
#P -49 5
*
****
.****
.*..*
.****
****
*
#P -40 3
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P -27 1
..**
..*
*.*
**
#P -56 -16
.**
*.*
..*
#P -32 -13
.*
*
***
#P -48 0
.*
**
*.*
#P -22 4
.**
*.*
..*
#P -36 14
..***
.
*
*
*
#P -30 16
*
*
*
#P -29 22
.**
**
..*
#P -22 20
..**
..*
*.*
**
#P -44 27
***
..*
.*
#P -21 29
.*
**
*.*
#P -31 29
**
**
#P -67 33
**
**
#P -58 30
...*
..**
.**
***
.**
..**
...*
#P -51 32
**
**
**
#P -48 32
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -33 35
**
**
#P -24 33
**
*..*
....*
....*
....*
*..*
**
#P -13 31
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 1 34
**
**
/programs/demos/life2/lif/PUSHGUN.lif
0,0 → 1,534
#Life 1.05
#D Sqrtgun 10.1
#D Population in generation t is asymptotic to sqrt(5t/8).
#D A 3 glider salvo pushes a block 10 units southeast and sends back
#D 2 gliders, which cause another salvo to be fired and a glider to
#D be sent southwest. The round trip time, and hence the gap between
#D southwestward gliders, increases by an average of 80 generations each
#D time. More specifically, let a[0]=a[2]=199 and a[1]=-1. Then, for
#D n>=0, a glider is sent southwest (by reflection from a buckaroo) in
#D generation 40 n^2 + 1120 n + a[n mod 3] (at which time the population
#D is 5n + 1115) and escapes about 270 generations later.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 2/14/91
#N
#P 50 56
**
*
#P 75 56
**
*
.***
...*
#P 70 42
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P 72 34
**...**
.
*.....*
.
.**.**
...*
#P 69 20
..***
.*...*
*.....*
*.....*
#P 67 5
*.....*
**...**
.
..***
..***
...*
#P 69 -4
**
*
#P 68 36
**
*
#P 54 35
.....*..*
**..**...*
*........*
.....****
#P 59 24
*.*
**
.*
#P 45 29
..**
...*
***
*
#P 47 16
...*
..*.*
.*...*
..***
**...**
#P 49 6
**...**
**...**
.*****
..*.*
.
..***
#P 51 -3
**
*
#P 45 8
.*
**
*.*
#P 44 -21
**
*
#P 34 -23
...*
..****
.**.*
***.*.*
.**.*
..****
...*
#P 16 -25
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P 10 -22
**
*
#P 22 -16
**
*
#P 38 -35
**
*
#P 28 -37
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 12 -35
...**
.*..*
*
*
*
.*..*
...**
#P 2 -30
....**
...*.*
...*
.***
*
**
#P -3 -19
..***
.*...*
.
*.....*
**...**
#P 2 -9
**
*
.***
...*
#P 9 -5
..*
**
.**
#P 20 -35
**
*.*
*
#P 0 -40
....**
**..**..**
*...*..*.*
......***
......**
#P 28 -55
**
*
#P 16 -58
...**
.*..*
*
*
*
.*..*
...**
#P -1 -60
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P -6 -57
**
*
#P 7 -73
**
*
#P -3 -76
...*
..****
.**.*
***.*.*
.**.*
..****
...*
#P -21 -78
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -26 -76
**
*
#P -33 -81
...**
..*.*
.***
***
.***
..*.*
...**
#P -45 -79
*
****
.****
.*..*
.****
****
*
#P -55 -76
**
*
#P -32 -72
**
*
#P -34 -66
..*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P -41 -66
..**
..*
*.*
**
#P -53 -64
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -63 -62
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P -73 -59
**
*
#P -68 -54
**
*
#P -56 -55
**
*
#P -51 -55
..*
*.*
.**
#P -41 -59
.**
.**
.**
..*
.*.*
**.*
#P -40 -51
**
*
#P -35 -50
*.*
**
.*
#P -26 -51
**
.*
.*.*
..**
#P -16 -49
**
***
..**.*
..*..*
..**.*
***
**
#P -5 -47
**
*
#P -26 -33
**
*
#P -70 -45
**...**
.*****
..***
...*
#P -74 -41
**
*
#P -77 -29
.*****
*.***.*
.*...*
..***
...*
#P -79 -21
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -77 -7
**
*
#P -71 -19
..*
*.*
.**
#P -66 -33
***
#P -68 -31
..*.*
.*****
**...**
**...**
#P -63 -22
**
*
.***
...*
#P -54 -40
*
***
...*
..**
#P -52 -30
..***
.*...*
*.....*
**.*.**
#P -50 -19
**
*
#P -51 -12
.**
*.*
..*
#P -45 -11
.**
.*
.
.
**.*
.*.*
..*
.**
.**
.**
#P -39 -16
*
***
...*
..**
#P -37 -10
..***
..***
.*...*
*.....*
.*...*
..***
#P -39 3
..**
...*
***
*
#P -46 2
**
*
#P -60 0
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -68 -2
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -80 0
**
*
#P -74 9
**
*
#P -76 18
**...**
*.*.*.*
.*****
..***
...*
#P -78 28
..**
...*
***
*
#P -67 12
**
.*
.*.*
..**
#P -58 14
...**
.*..*
*
*
*
.*..*
...**
#P -48 12
..**
..*
*.*
**
#P -33 30
..**
..*
*.*
**
#P -45 32
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -52 37
..**
.*.*
.*
**
#P -64 54
**
*
#P -53 51
*
*.*
...**
...**
...**
*.*
*
#P -45 56
**
*.*
..*
..**
#P -52 47
***
*
.*
#P -21 25
..*
**
.**
#P 23 29
**
.**
*
#P 29 54
*.*
**
.*
#P -7 40
**
*
#P -9 51
..***
.*...*
*.....*
.*...*
..***
..***
#P -11 59
..**
...*
***
*
#P -2 60
**
*.*
*
#P -7 75
**
*
#P 4 72
*
*.*
...**
...**
...**
*.*
*
#P 12 77
**
*.*
..*
..**
/programs/demos/life2/lif/PUSHGUN2.lif
0,0 → 1,562
#Life 1.05
#D Sqrtgun 3.0
#D Population in generation t is asymptotic to 5 sqrt(t/12). A 4 glider
#D salvo pushes a blinker 3 units southeast and sends back a glider,
#D which causes another salvo to be fired and a glider to be sent
#D northeast. The round trip time, and hence the gap between
#D northeastward gliders, increases by an average of 24 generations each
#D time. More specifically, let a[0]=207, a[1]=159, a[2]=-33, a[3]=111,
#D and a[4]=231. For n>=0, a glider is sent northeast (by reflection from
#D a buckaroo) in generation 12 n^2 + 1116 n + a[n mod 5] (at which
#D time, for n>=1, the population is 5n + 1297) and escapes about 300
#D generations later.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 1/28/91
#N
#P 55 60
***
#P 39 59
.*
*
***
#P 71 34
....**
****....**
***.**..*
.....*
#P 84 34
**
*
.***
...*
#P 79 26
...*
..***
.*****
**...**
.*****
.*...*
...*
#P 77 11
**...**
*.....*
.
.*...*
..***
#P 79 2
**
*
#P 69 29
.*
*
***
#P 59 31
..**
...*
***
*
#P 61 22
**...**
**...**
.*****
..*.*
.
..***
#P 63 4
...*
..*.*
.*...*
..***
**...**
#P 66 -1
**
*
#P 48 35
....*
**..**.***
*.....****
....**
#P 55 30
**
*
#P 52 21
**...**
.
.*...*
..***
..***
#P 54 3
...*
..***
..***
.
**...**
*.....*
#P 56 -9
**
*
.
.
.
**
*
#P 46 -12
..**
.*
*
*
*
.*
..**
#P 28 -14
....*
..*.*
**
**
**
..*.*
....*
#P 22 -9
..**
.*.*
.*
**
#P 35 -2
.*
*.*
.*
#P 29 -1
*
*.*
**
#P 46 -48
**
*
#P 36 -51
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 20 -53
...**
.*..*
*
*
*
.*..*
...**
#P 6 -56
**
..*
...*
...*
...*
..*
**
#P -9 -54
....**
....*
.**
***
.**
....*
....**
#P -16 -51
**
*
#P -11 -45
.**.........**
*..*.......*..*
***..*****..***
...**.....**
..*.........*
..**.*...*.**
.......*
#P 32 -34
..**
..*
*.*
**
#P 24 -32
*
****
.****
.*..*
.****
****
*
#P 8 -30
...**
..*.*
.***
***
.***
..*.*
...**
#P 0 -28
**
*
#P 11 -34
**
*
#P -15 -31
......*.*
.....*
.*..*....*
**.*..*.**
....**
#P 7 -9
...*
.***
*
**
#P 39 23
***
..*
.*
#P -23 -44
**
*
#P -25 -55
**...**
**...**
.*****
..*.*
.
..***
#P -27 -73
...*
..*.*
.*...*
..***
**...**
#P -25 -78
**
*
#P -42 -85
**
*
#P -45 -76
**...**
*.....*
.
.*...*
..***
#P -47 -61
...*
..***
.*****
**...**
.*****
.*...*
...*
#P -42 -53
**
*
.***
...*
#P -33 -53
.*
*
***
#P -53 -78
..**
..*
*.*
**
#P -62 -76
..**
.*.*
*
*..*
*
.*.*
..**
#P -76 -74
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -85 -71
**
*
#P -53 -71
.**
.*..*
.
.*..*
*..*
*.*
.*
.
.**
.*
#P -88 -58
**
*
#P -83 -60
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P -64 -58
*.*
*...*
....*
.....*
....*
*...*
*.*
#P -56 -53
**
*.*
..*
..**
#P -65 -47
**
*
#P -67 -35
**...**
..***
.*...*
..*.*
...*
#P -69 -26
..***
.
..*.*
.*****
**...**
**...**
#P -67 -13
**
*
#P -51 -43
*
***
...*
..**
#P -49 -35
...*
..***
..***
.
**...**
*.....*
#P -51 -24
..**
...*
***
*
#P -42 -18
.**
.*
.
.
.*
**.*
...*
...*
*..*
.**
#P -43 -5
**
*
#P -54 -11
**
*
#P -55 -7
...**
.*..*
*
*
*
.*..*
...**
#P -67 -9
*.*
*...*
....*
.....*
....*
*...*
*.*
#P -77 -7
**
*
#P -37 3
**
*
#P -51 1
....*
..*.*
**
**
**
..*.*
....*
#P -61 3
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P -71 6
**
*
#P -60 13
**
*
#P -35 10
.**
*..*
...*
...*
**.*
.*
.
.
.**
..*
#P -62 23
**...**
.*****
.**.**
.**.**
..***
#P -60 32
..***
..***
.*...*
*.....*
.*...*
..***
#P -57 47
**
*
#P -53 24
**
.**
*
#P -47 27
**
*
#P -49 36
**...**
*.....*
.
.*...*
..***
#P -51 46
..**
...*
***
*
#P -48 60
**
*
#P -43 58
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -29 63
**
*.*
..*
..**
#P -29 37
..**
.*.*
.*
**
#P -16 32
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -10 30
..**
..*
*.*
**
#P -1 29
*
*.*
**
#P 16 30
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P 1 46
...*
.***
*
**
#P -4 52
..***
..***
.*...*
.
**...**
#P 9 53
***
..*
.*
#P 8 59
.*
*.*
.*
#P -2 70
..***
.*...*
*.....*
*.....*
#P 1 80
**
*
#P 17 80
**
*
#P 26 78
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 36 76
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 51 79
**
*
/programs/demos/life2/lif/QUILT.lif
0,0 → 1,51
#Life 1.05
#D Another quilt
#D woven by Dean Hickerson, March 1994
#N
#P -23 -23
.............**....**....**....**
............*..*...**...*..*...**
............*..*........*..*
.........**.****.******.****.******
.........*.*....*......*....*......*
...........*..*..*..*..*..*..*..*..*
...........***.**..***.***.**..***.**
.........**..**..***.**..**..***.**..*
........*...*...*...*...*...*...*...*.*
...**..*.*...*...*...*...*...*...*...*.*
...*...***.***.***.***.***.***.***.**..***
....***..**.***.***.***.***.***.***.***...*
.***....*...*...*...*...*...*...*...*...*.*
*..*.*...*...*...*...*...*...*...*...*..*.*.**
*..*.*.***.***.***.***.***.***.***.***..*.*.**
.***..*..**.***.***.***.***.***.***.*.*...*
....*.*.*...*...*...*...*...*...*...*.*.*.*
...*.*.*.*...*...*...*...*...*...*...*.*.*
...*...*.*.***.***.***.***.***.***.**..*..***
**.*.*..***.***.***.***.***.***.***.***.*.*..*
**.*.*..*...*...*...*...*...*...*...*...*.*..*
...*.*...*...*...*...*...*...*...*...*....***
...*...***.***.***.***.***.***.***.**..***
....***..**.***.***.***.***.***.***.***...*
.***....*...*...*...*...*...*...*...*...*.*
*..*.*...*...*...*...*...*...*...*...*..*.*.**
*..*.*.***.***.***.***.***.***.***.***..*.*.**
.***..*..**.***.***.***.***.***.***.*.*...*
....*.*.*...*...*...*...*...*...*...*.*.*.*
...*.*.*.*...*...*...*...*...*...*...*.*.*
...*...*.*.***.***.***.***.***.***.**..*..***
**.*.*..***.***.***.***.***.***.***.***.*.*..*
**.*.*..*...*...*...*...*...*...*...*...*.*..*
...*.*...*...*...*...*...*...*...*...*....***
...*...***.***.***.***.***.***.***.**..***
....***..**.***.***.***.***.***.***.***...*
......*.*...*...*...*...*...*...*...*.*..**
.......*.*...*...*...*...*...*...*...*
........*..**.***..**..**.***..**..**
.........**.***..**.***.***..**.***
..........*..*..*..*..*..*..*..*..*
..........*......*....*......*....*.*
...........******.****.******.****.**
..................*..*........*..*
.............**...*..*...**...*..*
.............**....**....**....**
/programs/demos/life2/lif/R125AQ25.lif
0,0 → 1,58
#Life 1.05
#R 125/36
#P -32 -14
........**.*
......*
.......*..*.....**.*
....***.......*
......**.......*..*
...*....**..*
***.....****...*
...*....**..*
......**.......*..*
....***.......*
.......*..*.....**.*
......*
........**.*
#P 0 -14
........**.*
......*...........*
.......*..*...*.*.*
....***.......*..*
......**....*
...*....**.**
***.....****
...*....**.**
......**....*
....***.......*..*
.......*..*...*.*.*
......*...........*
........**.*
#P -32 2
........**.*
......*..........*
.......*..*......*....*
....***.......**..*...**
......**........*..**
...*....**..*.....*..*
***.....****.......***
...*....**..*.....*..*
......**........*..**
....***.......**..*...**
.......*..*......*....*
......*..........*
........**.*
#P 0 2
........**.*...............*...*.*
......*....................*
.......*..*...........*.*.*..**.*
....***...........*..*....**...*.*
......**......*..***...***.**.*.**
...*....**...*.*.*...**..**
***.....****.**..*.....**....*
...*....**...*.*.*...**..**
......**......*..***...***.**.*.**
....***...........*..*....**...*.*
.......*..*...........*.*.*..**.*
......*....................*
........**.*...............*...*.*
/programs/demos/life2/lif/R125AQ33.lif
0,0 → 1,119
#Life 1.05
#R 125/36
#P -27 -26
........**
....**.**...*
...*******
..*..*.*.**.*
.....**.*
.**
**
.**
.....**.*
..*..*.*.**.*
...*******
....**.**...*
........**
#P -4 -27
......***
.
....*..*.**
...**....*
..*....**
......**
.**..*.*
**....*
.**..*.*
......**
..*....**
...**....*
....*..*.**
.
......***
#P 12 -27
...................*
....................*..*
..................***.*
....*.**..*.*......*
...*..*.*.**.....**.**
..**...**.***.....***
.****.****.....*.........*
**....***....*..*.*...**
.****.****.....*.........*
..**...**.***.....***
...*..*.*.**.....**.**
....*.**..*.*......*
..................***.*
....................*..*
...................*
#P 3 -9
..............**
......*......*..*
.....**.....*...*
.......*.*...*..*
....*.......*
.**.**...*....*
**.**.....*.*
**..*
.***
..**..*
.***
**..*
**.**.....*.*
.**.**...*....*
....*.......*
.......*.*...*..*
.....**.....*...*
......*......*..*
..............**
.
.
......*
.....**............**
.......*.*........*..*
....*................*
.**.**...*..*....*...*
**.**.....*...*.*
**..*.......*.....*
.***.......***.***...**
..**..*....**..*..**.***
.***.......***.***...**
**..*.......*.....*
**.**.....*...*.*
.**.**...*..*....*...*
....*................*
.......*.*........*..*
.....**............**
......*
#P -27 -6
........**..........**
....**.**...*...**.**...*
...*******....*.******
..*..*.*.**.*.**.*.*.**.*
.....**.*........**.*
.**
**
.**
.....**.*........**.*
..*..*.*.**.*.**.*.*.**.*
...*******....*.******
....**.**...*...**.**...*
........**..........**
#P -27 12
.....*
....***..**
.........*.*......*
...*...*****.....*..***
..***....*.**.*...*
..*.***.**..*.**..*
.....*.**....***..**
.**...**.*......***....*
**.....***.......*.***
.**...**.*......***....*
.....*.**....***..**
..*.***.**..*.**..*
..***....*.**.*...*
...*...*****.....*..***
.........*.*......*
....***..**
.....*
/programs/demos/life2/lif/R125BOX.lif
0,0 → 1,418
#Life 1.05
#R 125/36
#P -1 151
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 176
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 101
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 126
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 51
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 76
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 1
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 26
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -48
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -23
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -98
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -72
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -148
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -122
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -199
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
#P -1 -173
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
**
/programs/demos/life2/lif/R125FISH.lif
0,0 → 1,11
#Life 1.05
#R 125/36
#P 0 0
..*
.
*.*
#P 3 0
**
.
.
*
/programs/demos/life2/lif/R125FUSE.lif
0,0 → 1,13
#Life 1.05
#R 125/36
#P 1 1
*
..*
.*
....*
...*
#P 6 6
.*
*
...*
..*
/programs/demos/life2/lif/R125OSCS.lif
0,0 → 1,247
#Life 1.05
#R 125/36
#P -39 -23
..*
*.*
**
#P -33 -23
.*
..*
*.*
**
#P -27 -23
..**
.*.*
*
**
#P -19 -23
**.*
.**
.**
*.**
#P -10 -23
**
**
**
**
#P -3 -23
**..*
*.*.*
..*
..*
#P 5 -23
...**
..*.*.*
..*...*
*.*...*.*
.*.....*
#P 17 -23
..*
..*
.*.*
*...*
**.**
#P 25 -23
..**
..*
.*.*
*...*
**.**
#P 33 -23
**
*
.*.*
....*
...**
#P -37 -17
**...**
**...**
**...**
**...**
..***
**...**
**...**
**...**
**...**
#P -25 -16
.**
*
***
*
.**
#P -19 -16
**...**
..*.*
***.***
..*.*
**...**
#P -9 -16
**.....**
..*.*.*
****.****
..*.*.*
**.....**
#P 3 -15
....**
......*
.*..*
..*..*
*
.**
#P 13 -15
*.*.*...**
*...*..*
..*....**
*.*.*....*
*.*.*...**
#P 26 -14
.**
*.**
*..*
#P 33 -14
...*
.**.*
*...*
#P 0 -6
.*...*
*.*.*
.*
....*
.*.*.*
*...*
#P 9 -6
...**
.*....*
..*..*
..*..*
**....**
#P 21 -7
..........*.*
.........*...*
.........*...*
........*.....*
.......*.*.*.*.*
.....**.*.*.*.*.**
....*....*...*....*
........*.....*
....*....*...*....*
.....**.*.*.*.*.**
.......*.*.*.*.*
........*.....*
.........*...*
*........*...*
*.........*.*
*.*
..*
..*
.....**
#P -39 -4
..**
.*
*
*.*
#P -31 -5
.*..*
..**
**..**
*....*
.*..*
#P -21 -4
.*..*.***
..*...*
***.*..*
#P -8 -5
**.**
.
..*
.
**.**
#P -35 3
**
*
.**
.**
*
**
#P -28 3
*....*
*....*
*....*
.*..*
#P -18 4
.....***
**.....*
*.***.*
*.....*
..*...*
..*.....*
..*.***.*
.*.....**
.***
#P -38 6
*
*
#P -4 6
*...*
**.**
**.**
**.**
*...*
#P 7 5
*
**
**
**
**
*
#P 11 5
.*
**
**
**
**
.*
#P 17 5
**
#P -30 12
...****
.
....**
*........*
*.*....*.*
*.*....*.*
*........*
....**
.
...****
#P -1 15
*
.*
.
...**
..*.*
.*
#P -11 17
..*
.*
....*
**.*
**
#P 9 17
*.*
*.*
..*
..*
#P 15 18
*
*
*.*
*.*
#P 22 17
.*..*
.*..*
**..**
#P 32 18
*.*
*..*
.*.*
/programs/demos/life2/lif/R135AQ33.lif
0,0 → 1,108
#Life 1.05
#R 135/3
#P 16 -50
....*
....*
....**
....*
...**
..*..**
.
.*.*.**
**...*
..*.**
.*.***
..*..*
..*
...***
....*.*
....*.*
....**
.
....**
...**
...*.*
...*.*
...**
....**
.
....**
....*.*
....*.*
...***
..*
..*..*
.*.***
..*.**
**...*
.*.*.**
.
..*..**
...**
....*
....**
....*
....*
#P 0 -35
.....*
...**
...**
...*.*
.
...**
.
....*
.
..**.**
....*.*
.*.*
..*
*
..*
.*.*
....*.*
..**.**
.
....*
.
...**
.
...*.*
...**
...**
.....*
#P 37 -29
.**
**
.**..**
.*.*..**
..*.*
.
.**...*
.**...*
....*
....**
..*
..*
..**
.
.**
*..*
....*
.*...*
..*..**
..*
...*
#P 1 8
...*...**.....**...............*
.*..*....*....*****......*.*.**.*
.*......****..**..*...*.**...*....*
**..****.****.***..*.*.*.*...**..*.**
..*...**.*..***.*...*.*.**.*.****...*
.*..*.*...*...**.*......**..*.*..***.***
.*..*.*...*...**.*......**..*.*..***.***
..*...**.*..***.*...*.*.**.*.****...*
**..****.****.***..*.*.*.*...**..*.**
.*......****..**..*...*.**...*....*
.*..*....*....*****......*.*.**.*
...*...**.....**...............*
/programs/demos/life2/lif/R135AQUA.lif
0,0 → 1,1015
#Life 1.05
#R 135/3
#P -86 -83
...*..**
.**.*.*
**.....*
.***..*
.....*
....*
....*
.....*
.***..*
**.....*
.**.*.*
...*..**
#P -58 -76
**
**..*
****..*
..**
.....*
.....*
..**
****..*
**..*
**
.
.
.
.
.
.**
**
.**.....***
...*.*.***
.....***
......*
......*
.....***
...*.*.***
.**.....***
**
.**
.
.
.
.
.
..*.**.*
****...**
**.....**
****...*
..*.**
.......*
.......*
..*.**
****...*
**.....**
****...**
..*.**.*
#P -144 -75
...**
.**
**
.**
#P -124 -75
..***
****
**
****
..***
#P -86 -66
..*.*.*
****..**
**....**
****..*
..*.*
......*
......*
..*.*
****..*
**....**
****..**
..*.*.*
#P -124 -60
........*
.......**
..***.*
****..*
**
****..*
..***.*
.......**
........*
#P -27 -60
......*..*
**.....***
**..*.*
****..*
..****
.
..****
****..*
**..*.*
**.....***
......*..*
.
.
.
.
.
**
**...**
***.****
..***..*
.
....*..*
...**..*
....*..*
.
..***..*
***.****
**...**
**
#P 37 -60
.***
**..*
.***..*
.....**
.....*.**
...*....*
.***
.**
.***
...*....*
.....*.**
.....**
.***..*
**..*
.***
#P 69 -63
..**
****...*.*
**..*.*..**
**....**.**
.......***
....*....*
..**.*.*
.**
..**.*.*
....*....*
.......***
**....**.**
**..*.*..**
****...*.*
..**
#P -144 -56
**
**..*
****
..**
#P 130 -55
.***
**..*...***
.***..*.*.*
.....**..*
.....*.*
...*.....*
.***...*..*
.**...**..*
.***...*..*
...*.....*
.....*.*
.....**..*
.***..*.*.*
**..*...***
.***
#P -124 -46
..........*
..........*
........*
..*.**.*
****.*..*
**...**..*
****.*..*
..*.**.*
........*
..........*
..........*
#P -86 -44
.***
**..*
.***
.....*.*
.....*
.....*
.....*.*
.***
**..*
.***
#P -144 -37
..*
***
**
****.*
..***.*
....**
......*
.
.
.
.
.
..*
***
**
***.*.*
..*.**..*
.....*..*
.......*
.
.
.
.
.
**
**....*
***...*
..***
....**
#P 69 -38
.***
**..*
.******
....**..*
.......*.*
...*.*..*
.**.**...*
**
.**.**...*
...*.*..*
.......*.*
....**..*
.******
**..*
.***
#P 37 -35
.....**
..*..*
***.*
**....*
***..*
..*..*.*
.
....**
.
..*..*.*
***..*
**....*
***.*
..*..*
.....**
#P -124 -30
.......**.*
.....*
....***..*
..****
***
**
***
..****
....***..*
.....*
.......**.*
#P 130 -30
.**...*.*
**..****.*
.***.*.****
....*....*.*
...........*
........*
......*****
......**
......*****
........*
...........*
....*....*.*
.***.*.****
**..****.*
.**...*.*
#P -86 -24
..*
***
**
**.**
...*.*
...*.*
**.**
**
***
..*
.
.
.
.
.
..*..*
*******
**...**
****
..***
.....*
.....*
..***
****
**...**
*******
..*..*
#P -58 -27
...*.**.*
.**.*
**....*
.**.*.*.*
...*.**
......**
......**
...*.**
.**.*.*.*
**....*
.**.*
...*.**.*
#P -27 -26
.......*
.......*
**.....**
**..*...*
****..*
..****
.
..****
****..*
**..*...*
**.....**
.......*
.......*
.
.
.
.
.
........*
.......**
.**.....***
**..**....*
.****..*...*
.....*
.
.....*
.****..*...*
**..**....*
.**.....***
.......**
........*
#P 37 -15
.....**
..*..*
***.*
**....*..*
***..*..*
..*..*.**
.
....**
.
..*..*.**
***..*..*
**....*..*
***.*
..*..*
.....**
#P 130 -10
..**....**
.**...*...*
..**..*...*
....*...*
.........*
..****
***.*
**
***.*
..****
.........*
....*...*
..**..*...*
.**...*...*
..**....**
#P -144 -3
**
**
***
..****
....***..*
.....*
.......**.*
#P -121 -1
**....*
**....*
***.*
..****
.
..****
***.*
**....*
**....*
#P 37 5
...**.*
.**..****
**...**..*
.**
.......***
.......*.*
.....****.*
.....**
.....****.*
.......*.*
.......***
.**
**...**..*
.**..****
...**.*
#P -27 10
.......*
.......*..*
**.....****
**..*...**
****..*
..****
.
..****
****..*
**..*...**
**.....****
.......*..*
.......*
.
.
.
.
.
.......*
..***.**
****....**
**.....**
****...*
..*.****
.
..*.****
****...*
**.....**
****....**
..***.**
.......*
#P -144 14
..***
****...**
**....**..*
****....*
..***
#P -121 13
**
**..*
****..*
..****
.
..****
****..*
**..*
**
#P -87 14
........*
..*.**.*..*.*
****.*..*..**
**...**..*
****.*..*..**
..*.**.*..*.*
........*
#P 130 15
...*..*.***
.**.*.****
**.....*
.**.*...**
...*..**
.......****
.........*
.
.........*
.......****
...*..**
.**.*...**
**.....*
.**.*.****
...*..*.***
#P -87 26
........*.....**
..*.**.*..*.*....*
****.*..*..**..**
**...**..*
****.*..*..**..**
..*.**.*..*.*....*
........*.....**
#P 37 25
...*
.**.*
**.....*.*
.**.*.*.*
...*.*....*
......**..*
..........*
.......**
..........*
......**..*
...*.*....*
.**.*.*.*
**.....*.*
.**.*
...*
#P -144 29
..*.**
***...*
**.....*
***.*.*.*
..*...**
.....**
......*
#P -121 31
..**
****...**
**..*.**
**....*
.
.
.
.
.
..*...**.**
****.**..*..*
**...*....*
**....*.*
.........*
#P -87 38
**........*
**..*....**.*.*
***.***.**.**
..*.**..**...*
....**..*
..*.**..**...*
***.***.**.**
**..*....**.*.*
**........*
.
.
.
.
.
**....*
**..*.**......*
****...**.*.*.***
..**.....*...*.***
...........****.*
..**.....*...*.***
****...**.*.*.***
**..*.**......*
**....*
#P 130 40
**.......*
**...*...*
***.****
..*..*
....*...*
..*..**.*
***......*
**....**..*
***......*
..*..**.*
....*...*
..*..*
***.****
**...*...*
**.......*
#P -144 41
..*.*
****..**
**....*..*
****..*..**
..*.*..*..**
.
.
.
.
.
..*.**
****...**
**.....*..*
****...*..**
..*.**..*..**
#P 97 44
.***
**..*
.***..*
.....**
.....*.**
...*...*..*
.***.....*.*
.**...**..*
.***.....*.*
...*...*..*
.....*.**
.....**
.***..*
**..*
.***
#P -27 46
.....*.*
**...*.*
**..*.*
***.*....*
..*.**...*
....****
....****.*
....****
..*.**...*
***.*....*
**..*.*
**...*.*
.....*.*
#P 37 45
...**
...**..*
...***.***
.....*.**
.......**.*
...*..*.***
.**.**....**
**
.**.**....**
...*..*.***
.......**.*
.....*.**
...***.***
...**..*
...**
#P 69 52
.***
**..*...*
.***....*
.....*.*.**
.....*
...*..*
.***
.**
.***
...*..*
.....*
.....*.*.**
.***....*
**..*...*
.***
#P -121 60
..*...**.**
****.**..*....**
**...*....*.***..*
**....*.*.....****
.........*.....**
#P -144 61
..*.*
****..**
**....*
****..*
..*.*..*
.........*
.........*
#P -87 66
**
**..*.......*
****..*.*.*.***
..****.*...*.***
.........****.*
..****.*...*.***
****..*.*.*.***
**..*.......*
**
#P -58 66
.***....*
**..*..**
.******.***
....***...*
.......*...*
.
.......*...*
....***...*
.******.***
**..*..**
.***....*
#P -121 70
..*...**.**.....*
****.**..*..*..**
**...*....*.*****.*
**....*.*....*..***
.........*........**
#P -144 73
..*.**
****...**
**.....*
****...*
..*.**..*
..........*
..........*
#P -27 87
.***
**..*...*
.***...**
.....*.**.*
.....*...*
.....*...*
.....*.**.*
.***...**
**..*...*
.***
#P -58 -5
..*.**
****.*.*
**...***
****.*
..*.**.**
.
..*.**.**
****.*
**...***
****.*.*
..*.**
#P -58 11
..*.**.*
****.*
**...**.*
****.*
..*.**.**
.
..*.**.**
****.*
**...**.*
****.*
..*.**.*
#P -58 27
..*..**..**
****...*.*
**...**
**...**..*
.......*.**
.
.......*.**
**...**..*
**...**
****...*.*
..*..**..**
#P -58 43
..*
***....*
**....*
***.*...*
..*..*..*
.....***
.
.....***
..*..*..*
***.*...*
**....*
***....*
..*
#P 69 -13
..*...*
****.**
**...*..**
**....**.*
.
.......*..*
.....**.***
....**
.....**.***
.......*..*
.
**....**.*
**...*..**
****.**
..*...*
#P 69 7
..*...**
****.**
**...*
**....*.*
........*
.....*
...*****
...**
...*****
.....*
........*
**....*.*
**...*
****.**
..*...**
#P 69 27
..**
..**...*
..***.****.*
....**
......*...*
...*.*
.**..**
**
.**..**
...*.*
......*...*
....**
..***.****.*
..**...*
..**
#P 97 -61
**....*
**....*
***.*
..****
.......***
....*.***
..**..*
.**
..**..*
....*.***
.......***
..****
***.*
**....*
**....*
#P 97 -41
.**....*
**..**.*
.****..*
.....*
.......*
....*
..*****
..**
..*****
....*
.......*
.....*
.****..*
**..**.*
.**....*
#P 97 -21
.**....*
**....**
.**..*
...*.*...*
.
....*****.*
..***.*
..**
..***.*
....*****.*
.
...*.*...*
.**..*
**....**
.**....*
#P 97 -1
..**.....*
..**...**
..***.***.**
....**...**
......*...*
...*.*
.**..**
**
.**..**
...*.*
......*...*
....**...**
..***.***.**
..**...**
..**.....*
#P 97 19
**....**
**..*...*
****...*
..*****
.
....*.*
..**.**
.**
..**.**
....*.*
.
..*****
****...*
**..*...*
**....**
#P 5 -66
**..**
**........*
****....**
..***..**
....**.*
........*
.....**..*
........*
....**.*
..***..**
****....**
**........*
**..**
#P 5 -48
.**
**
.**
...*.*
.....**
..*...**
****
**
****
..*...**
.....**
...*.*
.**
**
.**
#P 5 -28
**
**
****
..*...**
.....**
...*.*
.**
**
.**
...*.*
.....**
..*...**
****
**
**
#P 5 -8
....*
.***.*..**.*
**..****
.**...**..*
.......***
....*..**
..*****
..**
..*****
....*..**
.......***
.**...**..*
**..****
.***.*..**.*
....*
#P 5 12
..**
.**...**
..**..****
....*...***
.
..****
***.*
**
***.*
..****
.
....*...***
..**..****
.**...**
..**
#P 5 32
.**
**..**..*
.****..**..*
.....*.****
........**
.....*.*
...**..*
..**
...**..*
.....*.*
........**
.....*.****
.****..**..*
**..**..*
.**
#P 5 52
...**
..**..*
...***..*
.......*
.......**
..*.**..**
****......*
**
****......*
..*.**..**
.......**
.......*
...***..*
..**..*
...**
/programs/demos/life2/lif/R135PUSH.lif
0,0 → 1,100
#Life 1.05
#R 135/3
#P 35 0
**
#P 64 -1
..***
**
..***
#P 80 -1
..***
**
..***
#P 96 -1
..***
**
..***
#P 112 -1
..***
**
..***
#P 128 -1
..***
**
..***
#P 144 -1
..***
**
..***
#P 160 -1
..***
**
..***
#P 176 -1
..***
**
..***
#P 192 -1
..***
**
..***
#P 208 -1
..***
**
..***
#P 224 -1
..***
**
..***
#P 240 -1
..***
**
..***
#P 256 -1
..***
**
..***
#P 272 -1
..***
**
..***
#P 288 -1
..***
**
..***
#P 304 -1
..***
**
..***
#P 320 -1
..***
**
..***
#P 336 -1
..***
**
..***
#P 352 -1
..***
**
..***
#P 368 -1
..***
**
..***
#P 384 -1
..***
**
..***
#P 400 -1
..***
**
..***
#P 416 -1
..***
**
..***
#P 432 -1
..***
**
..***
/programs/demos/life2/lif/R234KLDO.lif
0,0 → 1,8
#Life 1.05
#R /234
#P -1 -1
**
**
#P -1 1
.
.
/programs/demos/life2/lif/R2378PI.lif
0,0 → 1,7
#Life 1.05
#R 2378/38
#P -1 -1
***
*.*
#P -1 1
*.*
/programs/demos/life2/lif/R238COLL.lif
0,0 → 1,20
#Life 1.05
#R 238/357
#P 3 -3
...*
...**
....**
**...*
....**
...**
...*
#P 9 -2
...**
...**
*
...**
...**
#P 18 -1
*
*
*
/programs/demos/life2/lif/R238FISH.lif
0,0 → 1,11
#Life 1.05
#R 238/357
#P 3 -3
...*
...**
....**
**...**
#P 6 1
.**
**
*
/programs/demos/life2/lif/R238OSCS.lif
0,0 → 1,28
#Life 1.05
#R 238/357
#P -14 -6
..**...**...**...**...**
***..***..***..***..***..*
*..***..***..***..***..***
..**...**...**...**...**
#P -13 3
.*
***
***
.
***
***
.*
#P -4 3
***
***
.*
.
.*
***
***
#P 4 3
****
****
****
****
/programs/demos/life2/lif/R245FISH.lif
0,0 → 1,7
#Life 1.05
#R 245/368
#P -5 0
.*
**
#P -6 2
***
/programs/demos/life2/lif/R245PUFF.lif
0,0 → 1,10
#Life 1.05
#R 245/368
#P 5 -3
.*
*
*
*
#P 5 1
*
.*
/programs/demos/life2/lif/R2AQUA1.lif
0,0 → 1,23
#Life 1.05
#R /2
#P -4 -5
.*
*
*
.*
#P 4 -5
..*
*
*
..*
#P 12 -5
..*
*
*
.*
#P -3 4
...*
..*..*
*...*
*
.*
/programs/demos/life2/lif/R2COL.lif
0,0 → 1,10
#Life 1.05
#R /2
#P 2 -1
..*
*
*
..*
#P -3 1
.*
*
/programs/demos/life2/lif/R2DIAG.lif
0,0 → 1,134
#Life 1.05
#R /2
#P 1 1
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
..........*
...........*
............*
.............*
..............*
...............*
................*
.................*
..................*
...................*
....................*
.....................*
......................*
.......................*
........................*
.........................*
..........................*
...........................*
............................*
.............................*
..............................*
...............................*
#P 33 33
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
..........*
...........*
............*
.............*
..............*
...............*
................*
.................*
..................*
...................*
....................*
.....................*
......................*
.......................*
........................*
.........................*
..........................*
...........................*
............................*
.............................*
..............................*
...............................*
#P -63 -63
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
..........*
...........*
............*
.............*
..............*
...............*
................*
.................*
..................*
...................*
....................*
.....................*
......................*
.......................*
........................*
.........................*
..........................*
...........................*
............................*
.............................*
..............................*
...............................*
................................*
#P -30 -30
*
.*
..*
...*
....*
.....*
......*
.......*
........*
.........*
..........*
...........*
............*
.............*
..............*
...............*
................*
.................*
..................*
...................*
....................*
.....................*
......................*
.......................*
........................*
.........................*
..........................*
...........................*
............................*
.............................*
..............................*
/programs/demos/life2/lif/R2OSCS.lif
0,0 → 1,16
#Life 1.05
#R /2
#P -5 -1
*
.*
#P 3 -1
*
.**
.**
...*
#P 12 -1
*
.*
.
.*
*
/programs/demos/life2/lif/R2PASCAL.lif
0,0 → 1,23
#Life 1.05
#R /2
#P -252 0
*.......*.......*.......*.......*.......*.......*
*.......*.......*.......*.......*.......*.......*
#P -196 0
*.......*.......*.......*.......*.......*.......*
*.......*.......*.......*.......*.......*.......*
#P -140 0
*.......*
*.......*
#P 132 0
*
*
#P 140 0
*.......*.......*.......*.......*.......*.......*
*.......*.......*.......*.......*.......*.......*
#P 196 0
*.......*.......*.......*.......*.......*.......*
*.......*.......*.......*.......*.......*.......*
#P 252 0
*
*
/programs/demos/life2/lif/R2PUF.lif
0,0 → 1,12
#Life 1.05
#R /2
#P 8 0
*
.*
.
..*
#P 11 -1
.*
..*
..*
*
/programs/demos/life2/lif/R2PUF2.lif
0,0 → 1,13
#Life 1.05
#R /2
#P 5 -3
*
.*
..*
...*
...*
#P 3 2
...*
..*
.*
*
/programs/demos/life2/lif/R2PUF3.lif
0,0 → 1,12
#Life 1.05
#R /2
#P -5 -4
.*.*
....*
*...*
..*
#P -5 1
..*
*...*
....*
.*.*
/programs/demos/life2/lif/R2RAKE.lif
0,0 → 1,23
#Life 1.05
#R /2
#P 3 -1
.....*
.
....*
.
...*
*...*
*
#P 9 -2
*...*
...*
.
.
*
*
#P 17 -1
*....*
.*....*
..*...*
....*
...*
/programs/demos/life2/lif/R2RAKE2.lif
0,0 → 1,24
#Life 1.05
#R /2
#P -16 -11
*
*...*
...*..*
......*
....*
.
.....*...*
......*...*....*
.............*..*
..............*.*
#P -16 2
..............*.*
.............*..*
......*...*....*
.....*...*
.
....*
......*
...*..*
*...*
*
/programs/demos/life2/lif/R34ACORN.lif
0,0 → 1,8
#Life 1.05
#R 34/34
#P 1 0
**
.*
#P 3 1
*
**
/programs/demos/life2/lif/R34AQUA.lif
0,0 → 1,18
#Life 1.05
#R 34/34
#P 1 0
*
**
**
*
#P 6 0
****
...*
*..*
.***
.*
#P 13 0
.*
*..*
..**
.***
/programs/demos/life2/lif/R34BILL.lif
0,0 → 1,18
#Life 1.05
#R 34/34
#P -6 -6
..**.**.*.**
.*.********.*
*.*........*.*
**.********.**
.*.*..*.*.*.*
**.*.....**.**
.*.**.....*.**
#P -6 1
**.*.....**.*
**.**.....*.**
.*.*.*.*..*.*
**.********.**
*.*........*.*
.*.********.*
..**.*.**.**
/programs/demos/life2/lif/R34P12.lif
0,0 → 1,21
#Life 1.05
#R 34/34
#P -6 -7
.***
.**
***
#P 3 -7
..*
**
.*..*
.***
...*
#P -6 3
..*
.**
***
#P 2 3
...*
..**.*
*.**
..*
/programs/demos/life2/lif/R34P2.lif
0,0 → 1,90
#Life 1.05
#R 34/34
#P -16 -22
.*
**
*
#P -7 -22
***
.
.*
#P 0 -22
***
.*
.*
#P 6 -22
*
.**
.*
#P 14 -23
.*
.***
**
..*
#P -18 -14
**
*.**
**
#P -11 -14
*.*
*.**
**
#P -4 -14
..*
**.**
.*.*
.*.*
#P 4 -14
..**
**.*
.*.**
.**
#P 12 -14
.**
.*.**
*.*.*
**.*
..**
#P -20 -3
.*...............*
**...............**
..*.............*
....*.*.*.*.*.*
...*.*.*.*.*.*.*
.*...............*
.**.............**
*.................*
#P 2 -1
***..**..**..**..***
...**..**..**..**
.*................*
#P -18 12
...*
...*.*
.*
......**
**
......*
..*.*
....*
#P -7 12
...*.*.*..*.*
...*.*.**.*.*
.*............*
.
**............**
.
.*............*
...*.*.**.*.*
...*.*..*.*.*
#P 12 12
........*.*.*
...*.*.*..*.*
...*.*.*......*
.*
..............**
**
..............*
.*......*.*.*
...*.*..*.*.*
...*.*.*
/programs/demos/life2/lif/R34P3.lif
0,0 → 1,52
#Life 1.05
#R 34/34
#P -6 -9
.*
.*.*
**
..*
#P 1 -9
.****
*....*
*....*
*....*
*....*
.****
#P -27 3
.........*.*
...*.*.*.*.*
...*.*.......*
.*
.............**
**
.............*
.*.......*.*
...*.*.*.*.*
...*.*
#P -9 3
...........*.*.*
.........*.*.*.*
.......*...*.....*
...*.*.*.*
...*.*.*.........**
.*
.................*
**.........*.*.*
.........*.*.*.*
.*.....*...*
...*.*.*.*
...*.*.*
#P 13 3
...........*.*.*
.........*.*.*.*
...........*.....*
.......*
...*.*.*.*.......**
...*.*.*
.*...............*
...........*.*.*
**.......*.*.*.*
...........*
.*.....*
...*.*.*.*
...*.*.*
/programs/demos/life2/lif/R34P4.lif
0,0 → 1,7
#Life 1.05
#R 34/34
#P -1 -1
.*
***
#P 0 1
*
/programs/demos/life2/lif/R34STILL.lif
0,0 → 1,23
#Life 1.05
#R 34/34
#P -5 0
**
**
#P 2 0
..**
.*.*
*.*
**.*
.*.*
**
*.**
.**
#P 6 0
.**
**.*
..**
*.*
*.**
.*.*
*.*
**
/programs/demos/life2/lif/R45678FI.lif
0,0 → 1,9
#Life 1.05
#R 45678/35
#P -2 -2
*
.***
*****
#P -1 1
****
.*
/programs/demos/life2/lif/R45678G2.lif
0,0 → 1,13
#Life 1.05
#R 45678/35
#P -1 -5
.*
***
***
***
***
#P -1 0
***
***
***
.*
/programs/demos/life2/lif/R45678GO.lif
0,0 → 1,10
#Life 1.05
#R 45678/35
#P -1 -2
.*
***
***
#P -1 1
***
***
.*
/programs/demos/life2/lif/R45678OS.lif
0,0 → 1,173
#Life 1.05
#R 45678/35
#P -36 -20
..*
.***
*****
#P -27 -20
..*
.***
*****
*****
..*
#P -17 -20
..*
.***
*****
.***
.***
#P 17 -19
**
***
.**
#P 24 -20
......*
**.....**
***....***
.**.....**
...*......*
#P -1 -13
.**
.
****
#P 7 -13
.*
***
.*
#P -36 -11
.***
*****
.***
#P -26 -11
..*
*****
.***
#P 14 -12
.***
***
***
*
#P 24 -12
.**
***
****
..*
#P -12 -10
****
****
#P -37 -1
***
***
***
#P -29 -1
***
***
***
.*
#P -22 -1
.***
.***
.***
***
#P -14 -2
..***
.***
.***
.***
***
#P -6 -2
***
.***
.***
.***
***
#P 2 -1
****
.***
.***
...*
#P 10 -2
.*
.****
.***
****
...*
#P 19 -2
*
***
***
***
..*
#P 26 -2
..*
.***
.***
.***
***
#P 35 -1
.***
*****
*****
..*
#P 15 7
....*
....*
..*****
..*****
*******
..***
..***
#P 23 6
......*
......*
....*****
....*****
..*********
....*****
....*****
......*
......*
.
.
..*
*****
*****
******
*****
*****
..*
#P -30 9
.*
*****
.****
.****
.****
#P -22 9
..*
..****
******
..****
..****
#P -37 10
****
****
****
****
#P -12 10
..***
..***
*******
.*****
.*.*.*
#P -1 10
.***
****
****
****
#P 8 10
.***
****
****
***
#P 22 20
*
/programs/demos/life2/lif/R45678PO.lif
0,0 → 1,138
#Life 1.05
#R 45678/35
#P -22 -23
...*
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
*******
.*****
.*****
.*****
...*
...*
#P -3 -23
.**
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
****
.***
.****
.***
..**
#P 14 -23
..*
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
*****
.***
/programs/demos/life2/lif/R4OSC.lif
0,0 → 1,40
#Life 1.05
#R 4/4
#P -27 -8
......*
....***..*...**.***.**.**.*
.....*.***********.********
.....*....*
.....*
.*....**
.******
**....*
..*
..*
**....*
.******
.*....**
.....*
.....*....*.........*.*.**
.....*.************.**.****
....***..*...**.**.*.*
......*
#P 0 -8
...................*
*.**.**.**.**...*..***
*******************.*
...............*....*
....................*
..................**....*
...................******
...................*....**
.......................*
.......................*
...................*....**
...................******
..................**....*
....................*
**...*.........*....*
******.************.*
....*.*.**.**...*..***
...................*
/programs/demos/life2/lif/R5678LIN.lif
0,0 → 1,8
#Life 1.05
#R 5678/35678
#P -26 0
***************************
***************************
#P 1 0
***************************
**************************
/programs/demos/life2/lif/R5678MAT.lif
0,0 → 1,84
#Life 1.05
#R 5678/35678
#P -36 -20
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
**....**....**....**....**....**....*
..****..****..****..****..****..****
..****..****..****..****..****..****
#P 1 -20
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
*....**....**....**....**....**....**
.****..****..****..****..****..****
.****..****..****..****..****..****
/programs/demos/life2/lif/R5678NON.lif
0,0 → 1,35
#Life 1.05
#R 5678/35678
#P -15 -9
**************
.**************
..**************
...*************
....************
.....***********
......**********
.......*********
........********
.........*******
..........******
...........*****
............****
.............***
..............**
...............*
#P 1 -6
*
**
***
****
*****
******
*******
********
*********
**********
***********
************
*************
**************
.**************
/programs/demos/life2/lif/R5678OS2.lif
0,0 → 1,398
#Life 1.05
#R 5678/35678
#P -30 1
*.****
..****..**
....******
....*.****
......****
#P -3 1
****
..**..**
..******
....****
....****
#P -41 10
.****
.****
.***
****........***.*.*
..****........*.*.*
..****......***.***
....****....*.....*
....****....***...*
......****
......****
........****
........****
..........****
..........****
............****
............****
............*.****
..............****..**
..............*.******
................******
................*.****
#P -15 10
.****
.****
.***
****........*.*.***
*.****......*.*.*.*
..****......***.*.*
..*.****......*.*.*
....****......*.***
......****
......****
........****
........****
........*.****
..........****
............****
............****
............*.****
................**..**
................******
..................****
..................****
#P 11 10
.****
.****
.***
****........*.*.***
..****......*.*.*.*
..****......***.***
..*.****......*.*.*
....****......*.***
......****
......****
........****
........****
..........****
..........****
..........*.****
............****
............*.****
..............****..**
..............*.******
..................****
..................****
#P -41 35
..**
..**
****
.***
.****
.****........*.***
...****......*.*
...****......*.***
.....****....*.*.*
.....****....*.***
.......****
.......****
.......*.****
.........****
...........****
...........****
.............****
.............****
...............****
...............*.**..**
.................******
...................****
...................****
#P -41 62
.****
.****
.***
****
*.****.......***.***
..****.......*.*...*
..*.****.....***.***
....****.....*.*.*
....*.****...***.***
......****
........****
........****
........*.****
..........****
............****
............****
..............****
..............****
................****
................*.**..**
..................******
....................****
....................****
#P -13 62
.****
.****
.***
****
*.****.......***.***
..****.......*.*.*.*
....****.....***.***
....****.......*.*.*
....*.****...***.***
......****
......*.****
........****
..........****
..........****
..........*.****
............****
..............****
..............****
..............*.****
................*.**..**
..................******
....................****
....................****
#P 15 62
.****
.****
.***
****........*.***.*.*
..****......*...*.*.*
..****......*.***.***
....****....*.*.....*
....****....*.***...*
......****
......****
........****
........****
..........****
..........****
............****
............****
..............****
..............****
................****
................****..**
..................******
..................******
..................*.****
#P -41 89
..**
..**
****
.***
.****
.****
...****.......*.***
...****.......*.*
.....****.....*.***
.....****.....*.*.*
.....*.****...*.***
.......****
.........****
.........****
...........****
...........****
.............****
.............****
.............*.****
...............****
.................****
...................**..**
...................******
.....................****
.....................****
#P -12 89
..**
..**
****
.***
.****
.****
...****.......*.***
...****.......*.*
.....****.....*.***
.....****.....*.*.*
.......****...*.***
.......****
.......*.****
.........****
...........****
...........****
.............****
.............****
.............*.****
...............****
.................****
.................****..**
.................*.******
...................*.****
.....................****
#P 17 89
..**
..**
****
.***
.****.......*.***.***
.****.......*.*.*...*
...****.....*.***.***
...****.....*.*.*.*
.....****...*.***.***
.....****
.....*.****
.......****
.........****
.........****
...........****
...........****
.............****
.............****
.............*.****
...............****
...............*.****
...................**..**
...................******
.....................****
.....................****
#P -41 -114
..**......***
..**......*.*
****......***
.***......*.*
.****.....***
.****
...****
...****
...*.****
.....****..**
.......******
.......*.****
.........****
.
.
.
.
.****......***
.****......*.*
.***.......***
****.......*.*
..****.....***
..****
..*.****
....****
......****
......****..**
......*.******
..........****
..........****
#P -41 -80
.****................****....***.***
.****................****......*.*.*
.***.......***.......***.....***.***
****.......*........****.....*...*.*
..****.....***........****...***.***
..****.....*.*........****
..*.****...***..........****
....****................****
....*.****................****
......****................****
........****................****
........****..**............****..**
........*.******..............******
..........*.****..............******
............****..............*.****
.
.
.
.
..**.....................**
..**.....................**
****...................****......***.***
.***.......*.***........***........*.*.*
.****......*.*.*........****.....***.*.*
.****......*.*.*........****.......*.*.*
...****....*.*.*..........****...***.***
...****....*.***..........****
.....****.................*.****
.....****...................****
.....*.****...................****
.......****...................****
.........****...................****
.........****...................****
...........****...................****
...........****..**...............****..**
.............******...............*.******
.............******...................****
.............*.****...................****
#P -41 -38
.****
.****
.***.......***.***
****.........*.*.*
..****.....***.***
..****.....*...*.*
....****...***.***
....****
......****
......****
......*.****
........****
........*.****
..........****
............****
............****..**
..............******
..............******
..............*.****
#P -17 -38
.****
.****
.***.......*.*.***
****.......*.*.*.*
..****.....***.***
..****.......*.*.*
....****.....*.***
....****
....*.****
......****
........****
........****
..........****
..........****
............****
............*.**..**
..............******
................****
................****
#P -41 -15
..**
..**
****
.***.......***.*.*
.****........*.*.*
.****......***.***
...****....*.....*
...****....***...*
.....****
.....****
.......****
.......****
.........****
.........****
...........****
...........****
#P -16 -15
..**
..**
****
.***.......***.***
.****........*...*
.****......***.***
...****......*.*
...****....***.***
.....****
.....****
.....*.****
.......****
.........****
.........*.**
...........****
.............**
/programs/demos/life2/lif/R5678OSC.lif
0,0 → 1,171
#Life 1.05
#R 5678/35678
#P -22 -20
.*
**.**
..***
.******
.******
...***
...**.**
......*
#P -10 -19
...*.........*.........*
...*.*......*****......*
.****........****....***
...****......****......*
..*.*........*****....**
....*...........*
.
.
.
.............*.........*
.............*.*.......*
..****.....*****.....***
.*.**.*......*****.....*
.******.....******....**
.******.......******
.*.**.*.......****
..****..........*.*
................*
......................*
......................*
.............*......****
...*.........*.*......**
..*.***....*****.....***
..*****......*****.....*
..*****.....******.....*
..*.**.*......******
...****.......*****
................*****
................*.*
...........*......*
...........*.*
.*.......*****
**.*..*....*****.......*
..****....******
.*****......******
..*****.....******
..****........******...*
.*..*.**......****
......*.........*.*
................*
#P 14 -21
.*
.*.*
****
******
*****.......**...**
*******......*****
*****......*********
*****......*********
*.*.....***************
..*.......***********
.........*************
..........***********
.*......***************
**.........*********
****.......*********
****.........*****
******......**...**
******
..******
..*****.......*.*.*.*
....*****....********
*...*.*....***********
*.....*.....***********
***........***********
**..........***********
****.......***********
.*..........***********
.*.........***********
............***********
.............********
.............*.*.*.*
.*...*
.*.*.*
.********....*.*
*******......****
.*******....*******
*******....*******
.********...*******
*******....*******
..*.*.*......****
..*...*.......*.*
#P -29 -16
*.*
..*
***
#P -37 -11
.*
.
**.*
.
.***
#P -29 -9
.**
.
****
#P -22 -9
*.*.*.*
..*.*
***.***
.
.
***.***
..*.*
*.*.*.*
#P -37 -2
.*
**.*
*
*.*
#P -29 -3
**
**
****
****
#P -21 2
.*..*
****.*
.****
.****
*.****
.*..*
#P -39 5
.*
**.*
.**
*****
..*
*.*
#P -31 5
.*.*
**
.****
***
..*.*
*.*
#P -22 12
.*....*
**.**.**
..****
.******
.******
..****
**.**.**
.*....*
#P -34 14
.**
..*****
*******
.****
**.**
.*
#P -46 15
..**
...*
.*****
*****
..*
..**
/programs/demos/life2/lif/R5678POP.lif
0,0 → 1,92
#Life 1.05
#R 5678/35678
#P 12 -1
*
*
***
***
.****
.****
...****
...****
...*.****
.....****
.....*.****
.......****
.......*.****
.........****
...........****
...........****
...........*.****
.............****
#P 27 17
****
****
..****
..****
..*.****
....****
....*.****
......****
........****
........****
..........****
..........****
..........*.****
............********
............*.******
..............****
..............*..*
#P -24 -33
....****
....****
....***
...****
.....****
.....****
.......****
.......****
.........****
.........****
.........*.****
...........****
...........*.****
.............****
.............*.****
...............****
.****............****
.****............****
.***...............****
****...............****
..****.............*.****
..****...............****
..*.****...............****
....****...............****
......****.............*.****
......****...............****
......*.****...............****
#P -24 -6
........****...............****
........*.****...............****
..........****...............****
...****.....****.............*.****
...****.....****...............****
...***......*.****.............*.***
..****........****...............***
....****......*.****.............*.*
....****........****...............*
....*.****........****
......****........****
......*.****......*.****
........****........****
.****.....****......*.****
.****.....****........****
.***........****........****
****........****........****
..****........****......*.****
..****........********....****
..*.****........******......****
....********....****........********
....*.******....*..*..........******
......****....................****
......*..*....................*..*
/programs/demos/life2/lif/RABBITS.lif
0,0 → 1,11
#Life 1.05
#D Rabbits
#D Another small but vigorously growing population.
#D (If you look closely you can see a male and female rabbit!)
#D Andrew Trevorrow discovered Rabbits in 1986 using a
#D Methuselah search program.
#N
#P -3 -1
*...***
***..*
.*
/programs/demos/life2/lif/RACE.lif
0,0 → 1,92
#Life 1.05
#D A race between two gliders
#D
#D There's no winner, but at least
#D equality has been achieved.
#N
#P -6 -6
..*
.*.*
*..*
.**
#P -10 -10
..*****
.*....*
*..*
*.**
*
*
**
#P -14 -7
.*
*.*
.*
#P -7 -14
.*
*.*
.*
#P 2 -15
....*..*
....*
...*....*
..*.*..**
**.*
.
.
*..*
..**
#P 14 -8
**
**
**
.*
*.*
.*
*
#P 9 -3
***.*
****
....*
#P -15 2
....*..*
....*
...*....*
..*.*..**
**.*
.
.
*..*
..**
#P -3 9
**
**
**
.*
*.*
.*
*
#P -8 14
***.*
****
....*
#P 5 5
.**
*..*..**
*.*....*..*
.*.....*.*.*
....**.*..*
....*..*
.*....*
.*****
.
...*
..*.*
...*
#P 6 1
*.*
.**
.*
#P 1 6
*
.**
**
/programs/demos/life2/lif/RAKE.lif
0,0 → 1,33
#Life 1.05
#D Rake
#D
#D Two LWSS perturb the output of a
#D puffer train (PUFTRAIN) to make
#D a moving glider gun.
#N
#P -10 -8
.**
****
**.**
..**
#P -2 -8
...*
....*
*...*
.****
#P -2 -1
*
.**
..*
..*
.*
#P -2 6
...*
....*
*...*
.****
#P -19 9
.****
*...*
....*
...*
/programs/demos/life2/lif/RAKE2.lif
0,0 → 1,34
#Life 1.05
#D Backward Rake
#D
#D Two LWSS perturb the output of a
#D puffer train (PUFTRAIN) to make
#D a moving glider gun. Very
#D similar to RAKE.
#N
#P -10 -8
.**
****
**.**
..**
#P -2 -8
...*
....*
*...*
.****
#P -2 -1
*
.**
..*
..*
.*
#P -2 6
...*
....*
*...*
.****
#P -20 8
...*
....*
*...*
.****
/programs/demos/life2/lif/RAKE3.lif
0,0 → 1,78
#Life 1.05
#D Rake for the Breeder
#D
#D Uses a different puffer train
#D than the other rakes.
#N
#P 7 -12
.******
*.....*
......*
*....*
..**
#P 11 -4
**
.**
**
*
.
*
**
.**
**
#P 6 -6
..*
.*
**
*.*
.*
.
.
.
.*
*.*
**
.*
..*
#P 7 8
..**
*....*
......*
*.....*
.******
#P -4 -16
..**
*....*
......*
*.....*
.******
#P -4 12
.******
*.....*
......*
*....*
..**
#P -29 -13
..*
*...*
.....*
*....*
.*****
#P -29 9
.*****
*....*
.....*
*...*
..*
#P -89 -11
..*
*...*
.....*
*....*
.*****
#P -89 7
.*****
*....*
.....*
*...*
..*
/programs/demos/life2/lif/RAKEGUN.lif
0,0 → 1,1167
#Life 1.05
#D Rake Gun
#D
#D Yet another method of quadratic
#D growth (see also the BREEDERs
#D and SWITCPUF). Notice that you
#D can switch to backward rakes by
#D delaying the lwssgun farthest
#D west by two generations.
#D
#D By Achim Flammenkamp,
#D Aug 6, 1994.
#N
#P 139 -89
**
**
#P 137 -77
.*****
*.***.*
.*...*
..***
...*
#P 139 -69
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 144 -57
**
*
.***
...*
#P 126 -86
**
**
#P 123 -79
...*
..***
..***
.
**...**
**...**
#P 121 -64
*.....*
*.....*
.*...*
..***
#P 119 -54
..**
...*
***
*
#P 126 -54
.....*
***.**..**
****....**
....**
#P 73 -90
**
**
.
.*
*.*
*.*
.*
#P 71 -81
**.*.**
*.....*
.*...*
..***
#P 73 -64
.*****
*.***.*
.*...*
..***
...*
#P 76 -55
..***
.**.**
.**.**
.*****
**...**
#P 74 -48
..*
**.*
...*
.
*.**
..*..*
...*.*
#P 74 -37
..***
.*...*
*.....*
.*...*
..***
..***
#P 76 -28
**
**
#P 71 -71
.*
*
***
#P 64 -63
*
*.*
**
#P 68 -55
**
*.*
*
#P 56 -59
*
.**
**
#P 59 -51
.**
***
**.*
.***
..*
#P 60 -36
.**
.***
*.**
***
.*
#P 66 -46
...**
...*.*
**.*.*
*.*.*
..*
.*..*
.*
.*...*
.*
.*..*
..*
*.*.*
**.*.*
...*.*
...**
#P 54 -78
.**
.**
.
.
***
***
#P 52 -69
**...**
.*****
..***
...*
#P 50 -52
**...**
..***
.*...*
..*.*
...*
#P 53 -44
**
**
#P 53 -37
.**
.**
.
.
..**
*.**
*
*
*..*
.**
#P 110 17
...*
.***
*
**
#P 104 27
...***
..*...*
.*.....*
.*.....*
.
.*
.**
.**
**..*
.*.*
..**
#P 103 40
**...**
**...**
.
..***
..***
...*
#P 105 51
**
**
#P 97 17
.....*
***.**..**
****....**
....**
#P 100 27
**
**
#P 95 31
.**
*.*
..*
#P 91 19
***
*
.*
#P 85 20
*
***
...*
..**
#P 87 29
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P 89 39
...*
..***
.*...*
*.***.*
.*****
#P 92 54
**
**
#P 77 13
**
**
#P 75 20
..***
.
..*.*
.*****
**...**
**...**
#P 76 28
..**
**.**
*..*
...*
*
.**
#P 77 36
**...**
.*****
..***
...*
#P 74 48
...*
..***
..***
.
**...**
**...**
#P 72 56
..**
.*.*
**
.**
.**
....***
#P 72 66
**...**
.
.*...*
..***
..***
#P 74 75
**
**
#P 70 37
..*
**
.**
#P 66 49
.**
**
..*
#P 67 18
...**
...*.*
**.*.*
*.*.*
..*
.**
***
***
***
.**
..*
*.*.*
**.*.*
...*.*
...**
#P 61 22
***
*..*
*
*
.*.*
#P 60 37
.***
*..*
...*
...*
*.*
#P 53 14
..**
.*.*
***
**
...**
..***
#P 55 22
**
**
#P 54 29
**
**
#P 51 37
..***
.*...*
.
*.....*
**...**
#P 56 44
**
*.*
..*
.**
#P 54 48
*
*..*
*
#P 53 53
**.*.**
.
*.....*
.
.**.**
...*
#P 56 63
**
**
#P 42 43
***
***
.
.
**
**
#P 40 36
...*
..***
.*****
**...**
#P 42 18
...*
..*.*
.*...*
..***
**...**
#P 47 13
...*
.***
*
**
#P 40 27
.**
**
..*
#P 32 22
**
.**
*
#P 29 9
.*.*
....*
*....*..**
**.*..*.**
....**
#P 22 10
*
***
...*
..**
#P 24 19
**...**
*.....*
.
.*...*
..***
#P 26 30
...*
.**.**
.
*.....*
.
**.*.**
#P 29 44
**
**
#P 17 1
...*
.***
*
**
#P 12 7
..***
..***
.*...*
.
**...**
#P 11 15
**
*.*
*
#P 10 25
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P 12 35
**
**
#P 5 13
***
..*
.*
#P 3 8
***
*
.*
#P 4 1
....**
**....****
**..**.***
....*
#P -8 4
*
***
...*
..**
#P -6 13
..***
.*...*
*.....*
**.*.**
#P -3 19
...*
..**
.
.*.**
*..**
****
#P -4 27
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -1 38
**
**
#P 7 -23
..**
**.**
****
.**
#P 7 -15
..**
**.**
****
.**
#P -2 -24
*..*
....*
*...*
.****
#P -10 -8
.**
****
**.**
..**
#P -28 -66
**
**
.
.
***
***
#P -30 -57
**...**
.*****
..***
...*
#P -28 -40
**...**
..***
.*...*
..*.*
...*
#P -23 -34
**
*
.***
...*
#P -30 -47
..*
**
.**
#P -31 -34
*.*
.**
.*
#P -33 -30
**
**
#P -41 -31
.*..**
*...**
*
.****
#P -36 -39
**
**
#P -41 -63
**
**
#P -44 -53
**.*.**
.
*.....*
.
.**.**
...*
#P -46 -41
..***
.*...*
.
*.....*
**...**
#P -48 -31
..**
...*
***
*
#P -53 -23
..**
**.**
****
.**
#P -62 -24
*..*
....*
*...*
.****
#P -70 -8
.**
****
**.**
..**
#P -54 -32
**
*
.***
...*
#P -59 -40
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...***
#P -60 -64
.**
*..*
...*
...*
.*.*
.*.*
..*
#P -61 -55
**...**
*.....*
.
.*...*
..***
#P -61 -44
*
*.*
**
#P -67 -33
..**
.***
*.*..*..**
**..**..**
....**
#P -72 -67
**
**
#P -75 -62
...*
..*.*
.*...*
..***
**...**
#P -74 -53
*
*
*.***
#P -72 -49
...*
*.**
**
#P -77 -44
**...**
**...**
.*****
..*.*
.
..***
#P -79 -35
..**
...*
***
*
#P -84 -35
**
*
.***
...*
#P -89 -47
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -91 -55
.*****
*.***.*
.*...*
..***
...*
#P -89 -67
**
**
#P -93 -45
*
*.*
**
#P -29 4
...*
.***
*
**
#P -34 13
**...**
*.*.*.*
.*****
..***
...*
#P -36 25
..***
.**.**
.**.**
.*****
**...**
#P -32 34
**
#P -34 38
**
**
#P -35 4
***
..*
.*
#P -37 16
**
*.*
*
#P -47 1
....**
****....**
***.**..**
.....*
#P -54 1
*
***
...*
..**
#P -52 13
**...**
..***
.*...*
..*.*
...*
#P -48 19
***
***
#P -50 24
**...**
.*****
..***
...*
#P -47 35
**
**
#P -42 11
**
**
#P -92 -5
**
.**
*
#P -94 3
...*
.***
*
**
#P -99 12
**...**
*.....*
.
.*...*
..***
#P -101 23
...*
.**.**
.
*.....*
.
**.*.**
#P -99 37
**
**
#P -103 15
.**
**
..*
#P -107 10
**
.**
*
#P -112 0
....**
**.*..*.**
**..*....*
.....*
......*.*
#P -119 0
*
***
...*
..**
#P -117 12
.*****
*.***.*
.*...*
..***
...*
#P -113 17
**
*.*
*.*
.*
#P -115 23
**.*.**
*.....*
.*...*
..***
#P -112 34
**
**
#P -102 -33
......**
......***
**..*..*.*
**..**..**
....**
#P -97 -40
..*
*.*
.**
#P -102 -64
**
**
#P -105 -57
...*
..***
..***
.
**...**
**...**
#P -104 -49
.**
.*.*
*..**
..**
..**
...*
#P -107 -42
*.....*
*.....*
.*...*
..***
#P -109 -32
..**
...*
***
*
#P -114 -32
**
*
.***
...*
#P -119 -49
.*
*.*
*.*
.**
#P -119 -45
...*
..***
.*...*
*.***.*
.*****
#P -121 -55
..***
.*...*
*.....*
**.*.**
#P -119 -64
**
**
#P -119 -31
**
**
#P -127 -32
.****
*
*...**
.*..**
#P -124 -40
**
**
#P -122 -24
*..*
....*
*...*
.****
#P -130 -8
.**
****
**.**
..**
#P -132 -67
**
**
#P -135 -57
**.*.**
.
*.....*
.
.**.**
...*
#P -129 -46
*
.**
**
#P -137 -45
..***
.*...*
.
*.....*
**...**
#P -139 -35
..**
...*
***
*
#P -149 -67
**
**
#P -151 -61
..***
..***
.*...*
.
**...**
#P -151 -52
....***
.**
.**
**
.*.*
..**
#P -149 -44
**...**
**...**
.
..***
..***
...*
#P -144 -35
**
*
.***
...*
#P -163 -64
.**
.**
.**
.*
*.*
*.*
.*
#P -165 -55
**...**
*.*.*.*
.*****
..***
...*
#P -167 -39
..***
.*...*
*.....*
.*...*
..***
..***
#P -169 -32
..**
...*
***
*
#P -162 -32
.....****
**.......*
**..**...*
....**..*
#P -161 -44
*.*
.**
.*
#P -164 -22
**
**
#P -175 -25
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -180 -24
.**
*.*
..*
***
**
#P -183 -22
.*
**
#P -189 -27
..**
.*.*
*
*..*
*
.*.*
..**
#P -189 -16
*
*.*
**
#P -203 -24
**
***
..**.*
..*..*
..**.*
***
**
#P -208 -19
.**
..*
.*
**
#P -212 -21
***
#P -210 -19
*
*
*
#P -221 -22
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -226 -19
**
**
#P -201 -12
..*
*.*
.**
#P -214 -1
**
**
#P -208 -3
....*
..*.*
**
**
**
..*.*
....*
#P -199 1
*
*
*
#P -198 -3
..*
****
**..*
...**
#P -191 -1
**
**
...**
...***
...**
**
**
#P -180 1
**
**
#P -173 -6
.**
*
#P -182 -16
.**....*....**
*..*.*...*.*..*
***.........***
...**.....**
..*..*****..*
..**.......**
#P -190 -8
.**
****
**.**
..**
#P -173 -1
.****
*.......**
*...**..**
.*..**
#P -157 -1
.**
*.*
..*
#P -188 9
*
***
...*
..**
#P -182 14
*
*
#P -186 18
**...**
.*****
..***
...*
#P -184 30
..***
.
..*.*
.*****
**...**
**...**
#P -184 38
...*
.**
.
*
.
.*..*
...**
#P -179 22
*
..*
.*
#P -177 19
.**
*..*
#P -173 14
..*
**
#P -181 8
..**
.***
*.*..*..**
**..**..**
....**
#P -163 12
...*
.***
*
**
#P -168 19
..***
.**.**
.**.**
.*****
**...**
#P -170 26
..*
**.*
...*
.
*.**
..*..*
...*.*
#P -170 37
..***
.*...*
*.....*
.*...*
..***
..***
#P -168 46
**
**
/programs/demos/life2/lif/RANDGUN.lif
0,0 → 1,159
#Life 1.05
#D Pseudorandom number generator with p46 logic
#D A glider stream is emitted representing a pseudorandom binary
#D sequence satisfying the recursion a[n] = a[n-1] XOR a[n-12].
#D (By spreading out the pattern, the 12 can be changed.) The
#D sequence has period 3255, so the gun has period 46*3255 = 149730.
#D Built by Bill Gosper, October 1989 or earlier
#D (Header by Dean Hickerson, 4/11/93)
#N
#P -41 61
**
**
#P -33 53
..**
.*.*
**.*
.**
..*
.
..*
.**
**.*
.*.*
..**
#P -5 56
.**
**.**
.*..*
.*..*
..**
.
..**
.*..*
.*..*
**.**
.**
#P 6 64
**
**
#P 49 -6
**
**
**
#P 42 -3
***...***
*.*...*.*
*..*.*..*
..**.**
#P 42 5
**.....**
**.*.*.**
*..*.*..*
***...***
#P 49 21
**
**
#P -8 -30
**
**
#P 1 -38
..*
.**
**....*
.**....**
.
.
.
.**....**
**....*
.**
..*
#P 19 -30
**
**
#P -36 -64
**
**
#P -24 -66
...*
..**
.***.*
**
.**
..*
.
..*
.**
**
.***.*
..**
...*
#P -14 -59
...*
.**.*
**.***
.*..*
..**
#P -9 -64
**
**
#P -47 -48
**
**
#P -49 -34
..**.....**
.*..*...*..*
....**.**
...*.*.*.*
...*.*.*.*
.*.........*
*...........*
#P -47 -25
*
**
#P -45 -26
**.**
.*.*..*
.***.*.**
*****.****
.*.**.**.*
**.......**
**.......**
***.....***
..***.***
....*.*
.*..*.*..*
*..*...*..*
.**.....**
#P -44 -1
**
**
#P -30 -30
**
**
#P -32 -14
.***.....***
**.**...**.**
**.*.*.*.*.**
.*...*.*...*
.*..*...*..*
..***...***
#P -30 -3
**
**
#P -28 3
**
**
#P -29 18
***.....***
***.....***
.**.....**
...*...*
.*..*.*..*
*...*.*...*
.*..*.*..*
.***...***
#P -28 30
**
**
/programs/demos/life2/lif/RANDGUN2.lif
0,0 → 1,159
#Life 1.05
#D Pseudorandom number generator with p120 logic
#D A glider stream is emitted representing a pseudorandom binary
#D sequence satisfying the recursion a[n] = a[n-1] XOR a[n-11].
#D (By spreading out the pattern, the 11 can be changed.) The
#D sequence has period 1533, so the gun has period 120*1533 = 183960.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 3/21/92
#N
#P -94 -90
**
.*
.*.*
..**
#P -86 -88
**
..*
...*
...*
...*
..*
**
#P -69 -90
*
*.*
...**
...**
...**
*.*
*
#P -63 -91
.**
*..*
.**
#P -57 -93
**
*..*
....*
....*
....*
*..*
**
#P -46 -91
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -32 -88
.*
**
#P -75 -85
.*
..*
***
#P -52 -75
**.*
*.**
#P -47 -71
**
.*
.
.
***
.**
#P -49 -65
**
***
.*.*
..**
#P -88 -59
**
*
#P -91 -54
...*
..***
.*...*
*.***.*
.*****
#P -89 -36
..***
.*...*
*.....*
**.*.**
#P -86 -25
.*
**
#P -85 -45
***
..*
.*
#P -71 -52
*
***
...*
..**
#P -69 -43
*.....*
**...**
.
..***
..***
...*
#P -71 -32
..***
..***
.*...*
.
**...**
#P -68 -18
*
**
#P -73 -40
***
*
.*
#P 87 52
**
*
#P 85 59
...*
..***
..***
.
**...**
*.....*
#P 87 74
*.....*
*.....*
.*...*
..***
#P 77 84
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P 70 86
*
*.*
...**
...**
...**
*.*
*
#P 59 88
*
**
#P 88 68
.*
*
***
#P 81 76
*
*.*
**
/programs/demos/life2/lif/RANDLWSS.lif
0,0 → 1,197
#Life 1.05
#D Pseudorandom LWSS generator with p46 logic
#D A lightweight spaceship stream is emitted representing a
#D pseudorandom binary sequence satisfying the recursion
#D a[n] = a[n-1] XOR a[n-19]. (By spreading out the pattern,
#D the 19 can be changed.) The sequence has period 413385,
#D so the gun has period 46*413385 = 19015710.
#D Built by Bill Gosper, October 1989 or earlier
#D (Header by Dean Hickerson, 4/11/93)
#N
#P 16 -18
**
**
#P 15 -32
.**
*.*
*..*
.**
#P 22 -32
.**
.*.*
*..*
.**
#P 16 -45
**
**
#P -40 -94
**
**
#P -57 -102
..**
.*..**
******
..****
.
.
.
..****
******
.*..**
..**
#P -65 -102
.**
.**
*..*
.**.*
.**.*
#P -67 -96
...**.*
...**.*
**.***
*.*.*
.****
..**
#P -119 -51
**
**
#P -118 -39
**...**
#P -120 -34
**.*
*..*
.***
#P -113 -34
*.**
*..*
***
#P -119 -24
**
**
#P -139 -8
**
**
#P -141 -1
..***...***
.*..*...*..*
.*...*.*...*
**.*.*.*.*.**
**.**...**.**
.***.....***
#P -135 10
...*
..*.*
.*...*
.*****
*.*.*.*
.*...*
.
.*...*
*.*.*.*
.*****
.*...*
..*.*
...*
#P -139 19
**
**
#P -105 13
**
**
#P -93 5
.**
*..*
*..*
.***
.
.
.
.***
*..*
*..*
.**
#P -78 13
**
**
#P -72 11
**
**
#P -60 3
.**
*..**
*...*
.*..*
.***
.
.***
.*..*
*...*
*..**
.**
#P -45 11
**
**
#P -120 33
**
**
#P -106 24
......*
.*...*
*
*..**
.**
..***
.
..***
.**
*..**
*
.*...*
......*
#P -98 22
.....***...*
...*****..*.*
..**...**...*
..***...*..*
.*.**...***
..*
*..**...***
*****...*..*
..**...**...*
********..*.*
*..*.***...*
..*
.**
#P -73 30
**
**
#P -63 27
**
**
#P -55 19
..**
.*.*
**.*
.**
..*
.
..*
.**
**.*
.*.*
..**
#P -27 22
.**
**.**
.*..*
.*..*
..**
.
..**
.*..*
.*..*
**.**
.**
#P -16 30
**
**
/programs/demos/life2/lif/RELAY.lif
0,0 → 1,12
#Life 1.05
#D Relay between two pentadecathlons
#D Well known.
#N
#P -17 -2
**********
#P -1 0
*
.**
**
#P 8 2
**********
/programs/demos/life2/lif/RELAY2.lif
0,0 → 1,242
#Life 1.05
#D Relay with pit stops
#D Authors: David Bell, Dean Hickerson.
#N
#P -56 -60
***
*
.*
#P -61 -59
**
...*
*
....*
....*
.
..**
.*
#P -70 -61
....**
...***
*.**
*..*
*.**
...***
....**
#P -77 -58
**
**
#P -63 -49
**...**
**...**
.*****
..*.*
.
..***
#P -65 -40
..**
...*
***
*
#P -61 -38
..**
.*.*
.*
**
#P -52 -43
...*
..**
.**
***
.**
..**
...*
#P -45 -41
**
**
**
.
.
***
***
#P -47 -31
**...**
.*****
..***
...*
#P -49 -22
..**
...*
***
*
#P -45 -20
..**
.*.*
.*
**
#P -33 -25
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -31 -17
...*
..*.*
.*...*
..***
**...**
#P -33 -4
..**
...*
***
*
#P -29 -2
..**
.*.*
.*
**
#P -20 -7
**
***
..**.*
..*..*
..**.*
***
**
#P -15 3
..***
.
..*.*
.*****
**...**
**...**
#P -15 11
...*
.**
.
*
.
.*..*
...**
#P 54 57
.*
..*
***
#P 57 51
...*
.**
.
*
*
....*
.*
...**
#P 65 54
**
***
..**.*
..*..*
..**.*
***
**
#P 76 56
**
**
#P 57 43
..***
.
..*.*
.*****
**...**
**...**
#P 62 36
...*
.***
*
**
#P 58 34
..**
..*
*.*
**
#P 49 36
*
**
.**
.***
.**
**
*
#P 43 34
***
***
.
.
.**
.**
.**
#P 41 27
...*
..***
.*****
**...**
#P 46 18
...*
.***
*
**
#P 42 16
..**
..*
*.*
**
#P 29 18
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 25 12
**...**
..***
.*...*
..*.*
...*
#P 30 0
...*
.***
*
**
#P 26 -2
..**
..*
*.*
**
#P 15 0
....**
...***
*.**
*..*
*.**
...***
....**
#P 9 -9
**...**
**...**
.*****
..*.*
.
..***
#P 11 -18
**
*..*
.
....*
.
..**
.*
/programs/demos/life2/lif/REVFUSE.lif
0,0 → 1,535
#Life 1.05
#D Reversible Pi Fuse
#D By Dean Hickerson.
#D Uses a pi-heptomino reaction that
#D climbs a row of blinkers. This
#D example has a period of 1200 gens.
#D See also SPARK2PI, PIPUF.
#N
#P -163 -46
**
**
#P -159 -48
*
.**
#P -154 -49
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -140 -51
..**
.*.*
*
*..*
*
.*.*
..**
#P -134 -49
.**
*..*.**
.**..**
#P -142 -44
*
.**
**
#P -135 -36
*.*
.**
.*
#P -127 -29
*
.**
.*
#P -129 -25
*..*
.**
#P -119 -34
..**
..*
*.*
**
#P -115 -29
..**
..*
*.*
**
#P -135 -21
**
.**
*
#P -158 -16
**
**
#P -148 -18
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P -138 -16
....*
..*.*
**
**
**
..*.*
....*
#P -128 -19
**
**
#P -124 -14
**
**
#P -162 -2
**
**
#P -152 -5
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P -142 -7
....*
..*.*
**
**
**
..*.*
....*
#P -128 -4
**
**
#P -139 2
*
.**
**
#P -132 1
**
**
#P -133 7
.**
*..*
.
...*
...**
..*
#P -119 9
**
*.*
..*
..**
#P -123 14
**
*.*
..*
..**
#P -139 17
.*
.**
*.*
#P -146 25
**
.**
*
#P -167 28
**
**
#P -163 30
.**
*
#P -158 26
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -144 28
..**
.*.*
*
*..*
*
.*.*
..**
#P -138 30
.**..**
*..*.**
.**
#P -116 -5
**
.**
*
#P -112 -14
*
.**
**
#P -98 -25
...*
.***
*
**
#P -91 -9
*
*
*
#P -75 -8
***
#P -57 -9
*
*
*
#P -41 -8
***
#P -23 -9
*
*
*
#P -7 -8
***
#P 11 -9
*
*
*
#P 27 -8
***
#P 45 -9
*
*
*
#P 61 -8
***
#P 79 -9
*
*
*
#P 95 -8
***
#P -72 13
**
**
#P -67 10
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -49 12
..**
.*.*
*
*..*
*
.*.*
..**
#P -43 14
.**
*..*.**
.**..**
#P -58 16
*
*.*
**
#P -66 23
.*
*
***
#P -68 18
**
**
#P -83 26
..**
.*.*
.*
**
#P -79 31
..**
.*.*
.*
**
#P -68 29
.**
*..*
.**
#P -60 28
**
*..*
*..*
...*
.
*..*
..*
#P -67 47
**
**
#P -59 45
...**
.*..*
*
*
*
.*..*
...**
#P -52 44
.***
*..*.*
**
.
....***
#P -43 43
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -33 45
**
**
#P 36 14
....**
**.*..*
**..**
#P 45 12
**
*.*
...*
*..*
...*
*.*
**
#P 62 10
.*
*.*
**.*
**.**
**.*
*.*
.*
#P 70 13
**
**
#P 55 16
..*
*.*
.**
#P 66 18
**
**
#P 78 15
.**
*.*
..*
#P 79 26
**
*.*
..*
..**
#P 75 31
**
*.*
..*
..**
#P 66 24
.*
**
#P 63 30
.**
*.*
..*
#P 56 38
***
..*
.*
#P 31 45
**
**
#P 37 43
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 45 44
...***
.*.*..*
.....**
.
***
#P 54 45
**
*..*
....*
....*
....*
*..*
**
#P 65 47
**
**
#P 94 -25
*
***
...*
..**
#P 111 -29
**
.*
.*.*
..**
#P 115 -34
**
.*
.*.*
..**
#P 127 -49
....**
**.*..*
**..**
#P 136 -51
**
*.*
...*
*..*
...*
*.*
**
#P 147 -49
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 156 -48
..*
**
#P 161 -46
**
**
#P 139 -44
..*
**
.**
#P 125 -25
**.**
**.**
..*
#P 126 -19
**
**
#P 132 -21
.**
**
..*
#P 122 -14
**
**
#P 133 -16
*
*.*
...**
...**
...**
*.*
*
#P 140 -18
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P 156 -16
**
**
#P 126 -4
**
**
#P 137 -7
*
*.*
...**
...**
...**
*.*
*
#P 144 -5
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P 160 -2
**
**
#P 130 1
**
**
#P 136 2
..*
**
.**
#P 129 6
..*
**.**
**.**
#P 115 9
..**
.*.*
.*
**
#P 119 14
..**
.*.*
.*
**
#P 143 25
.**
**
..*
#P 131 30
**..**
**.*..*
....**
#P 140 28
**
*.*
...*
*..*
...*
*.*
**
#P 151 26
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 160 30
**
..*
#P 165 28
**
**
/programs/demos/life2/lif/ROT8.lif
0,0 → 1,274
#Life 1.05
#D A field of roteightors
#D Well known.
#N
#P -4 -25
*
***
...*
..**
#P -9 -21
*
***
...*
..*
..*
#P -14 -17
*
***
...*
..**
#P -19 -13
*
***
...*
..*
..*
#P -24 -9
*
***
...*
..**
#P -25 0
..**
.*.*
.*
**
#P -21 5
..**
.*.*
.*
**
#P -17 10
..**
.*.*
.*
**
#P -13 15
..**
.*.*
.*
**
#P -9 20
..**
.*.*
.*
**
#P 0 20
.*
.*
*
.***
...*
#P 5 17
**
*
.***
...*
#P 10 12
.*
.*
*
.***
...*
#P 15 9
**
*
.***
...*
#P 20 4
.*
.*
*
.***
...*
#P 21 -4
..**
..*
*.*
**
#P 17 -9
..**
..*
*.*
**
#P 13 -14
..**
..*
*.*
**
#P 9 -19
..**
..*
*.*
**
#P 5 -24
..**
..*
*.*
**
#P -20 -3
***
*..*
*
.*
#P -16 -9
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P -11 -11
.***
.*..*
.*
..*
.
.
.
.
.
***
*..*
*
.*
#P -12 7
***
*..*
*
.*
#P -6 -17
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P -8 1
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P -1 -19
.***
.*..*
.*
..*
.
.
.
.
.
***
*..*
*
.*
#P -3 -1
.***
.*..*
.*
..*
.
.
.
.
.
***
*..*
*
.*
#P -4 17
***
*..*
*
.*
#P 3 -16
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P 1 2
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P 7 -9
.***
.*..*
.*
..*
.
.
.
.
.
***
*..*
*
.*
#P 6 9
***
*..*
*
.*
#P 11 -6
...*
....*
.*..*
..***
.
.
.
.
.
..*
...*
*..*
.***
#P 16 1
***
*..*
*
.*
/programs/demos/life2/lif/ROUND2.lif
0,0 → 1,117
#Life 1.05
#D LWSS going round and round
#D
#D Turning reaction by Paul Callahan, July 1994
#N
#P -23 -40
**
**
#P -24 -29
.***...***
*..*...*..*
....*.*
....*.*
....*.*
*..*...*..*
.*.......*
#P -18 -19
..*
**.**
.
**.**
*...*
.***
#P -23 -13
**
**
#P 39 -23
**
**
#P 23 -24
.*...*
*.....*
......*
.*...**
..***
.
..***
.*...**
......*
*.....*
.*...*
#P 14 -18
.**.*
*.*.*
*....*
*.*.*
.**.*
#P 12 -23
**
**
#P 22 39
**
**
#P 14 23
.*.......*
*..*...*..*
....*.*
....*.*
....*.*
*..*...*..*
.***...***
#P 14 14
.***
*...*
**.**
.
**.**
..*
#P 22 12
**
**
#P -40 22
**
**
#P -29 14
.*...*
*.....*
*
**...*
..***
.
..***
**...*
*
*.....*
.*...*
#P -19 14
.*.**
.*.*.*
*....*
.*.*.*
.*.**
#P -13 22
**
**
#P -7 -13
.*..*
*
*...*
****
#P 10 -7
***
*..*
*
*
.*.*
#P 3 10
.****
*...*
....*
*..*
#P -13 3
*.*
...*
...*
*..*
.***
/programs/demos/life2/lif/RPENTO.lif
0,0 → 1,13
#Life 1.05
#D r-pentomino
#D A small, vigorous, common pattern.
#D
#D When the Game of Life was first
#D introduced around 1970, this was
#D proposed as the smallest pattern
#D for which the outcome was unknown.
#N
#P 3 3
.**
**
.*
/programs/demos/life2/lif/SAWTOOT2.lif
0,0 → 1,574
#Life 1.05
#D Parabolic sawtooth
#D Population is unbounded but does not tend to infinity; its graph as
#D a function of time is a sawtooth with a parabolic envelope.
#D The pattern works by repeating the following operation for each n>=0.
#D A 4-glider salvo is sent southeast toward a block A, arriving in
#D generation 20 n^2 + 144 n + a[n mod 3], where a[0]=a[2]=131 and
#D a[1]=91. Block A is pushed 1 unit southeast and another block, B, is
#D created upstream from A. Then, every 108 generations, 2 gliders hit B,
#D pulling it 3 units northwest. Eventually B gets deleted by a glider, at
#D generation 20 n^2 + 180 n + b[n mod 3], where b[0]=193, b[1]=223,
#D and b[2]=227. Then another 4-glider salvo is sent toward A.
#D The population is minimal around the time B is deleted. (The minimum
#D appears to be 1208 in generations 180 n^2 + 540 n + 210 and
#D 180 n^2 + 660n + 450.) The population is maximal around the time B is
#D created: there are about n/30 2-glider salvos on their way toward B
#D around generation t = 20 n^2 + 144 n, so the population is about
#D n/3 ~ sqrt(t/180) at this time.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 6/26/91
#N
#P 46 41
**
*
#P 47 32
**
*
#P 46 14
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P 56 14
**
*
#P 54 3
**...**
**...**
.*****
..*.*
.
..***
#P 56 -11
...*
..***
.*****
**...**
#P 53 -25
*.....*
**...**
.
..***
..***
...*
#P 51 -42
..***
..***
.*...*
.
**...**
#P 53 -48
**
*
#P 46 -4
...**
...*.*
**.*.*
*.*.*
..*
..**
..***
..***
..***
..**
..*
*.*.*
**.*.*
...*.*
...**
#P 35 -36
**
*
#P 32 -30
...*
.**.**
.
*.....*
.
**...**
#P 30 -13
**...**
*.....*
.
.*...*
..***
#P 33 -2
**
*
#P 39 -13
**
*
#P 27 -7
**
*
#P 24 7
**
*
#P 11 3
..*
*.*
.**
#P 9 9
.*
..*
***
#P 12 -9
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P 6 -11
**
.*
.*.*
..**
#P 44 -38
**
*
#P 42 -48
..***
.*...*
*.....*
*.....*
#P 40 -63
*.....*
**...**
.
..***
..***
...*
#P 42 -72
**
*
#P 22 -72
**
*
#P 19 -62
..***
.*...*
*.....*
*.....*
#P 20 -57
.*
**
#P 17 -52
..***
..***
.*...*
.
**...**
#P 19 -38
**
*
#P 20 -26
.....*..*
**..**...*
*........*
.....****
#P 17 -29
*.*
**
.*
#P 11 -29
**
*
#P 9 -40
**...**
*.....*
.
.*...*
..***
#P 7 -57
...*
.**.**
.
*.....*
.
**...**
#P 9 -63
**
*
#P -2 -28
....**
****....**
***.**..*
.....*
#P -6 -31
.*
*
***
#P -16 -40
**
*
.***
...*
#P -21 -51
...*
..***
..***
.
**...**
*.....*
#P -19 -61
**...**
.
.*...*
..***
..***
#P -16 -72
**
*
#P -13 -51
.*
..*
***
#P -10 -37
..**
..*
*.*
**
#P -23 -35
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -29 -37
**
.*
.*.*
..**
#P -25 -40
**
*
.***
...*
#P -30 -50
*.....*
*.....*
.*...*
..***
#P -32 -65
...*
..***
..***
.
**...**
*.....*
#P -29 -72
**
*
#P -29 -56
.*
*
***
#P -47 -65
**
*
#P -50 -53
.*****
*.***.*
.*...*
..***
...*
#P -52 -45
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -50 -31
**
*
#P -44 -30
....**
.*....****
**..**.***
....*
#P -58 -45
**
*
#P -61 -38
...*
..***
..***
.
**...**
*.....*
#P -63 -23
*.....*
*.....*
.*...*
..***
#P -60 -8
**...**
**...**
.*****
..*.*
.
..***
#P -58 2
...*
..*.*
.*...*
..***
**...**
#P -55 17
**
*
#P -60 -29
.*
..*
***
#P -37 -21
.*
.**
*.*
#P -40 -12
..**
...*
.
*..*
.*..*
..*.*
...*
.
..**
..*
#P -21 -21
.*
..*
***
#P -29 -16
*
***
...*
..**
#P -27 -7
*.....*
*.....*
.*...*
..***
#P -25 5
**
*
#P -43 12
**
*
#P -31 10
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -22 8
....**
...***
*.**
*..*
*.**
...***
....**
#P -11 6
..**
..*
*.*
**
#P -11 2
**
*
#P -7 -3
*
.**
**
#P -6 -11
..*
*.*
.**
#P -20 17
**
*
#P -16 20
**
.**
*
#P -8 18
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P -45 31
**
*
#P -35 29
*.*
*...*
....*
.....*
....*
*...*
*.*
#P -23 31
...**
.*..*
*
*
*
.*..*
...**
#P -11 33
**
*
#P 2 32
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P -54 44
**
*
#P -46 41
**
..*
...*
...*
...*
..*
**
#P -29 39
*
*.*
...**
...**
...**
*.*
*
#P -20 41
**
*
#P -35 44
.*
..*
***
#P -49 59
**
*
#P -41 57
**
..*
...*
...*
...*
..*
**
#P -24 59
*
*.*
...**
...**
...**
*.*
*
#P -15 61
**
*
#P -15 43
***
..*
.*
#P -15 50
..**
.*.*
.*
**
#P -6 45
**
***
..**.*
..*..*
..**.*
***
**
#P 8 43
...*
..**
.**
***
.**
..**
...*
#P 19 45
**
*
#P -10 63
**
*
#P -1 61
**
***
..**.*
..*..*
..**.*
***
**
#P 13 63
...*
..**
.**
***
.**
..**
...*
#P 22 68
**
*.*
..*
..**
#P 21 55
..**
.*.*
***
**
...**
..***
.
.
..**
..*
#P 27 52
....*
**..**.***
*.....****
....**
#P 43 56
**
*
.***
...*
/programs/demos/life2/lif/SAWTOOT3.lif
0,0 → 1,621
#Life 1.05
#D Orthogonal sawtooth with expansion factor 21
#D Population is unbounded but does not tend to infinity. Its graph is
#D a sawtooth function with ever-increasing teeth. More specifically,
#D the population in generation t = 18*21^n + 222 (n>=0), is
#D 7t/60 + 1290, but the population in generation 6*21^n + 193 (n>=1)
#D is only 1212.
#D This uses a spark from a c/3 orthogonal spaceship ("turtle") to turn
#D a HWSS into a loaf, which is then pulled back by pairs of LWSSs. When
#D the loaf is pulled all the way back, another HWSS is fired toward the
#D c/3, starting the cycle again. The HWSS synthesis, using 2 gliders,
#D a Kok's galaxy, and a figure 8, is due to David Buckingham.
#D This was the first sawtooth built.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 4/10/91
#N
#P -33 2
*.......***
**.**.*..**
.*....***
.*...*.*..*
.*....*....*
.*....*....*
.*...*.*..*
.*....***
**.**.*..**
*.......***
#P 66 -25
**
*
#P 55 -28
**
*..*
....*
....*
....*
*..*
**
#P 42 -30
...*
..****
.**.*
***.*.*
.**.*
..****
...*
#P 32 -32
**
.*
.*.*
..**
#P 32 -25
.**
*..*
*
*
*.**
..*
.
.
.**
.*
#P 41 -20
..*
**
.**
#P 46 -16
**
*
#P 69 -12
**
*
#P 54 -14
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 44 -12
**
***
..**.*
..*..*
..**.*
***
**
#P 35 -7
..**
.*.*
.*
**
#P 35 -12
**
*
#P 15 -23
.**
*..*
...*
...*
**.*
.*
.
.
.**
.*
#P 9 -16
*
.**
**
#P 12 -5
**
*.*
..*
..**
#P -1 -10
...*
.****
..*.**
*.*.***
..*.**
.****
...*
#P -12 -12
...**
.*..*
*
*
*
.*..*
...**
#P -20 -14
**
.*
.*.*
..**
#P 15 -30
..**
..*
*.*
**
#P 6 -28
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -12 -26
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -17 -21
..**
.*.*
.*
**
#P 9 -34
**
*
#P 1 -37
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -18 -39
....**
...***
*.**
*..*
*.**
...***
....**
#P -25 -41
**
.*
.*.*
..**
#P -25 -20
.*
*
***
#P -30 -56
**
*
#P -33 -49
...*
..***
..***
.
**...**
*.....*
#P -35 -34
*.....*
*.....*
.*...*
..***
#P -30 -24
**
*
.***
...*
#P -32 -40
.*
..*
***
#P -40 -19
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P -49 -57
..**
..*
*.*
**
#P -58 -55
**
*..*
....*
....*
....*
*..*
**
#P -75 -53
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -81 -50
**
*
#P -49 -50
.**
.*.*
..***
...**
**
***
.
.
.**
.*
#P -56 -44
.*
..*
***
#P -86 -35
**
*
#P -80 -37
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -63 -35
**
*..*
....*
....*
....*
*..*
**
#P -52 -32
**
*
#P -82 -21
**
*
#P -75 -24
....**
....*
.**
***
.**
....*
....**
#P -60 -26
**
..*
...*
...*
...*
..*
**
#P -50 -28
..**
..*
*.*
**
#P -58 -16
.*
..*
***
#P -62 -12
**
*
#P -51 -21
..**
..*
.
.
..***
...**
**
***
.*.*
..**
#P -85 -8
**
*
#P -73 -10
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -65 -8
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -53 -3
**
*.*
..*
..**
#P -72 23
**
*
#P -60 20
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -51 18
....**
...***
*.**
*..*
*.**
...***
....**
#P -38 20
**
*
#P -49 27
**
*
#P -72 43
**
*
#P -63 41
*
**
.**
.***
.**
**
*
#P -46 43
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -40 37
...**
..*.*
..*
.**
..*.**
..*.*
*.*..*
**..**
#P -33 32
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -16 30
**
*.*
...*
*..*
...*
*.*
**
#P -7 28
..**
..*
*.*
**
#P -23 18
.**
.*
.
.
.*
**.*
...*
...*
*..*
.**
#P -22 33
.*
..*
***
#P -36 48
**
*
#P -28 46
**
..*
...*
...*
...*
..*
**
#P -11 48
*
*.*
...**
...**
...**
*.*
*
#P -4 53
**
*.*
..*
..**
#P -5 40
..**
.*.*
***
**
...**
..***
.
.
..**
..*
#P -17 47
***
..*
.*
#P 5 46
..**
.*.*
.*
**
#P 14 41
**
*.*
...*
*..*
...*
*.*
**
#P 25 39
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 39 41
**
*
#P 5 33
.**
*..*
...*
...*
**.*
.*
.
.
.**
.*
#P 12 24
..**
.*.*
.*
**
#P 23 19
*
*.*
...**
...**
...**
*.*
*
#P 30 21
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P 44 26
**
*.*
..*
..**
#P 22 28
..*
**
.**
#P 51 19
**
.*
.*.*
..**
#P 61 21
...*
..****
.**.****
***.**...*
.**.**...*
..*****...*
...*...***
#P 74 23
**
*..*
....*
....*
....*
*..*
**
#P 85 26
**
*
#P 47 31
..*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P 48 44
..**
.*.*
.*
**
#P 54 39
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 74 37
.*
*.*
**.*
**.**
**.*
*.*
.*
#P 82 39
**
*
#P -53 5
.**.**.*
**..**.**
........*
**
**.....**
.......**
*
**.**..**
.*.**.**
#P -39 11
***
***
***
...***
...***
...***
/programs/demos/life2/lif/SAWTOOT4.lif
0,0 → 1,304
#Life 1.05
#D Orthogonal sawtooth with expansion factor 11
#D Population is unbounded but does not tend to infinity. Its graph is a
#D sawtooth function with ever-increasing teeth. More specifically, the
#D population in generation t = 36*11^n - 37 (n>=1), is 7(t+1)/30 + 746, but the
#D population in generation 12*11^n - 51 (n>=1) is only 635 if n is even, 633 if
#D n is odd. This uses a spark from a period 9, speed c/3 orthogonal spaceship,
#D found by David Bell, to turn a LWSS into a loaf, which is then pulled back by
#D pairs of LWSSs. When the loaf is pulled all the way back, it gets deleted and
#D the cycle begins again. (The deletion is caused by interaction with a LWSS
#D and with 3 gliders which would otherwise form a LWSS.)
#D
#D Try putting something in the path of the c/3, far away from the guns. When
#D the beam of LWSSs hits the resulting garbage, it is likely that a loaf will
#D eventually be formed and pulled back. No matter where the loaf starts, when
#D it reaches the guns it will be deleted by one of 3 different reactions. (The
#D block behind the c/3 is used for one of these; it's not needed for the
#D sawtooth pattern itself.) The beam of LWSSs will again be released and may
#D eventually form another loaf. The process may be repeated many times until
#D either the LWSS beam burns through the garbage or the reaction moves upstream
#D and consumes the guns.
#D
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 5/15/92
#N
#P 20 5
**
.*
.*.*
..**
#P 21 -11
...............*...**
..............*....***
................***...*
.*.........*...*.**.*.**
.**........***......*.*
..*.**.*.**..*....*..***
..*...***...*........*.**.*
..*.....**..*....******....**
*.*....**..................**
..*.....**..*....******....**
..*...***...*........*.**.*
..*.**.*.**..*....*..***
.**........***......*.*
.*.........*...*.**.*.**
................***...*
..............*....***
...............*...**
#P 29 7
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 39 9
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 54 12
.*
**
#P 31 16
*
**
#P 26 19
***
*
.*
#P 51 25
**
.*
#P 40 23
**
.*
...**
...***
...**
.*
**
#P 27 25
..**
.*
*
*
*
.*
..**
#P 17 27
*
**
#P 41 -24
.*
**
#P 31 -27
*.*
*...*
....*
.....*
....*
*...*
*.*
#P 15 -29
...**
.*..*
*
*
*
.*..*
...**
#P 23 -25
*
*.*
**
#P -1 -26
....*
..*.*
**
**
**
..*.*
....*
#P -5 -22
*
**
.*
#P -11 -24
..**
.*
*
*
*
.*
..**
#P -21 -19
..**
.*.*
.*
**
#P 2 -17
*
.**
**
#P 18 -10
**
*
#P 13 -2
.**
****
**.**
..**
#P 3 -5
...*
....*
*...*
.****
#P -27 -5
...*
....*
*...*
.****
#P -25 -18
*.*
**
.*
#P 4 -30
.*
**
#P -7 -33
**
*..*
....*
....*
....*
*..*
**
#P -20 -35
...*
..****
.**.****
***.**...*
.**.**...*
..*****...*
...*...***
#P -30 -32
**
*
#P -48 -32
**
.*
#P -51 -27
...*
.*...*
.*****
**...**
.*****
..***
...*
#P -53 -8
**...**
.
*.....*
.
.**.**
...*
#P -48 0
**
*
.***
...*
#P -47 -14
*.*
.**
.*
#P -57 -2
*
***
...*
..**
#P -55 6
..***
.*...*
.
*.....*
**...**
#P -53 22
**...**
.
*.....*
.
.**.**
...*
#P -50 32
*
**
#P -44 -5
.*
*.*
.*
#P -43 7
.**
*.*
..*
#P -23 -13
.**.........**
*..*.......*..*
***.........***
...*********
..*..*****..*
..**..***..**
#P -31 9
*
**
#P -23 6
...**
..*.*
.***
***
.***
..*.*
...**
#P -12 4
...*
..*.*
**...*
.*...*
**...*
..*.*
...*
#P 1 2
..**
..*
*.*
**
#P -3 14
.**
*.*
..*
#P -28 22
**
*
#P -23 20
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -5 22
**
***
..**.*
..*..*
..**.*
***
**
#P 6 24
.*
**
/programs/demos/life2/lif/SAWTOOT5.lif
0,0 → 1,935
#Life 1.05
#D Orthogonal sawtooth with expansion factor 25
#D Population is unbounded but does not tend to infinity. Its graph is a
#D sawtooth function with ever-increasing teeth. More specifically, the
#D population in generations t near 30 * 25^n is about 59t/225 if t is odd,
#D about 7t/10 if t is even but not == 46 (mod 60), and about 211t/900 if
#D t == 46 (mod 60); the population in generation 6 * 25^n - 1125 (n>=2) is
#D only 1846. (Even more specifically, the population in generation
#D t = 30 * 25^n - 525 (n>=1), is 59t/225 + 1951.)
#D
#D A shotgun produces a salvo of 4 eastward lightweight spaceships every 120
#D generations. Some are deleted; the others eventually catch up to a pair of
#D c/3 spaceships and reflect off the backs of them, forming westward
#D middleweight spaceships. When a MWSS returns to the shotgun, it causes the
#D deletion of 5 salvos. (Notice the unusual eatering of a pi heptomino, by 2
#D blocks, that's used in this deletion.) So the region between the shotgun and
#D the c/3s alternately becomes full and empty of spaceships.
#D
#D The c/3 spaceships were found by David Bell, who suggested this way of making
#D a sawtooth.
#D
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 8/26/92
#N
#P 178 -48
..*
.*.*
...**
..*
...**
..***
.
.*..*
..*.*
....*
...*
.*.*
..*
..**
.
.*..*
.....*
..*..**
.****
.**.*
..*.*
..***
...**
**.*
*
*
***
...**
*..**
.*
..**
.***
#P 162 4
.***
..**
.*
*..**
...**
***
*
*
**.*
...**
..***
..*.*
.**.*
.****
..*..**
.....*
.*..*
.
..**
..*
.*.*
...*
....*
..*.*
.*..*
.
..***
...**
..*
...**
.*.*
..*
#P 173 -43
.*
**
#P 160 -46
....**
...***
*.**
*..*
*.**
...***
....**
#P 148 -48
*
**
.**
.***
.**
**
*
#P 131 -51
....*
..*.*
**
**
**
..*.*
....*
#P 127 -47
.*
**
*
#P 121 -49
..**
.*
*
*
*
.*
..**
#P 111 -46
**
*
#P 132 -36
.**
.*
.
.
**.*
.*.*
..*
.**
.**
.**
#P 156 20
.*
**
#P 142 18
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P 131 16
**
*..*
....*
....*
....*
*..*
**
#P 122 14
**
.*
.*.*
..**
#P 133 25
**
.*
#P 153 34
**
.*
#P 142 32
**
*.*
...*
*..*
...*
*.*
**
#P 131 34
.*
*.*
**.*
**.*.*
**.*
*.*
.*
#P 118 26
...*
..**
.
...*
..*.*
.*..*
*..*
.
...*
..**
#P 119 39
..**
.*.*
.*
**
#P 117 50
**
.*
#P 108 47
*
*.*
...**
...**
...**
*.*
*
#P 90 49
....**
....*
.**
***
.**
....*
....**
#P 79 52
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P 78 48
*
**
#P 75 34
.**
*..*
...*
...*
**.*
.*
.
.
..*
.**
#P 64 50
**
*..*
....*
....*
....*
*..*
**
#P 55 52
**
*
#P 88 31
.....****
**.......*
*...**...*
.....*..*
#P 122 -11
*
*.*
**
#P 116 -24
...*
....*
*...*
.****
#P 106 8
.****
*...*
....*
...*
#P 97 6
.**
****
**.**
..**
#P 99 -2
.*
**
*.*
#P 89 -52
.*
**
#P 78 -54
*
**
.**
.***
.**
**
*
#P 73 -52
.*
**
#P 67 -56
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P 50 -59
**
.*
...**
...***
...**
.*
**
#P 33 -57
....*
..*.*
**
**
**
..*.*
....*
#P 27 -54
*
**
#P 50 -50
**
*
#P 48 -44
.**
.*
.
.
***
**
...**
..***
.*.*
.**
#P 44 -35
**
.*
#P 37 -35
**
*
#P 68 -22
...*
....*
*...*
.****
#P 56 -24
...*
....*
*...*
.****
#P 52 -5
**
.*
.*.*
..**
#P 59 41
**
.*
#P 48 39
...*
..**
.**
***
.**
..**
...*
#P 30 41
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 25 43
*
**
#P 21 29
.**
.*
.
.*..*
*..*
*.*
.*
.
.**
.*
#P 64 26
.*
**
#P 53 23
...*
..**
.**
***
.**
..**
...*
#P 35 21
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 30 24
**
*
#P 44 27
*.*
**
.*
#P 24 24
.*
**
*.*
#P 46 8
.****
*...*
....*
...*
#P 37 6
.**
****
**.**
..**
#P 25 15
..*....*
**.*..*.**
**......**
***....***
#P 24 -11
.*......*
**.*..*.**
.*.*..*.*
..*....*
#P 22 -41
.*
***
.
.
.
.
***
.*
#P 8 -22
...*
....*
*...*
.****
#P -4 -24
...*
....*
*...*
.****
#P 2 -5
..*
*.*
.**
#P 3 22
.*
.**
.
.*
*.*
*..*
.*..*
.
.*
.**
#P 2 35
.*
**
#P -12 33
....*
..*.*
**
**
**
..*.*
....*
#P -16 33
.*
**
*
#P -22 31
..**
.*
*
*
*
.*
..**
#P -32 33
**
*
#P -2 20
.*
.**
*.*
#P -3 13
..**
..*
*.*
**
#P -12 15
..**
.*.*
*
*..*
*
.*.*
..**
#P -26 17
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -35 15
**
.*
.*.*
..**
#P -17 -1
......*
.....*
.*..*....*
**.*..*.**
....**
#P 4 -50
.*
**
#P -5 -53
*
*.*
...**
...**
...**
*.*
*
#P -23 -55
....**
....*
.**
***
.**
....*
....**
#P -39 -52
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -42 -48
*
**
#P -49 -50
...*
..**
.**
***
.**
..**
...*
#P -58 -48
*
**
#P -28 -35
..*
*.*
.**
#P -37 -32
......**
......***
*...*..*.*
**..**..**
....**
#P -35 -2
.**.........**
*..*.*...*.*..*
***.........***
...**.....**
..*..*****..*
..**.......**
#P -23 6
.**
****
**.**
..**
#P -30 26
**
*.*
..*
..**
#P -38 21
*.*
*...*
....*
.....*
....*
*...*
*.*
#P -54 23
...**
.*..*
*
*
*
.*..*
...**
#P -62 28
..**
.*.*
.*
**
#P -65 21
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -82 19
**
*.*
...*
*..*
...*
*.*
**
#P -91 21
**
*
#P -46 23
**
*.*
*
#P -72 19
.**
*.*
..*
#P -44 -1
**
.*
#P -55 -3
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -73 -1
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -78 4
..**
.*.*
.*
**
#P -75 -5
..**
..*
*.*
**
#P -82 -3
*
*.*
...**
...**
...**
*.*
*
#P -100 -1
....**
....*
.**
***
.**
....*
....**
#P -116 -4
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -119 -3
**
*
#P -126 -6
...*
..**
.**
***
.**
..**
...*
#P -135 -1
..**
.*.*
.*
**
#P -52 -22
...*
....*
*...*
.****
#P -64 -24
...*
....*
*...*
.****
#P -59 -35
**
.*
#P -73 -37
...*.*
.*...*
.*
*
.*
.*...*
...*.*
#P -84 -35
**
*..*
....*
....*
....*
*..*
**
#P -93 -30
..**
.*.*
.*
**
#P -81 -39
.*
**
#P -62 -48
.*
**
#P -73 -51
**
*.*
...*
*..*
...*
*.*
**
#P -84 -53
.*
*.*
**.*
**.*.*
**.*
*.*
.*
#P -96 -50
**
*
#P -97 -15
....**
**..**..**
*...*..*.*
......***
......**
#P -117 -50
**
.*
#P -126 -53
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -142 -51
**
*.*
.***
..***
.***
*.*
**
#P -151 -48
*
**
#P -112 -22
...*
....*
*...*
.****
#P -124 -24
...*
....*
*...*
.****
#P -122 -30
**
*.*
..*
..**
#P -131 -35
**
.*
...**
...***
...**
.*
**
#P -148 -37
....*
..*.*
**
**
**
..*.*
....*
#P -154 -39
**
.*
.*.*
..**
#P -151 -30
**
.*
#P -164 -33
....**
....*
.**
***
.**
....*
....**
#P -174 -31
*
*.*
...**
...**
...**
*.*
*
#P -185 -33
**
.*
.*.*
..**
#P -135 -18
..**
.***
*.*..*...*
**..**..**
....**
#P -153 -17
..**.......**
..*.........*
...*********
***..*****..***
*..*..***..*..*
.**.........**
#P -135 -7
**
.*
#P -149 -9
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -160 -7
**
*.*
...*
*..*
...*
*.*
**
#P -169 -5
*
**
#P -157 -10
.**
**
..*
#P -185 -26
*
***
...*
..**
#P -183 -17
**...**
*.....*
.
.*...*
..***
#P -181 -6
...*
.**.**
.
*.....*
.
**...**
#P -178 8
.*
**
#P -175 -14
**
.**
*
/programs/demos/life2/lif/SAWTOOT6.lif
0,0 → 1,260
#Life 1.05
#D Diagonal sawtooth with expansion factor 4
#D Population is unbounded but does not tend to infinity. Its graph
#D is a sawtooth function with ever-increasing teeth.
#D
#D A p960 gun sends gliders southwest. Some are deleted; the others
#D reflect off the back of a Cordership. Each returning glider
#D deletes 2 outgoing ones.
#D
#D Note the use of an in-line inverter found by David Bell.
#D This was built by David Bell 8/29/92
#D (header written by Dean Hickerson)
#N
#P 20 -7
....*.*..*.*
**.*..*..*..*.**
....*.*..*.*
#P 50 -3
..***
.*...*
*.....*
#P 49 1
*
*
#P 57 1
*
*
#P 50 4
*.....*
.*...*
..***
#P 48 -35
**..**
**.*..*
....**
#P 57 -37
**
*.*
...*
*..*
...*
*.*
**
#P 68 -35
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 77 -34
..*
**
#P 82 -32
**
**
#P 60 -30
..*
**
.**
#P 53 -22
*.*
**
.*
#P 47 -28
**
*.*
*
#P 33 -15
**..**
**.*..*
....**
#P 42 -17
**
*.*
...*
*..*
...*
*.*
**
#P 49 -12
**
#P 53 -15
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 62 -14
..*
**
#P 67 -12
**
**
#P 45 -10
..*
**
.**
#P -67 111
......*
.
.*.**
.*.*......*
*....**...*
.*........*
.*.......*
.
.....*
#P -55 118
..***
...**.**
...**.*
...*.*
...*.*
....**
......*
...*.*
..*
.
.
....*...*
*...*
......*
.....**
.
..**.**
....*
#P -41 137
......*
.
.*.**
.*.*......*
*....**...*
.*........*
.*.......*
.
.....*
#P -28 138
..***
..*.*
**..*
***
***
#P -55 97
.....*
***.*.****
...**.*
.**....**.*
#P -45 101
..*
**.*.**
..**.*
....*
#P -43 107
.....*
..***.**
**.***
....*
.
...*
...*
...*
.*.*
..*
#P -42 120
...*
...**
....*
.*.*
*..*
*.*
*.*
.*
#P -35 76
.**
..**
..*
..**
.**
.
..*
***
...*.*
.*...**
.....*
.
.***
#P -22 95
...*
..***
.
*...*....*.*
*....**.*****
*..*.*..*...*
.....*
#P -9 102
.**
..**
..*
..**
.**
.
..*
***
...*.*
.*...**
.....*
.
.***
#P -38 74
**
**
#P -46 82
**
**
#P -54 90
**
**
#P -62 98
**
**
#P 0 120
**
**
#P -8 128
**
**
#P -16 136
**
**
#P -84 -144
..*
.**
***
.**
..*
#P -75 -144
*
**
***
**
*
#P -73 -151
**...**
**...**
.*****
..*.*
.
..***
#P -71 -160
**
*..*
.
....*
.
..**
.*
/programs/demos/life2/lif/SAWTOOT7.lif
0,0 → 1,681
#Life 1.05
#D Sawtooth with external timing
#D A p8 blinker puffer (found by Bob Wainwright) moves west. A glider
#D bounces between a fixed reflector (in gens 480*2^n-701 (n>=1))
#D and a southeastward Cordership (in gens 720*2^n-661 (n>=1)).
#D Each bounce from the fixed reflector releases a salvo (formed in
#D gens 480*2^n-310 (n>=1)) consisting of a MWSS and 2 LWSSs aimed
#D toward the line of blinkers. The salvo hits the nearest blinker
#D in gen 2400*2^n-880n-3115 (n>=1), causing the blinker line to
#D decay at 2c/3. (Another salvo, present in the initial pattern,
#D hits in gen 5.) When the decay catches up to the puffer, a new
#D line of blinkers starts to form (in gen 3840*2^n-880n-3760 (n>=0)).
#D
#D When the salvo hits the blinker line, the population is large,
#D about 180*2^n in gens around 2400*2^n. (Specifically, in gen
#D 2400*2^n-880n-3115 there are 60*2^n-29 blinkers.) When the
#D decay catches up with the puffer, the population is bounded, about
#D 1400 in gens around 3840*2^n-880n.
#D (This header was written by Dean Hickerson, 4/4/93)
#D David I. Bell, dbell@pdact.pd.necisa.oz.au, 27/10/92
#N
#P -72 -85
.**
**.***
.*****
..***
.
.
.*****
.*
.*
..*
....*
#P -70 -72
.**
**.****
.******
..****
#P -64 -78
*
*
*
#P -59 -81
..***
.*****
**.***
.**
#P -45 -83
..**
.****
**.**
.**
#P 34 70
.*****
.**.*
..***
..**
..*
.*.*
.**
*.***
.*...*
*...*
....***
..**
..**.**
....*
#P 17 91
.......*.*
**...**.*
*****.**...**
*.**.*.*...**
.**....*.**..*
........*.*.*
..........*.*
#P 8 94
......*
.....*
.****.*
.**.***
..***
..**
..*
.*.*
.**
*.***
.*...*
*...*
....***
..**
..**.**
....*
#P 18 83
***
.*..*
.....*
..*.*
#P 7 84
...***
.****.*
****..*
.*
#P 4 81
..*
**.*
**..*
.**
#P -6 83
.*.*
.*..*
*...**
*
.
*..***
**
..***
..***
#P -4 95
*
.*
.*
.**
.*
***
.**
#P -6 94
.*
*
#P -9 97
.*
*
.
.**
#P -6 105
*..*
.**
#P -28 73
..*
.*.*.**
...*..**..*
......*..***
*..*..****.**
.*.*.....***
..*.......*
#P -8 53
....*
.*...*
*.....*
.**.**
.
.*
.****
..*.*
....*
...***
..**.**
...***
....*
#P -2 47
..*
.*.*.**
...*..**..*
......*..***
*..*..****.**
.*.*.....***
..*.......*
#P -29 81
**
**
#P -21 89
**
**
#P -13 97
**
**
#P 17 43
**
**
#P 25 51
**
**
#P 33 59
**
**
#P 12 70
***
*
.*
#P -66 36
.*
**
#P -69 25
**.*.**
*.....*
.*...*
..***
#P -66 20
.*
**
#P -71 14
.*****
*.***.*
.*...*
..***
...*
#P -66 2
...*
.***
*
**
#P -75 2
..**
...*
***
*
#P -73 -11
...*
..*.*
.*...*
..***
**...**
#P -68 -14
.*
**
#P -71 -21
...*
..***
.*****
**...**
#P -68 -30
**
**
#P -53 -5
..**
...*
***
*
#P -51 -14
**...**
*.....*
.
.*...*
..***
#P -53 -31
...*
.**.**
.
*.....*
.
**.*.**
#P -55 -37
*
***
...*
..**
#P -28 -14
..**
.*.*
.*
**
#P -21 -19
....**
...***
*.**
*..*
*.**
...***
....**
#P -13 -18
.**.*
.*...*
*....*
****
.*
#P -5 -17
*
**
.**
.***
.**
**
*
#P -4 -24
.*
.**
*.*
#P 9 -20
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 19 -22
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 34 -20
**
**
#P 11 -24
***
*
.*
#P 2 -31
.....*
****.*
*.*.**
..*
.**
#P -8 -35
..**
..**
.
.
..***
...**
**
***
.*.*
..**
#P -75 -45
**
**
#P -70 -47
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -59 -47
..**
*..*
*...*
*..**
#P -61 -42
***
#P -52 -45
**
***
..**.*
..*..*
..**.*
***
**
#P -43 -42
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P -26 -44
....**
....**
.**
***
.**
....**
....**
#P -18 -42
.*...**
*...*.*
.*****
..***
#P -34 -45
.*
**
*.*
#P -50 -53
.**
*.*
..*
#P -43 -53
*.*
.
*****
.***
..**
#P -36 -60
.**
.**
.**
.*
*.*
*.**
.
.
.**
.**
#P -19 -54
***
*
.*
#P -35 -68
.**
*.*
..*
#P -6 -49
**
**
#P -1 -51
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P 7 -53
.**
**
..*
#P 16 -53
...**
..*.*
.***
***
.***
..*.*
...**
#P 23 -51
.**.***
*..****
.**
#P -11 -64
.**
*..*
...*
...*
**.*
**
.
.
.**
.**
#P -22 -70
.*.*
....*
*....*..**
**.*..*.**
....**
#P 5 -61
*.*
**
.*
#P 2 -58
**
**
#P -8 -68
.**
**
..*
#P -3 -71
**
**
#P 4 -73
....**
....**
.**
***
.**
....**
....**
#P 12 -68
**
*..**
.****
..*
#P 17 -71
*
*
*
#P 22 -71
*
*.*
...**
...**
...**
*.*
*
#P 31 -68
**
**
#P 39 -67
**
*.....*
.....*
.*...*
...*
#P 48 -69
**
***
..**.*
..*..*
..**.*
***
**
#P 58 -71
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 73 -69
**
**
#P 50 -73
.**
**
..*
#P 58 -75
**
**
#P 56 -84
**...**
.
.*...*
..***
..***
#P 54 -105
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P 56 -109
**
**
#P 55 -90
*
*.*
**
#P 47 -83
.*
*
***
#P 43 -81
.*
**
*.*
#P 45 -87
.*
..*
***
#P 30 -82
.**
**.**
.****
..**
#P 15 -83
..**
.****
**.**
.**
#P -15 -83
..**
.****
**.**
.**
#P -20 -78
..*
**
.**
#P 45 -100
.*...**
*...*.*
.*****
..***
#P 37 -102
....**
....**
.**
***
.**
....**
....**
#P 27 -100
*
*.*
...**
...**
...**
*.*
*
#P 16 -95
..**
.*.*
.*
**
#P 37 -94
..*
*.*
.**
#P 21 -91
.**....*....**
*..*.*...*.*..*
***.........***
...**.....**
..*..*****..*
..**.......**
#P 19 -104
..**
..*
*.*
**
#P 11 -102
*
****
.****
.*..*
.****
****
*
#P 2 -101
....**
.....**
**.*.**
**.*.*
..**.*
#P -5 -104
...**
..*.*
.***
***
.***
..*.*
...**
#P -15 -107
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -32 -105
**
*.*
...*
*..*
...*
*.*
**
#P -41 -103
....**
**.*..*
**..**
#P -44 -91
**
.*
.*.*
..**
#P -14 -93
.**
**.**
.
..*
...*.**
....*
#P -5 -93
..*
**
.**
#P -22 -101
..*
*.*
.**
/programs/demos/life2/lif/SAWTOOTH.lif
0,0 → 1,269
#Life 1.05
#D Orthogonal sawtooth with expansion factor 6
#D Population is unbounded but does not tend to infinity. Its graph is
#D a sawtooth function with ever-increasing teeth. More specifically,
#D the population in generations t near 28*6^n is about t/5 if
#D t is odd and about 3t/20 if t is even, but the population in
#D generation 14*6^n - 84 (n>=2) is only 562. (Even more
#D specifically, the population in generation t = 28*6^n + 12 (n>=1),
#D is 3t/20 + 555 and it drops to t/5 + 599 in the next generation.)
#D
#D This uses a spark from a period 4, speed c/4 orthogonal spaceship,
#D found by Tim Coe, to turn one LWSS into a loaf, which is then pulled
#D back by subsequent pairs of LWSSs. When the loaf is pulled all the
#D way back, it gets deleted and the cycle begins again.
#D
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 8/14/92
#D Tim Coe, coe@vitsemi.com 8/11/95
#N
#P 3 -5
..*.*
**...**
....*.*
....*
.......*
..*...**
.*
**.**
**.*
.*.**
.*
..*..*
.**..*
...**
.
.
....***
.*.*
..*.*..*
....*...*
.......*
.....**
...***
...***
#P 55 -29
.*
**
#P 41 -32
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 30 -34
**
*.*
...*
*..*
...*
*.*
**
#P 12 -37
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 8 -35
**
*
#P 2 -35
...*
..**
.**
***
.**
..**
...*
#P -7 -37
**
.*
.*.*
..**
#P -2 -27
**
*.*
..*
..**
#P -14 -32
....*
..*.*
**
**
**
..*.*
....*
#P -18 -28
*
**
.*
#P -24 -30
..**
.*
*
*
*
.*
..**
#P -34 -27
*
**
#P -5 -9
**
*.*
..*
..**
#P -14 -14
..**
.*.*
*
*..*
*
.*.*
..**
#P -28 -16
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -37 -14
**
*
#P -23 -6
**
.*
#P -32 -8
*
*.*
...**
...**
...**
*.*
*
#P -49 -6
**
..*
...*
...*
...*
..*
**
#P -57 -8
**
.*
.*.*
..**
#P -54 1
**
*
#P -57 10
**.*.**
*.....*
.*...*
..***
#P -55 21
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -52 35
.*
**
#P -50 13
.*
.**
*.*
#P -41 23
..**
.*.*
.*
**
#P -35 18
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -30 27
**
*
#P -21 25
...*
..**
.**
***
.**
..**
...*
#P -14 27
**
**
**
#P -11 27
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 5 30
....**
....*
.**
***
.**
....*
....**
#P 23 28
*
*.*
...**
...**
...**
*.*
*
#P 32 30
**
.*
#P -26 17
.*
**
*.*
#P -15 16
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -9 14
..**
..*
*.*
**
#P -3 8
..**
.*.*
.*
**
#P -25 8
..**..***..**
..*..*****..*
...*********
***.........***
*..*.......*..*
.**.........**
/programs/demos/life2/lif/SBMEM.lif
0,0 → 1,1044
#Life 1.05
#D Sliding Block Memory
#D A block can be shifted back and
#D forth at will.
#D by Dean Hickerson
#N
#P 45 53
**
**
#P 49 41
**
**
#P 56 39
....**
...***
*.**
*..*
*.**
...***
....**
#P 64 37
.**
.*
*
**
#P 68 38
*
*
*
.
***
#P 75 37
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P 81 42
**
*.*
..*
..**
#P 85 39
**
*
.***
...*
#P 80 27
..***
..***
.*...*
.
**...**
#P 82 16
**...**
**...**
.
..***
..***
...*
#P 80 7
*
***
...*
..**
#P 73 6
..**
..*
*.*
**
#P 59 8
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 54 13
..**
.*.*
.*
**
#P 69 13
..*
**
.**
#P 78 19
***
*
.*
#P 72 25
**
.**
*
#P 62 21
*.*
**
.*
#P 57 31
**
*.*
*
#P 48 23
**
.*
.*.*
..**
#P 47 36
*.*
**
.*
#P 40 22
*.*
**
.*
#P 38 15
..**
...*
***
*
#P 40 4
..***
.**.**
.**.**
.*****
**...**
#P 42 -8
**...**
*.*.*.*
.*****
..***
...*
#P 40 -17
*
***
...*
..**
#P 39 -5
**
*.*
*
#P 31 -12
***
*
.*
#P 24 -20
**
*.*
*
#P 40 -28
**
*.*
..*
..**
#P 27 -33
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P 18 -35
*
****
.****
.*..*
.****
****
*
#P 8 -30
..**
.*.*
.*
**
#P 19 -26
*.*
**
.*
#P 25 1
.*
.**
*.*
#P 22 -3
..**
..*
*.*
**
#P 13 -1
**
***
..**.*
..*..*
..**.*
***
**
#P 3 -3
**
.*
.*.*
..**
#P -5 -13
..**
...*
***
*
#P -3 -19
**...**
..***
.*...*
..*.*
...*
#P 2 -32
...*
.***
*
**
#P -1 -34
**
**
#P 1 -39
*
*
.*
#P -3 -48
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -5 -56
.*****
*.***.*
.*...*
..***
...*
#P 0 -68
...*
.***
*
**
#P -3 -72
..**
..*
*.*
**
#P -9 -70
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -16 -69
***
.
*
*
*
#P -20 -67
**
*
.*
.**
#P -28 -72
....**
...***
*.**
*..*
*.**
...***
....**
#P -35 -69
**
**
#P -21 -62
.*
**
*.*
#P -7 -46
*
*.*
**
#P -27 -60
*
*.*
**
#P -25 -51
*.*
.**
.*
#P -36 -60
*
***
...*
..**
#P -34 -54
..***
..***
.*...*
*.....*
.*...*
..***
#P -29 -41
**
*
.***
...*
#P -17 -44
*
.**
**
#P -15 -39
.*
*
***
#P -19 -35
..**
...*
***
*
#P -4 -28
.*
*
***
#P -11 -29
..**
..*
*.*
**
#P -19 -27
*
****
.****
.*..*
.****
****
*
#P -30 -29
**
.*
.*.*
..**
#P -43 -48
**
*.*
..*
..**
#P -52 -53
..**
.*.*
*
*..*
*
.*.*
..**
#P -62 -55
**
.*
.*.*
..**
#P -56 -47
.*
..*
***
#P -49 -39
..*
*.*
.**
#P -44 -34
..**
....*
....*
*...*
*
.***
#P -37 -38
..**
..*
*.*
**
#P -71 -54
**
**
#P -74 -43
**...**
.
.*...*
..***
..***
#P -72 -36
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -74 -22
..**
...*
***
*
#P -63 -38
..*
*.*
.**
#P -70 -19
..**
.*.*
.*
**
#P -65 -22
**
#P -61 -24
*
**
.**
.***
.**
**
*
#P -51 -24
.*
.**
*.*
#P -44 -22
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P -36 -20
**
**
#P -26 -17
.*
..*
***
#P -19 -15
*.*
.**
.*
#P -84 -9
**
.*
.*.*
..**
#P -77 -7
....**
...***
*.**
*..*
*.**
...***
....**
#P -69 -6
.*
****
*....*
.*...*
.**.*
#P -61 -9
*
**
.**
.***
.**
**
*
#P -50 -6
**
**
#P -60 2
*.*
.**
.*
#P -72 8
*
*.*
**
#P -88 -6
*
***
...*
..**
#P -86 3
**...**
**...**
.
..***
..***
...*
#P -88 18
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P -85 28
**
**
#P -81 14
*
.**
**
#P -65 15
***
..*
.*
#P -76 27
..**
.*.*
.*
**
#P -73 22
.**
..*
*.*
#P -66 22
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -57 20
..**
..*
*.*
**
#P -51 10
**
*.*
..*
..**
#P -50 0
***
..*
.*
#P -41 -3
...*
.***
*
**
#P -46 4
..***
.
..*.*
.*****
**...**
**...**
#P -45 12
.**
**.**
.*..*
.*
....*
..**
#P -48 20
**...**
.*****
..***
...*
#P -45 31
**
**
#P -37 21
*
.**
**
#P -30 -10
*
***
...*
..**
#P -28 -1
...*
..***
.*****
*.*.*.*
**...**
#P -30 9
..**
...*
***
*
#P -14 2
..**
.*..*
*....*
.****
.
.
..**
..**
#P -3 11
.**
*.*
..*
#P 4 13
.*
..*
***
#P 11 15
*.*
.**
.*
#P 21 15
**
**
#P 25 28
*.*
.**
.*
#P 19 30
*
.**
**
#P 9 36
..******
.*......*
*........*
.*......*
..******
#P -1 34
**
.**
*
#P -14 41
**
**
#P -29 39
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -32 39
**
**
**
#P -39 37
...*
..**
.**
***
.**
..**
...*
#P -48 40
**
**
#P -68 53
..**
.*.*
.*
**
#P -61 48
....**
....**
.**
***
.**
....**
....**
#P -53 49
..*
**
*..**
.*****
..*
#P -46 46
**
..*
...*
...*
...*
..*
**
#P -36 51
**
*.*
..*
..**
#P -43 57
*
*
#P -49 55
..*
**
.**
#P -37 64
..*
*.*
.**
#P -31 64
**
.**
*
#P -39 71
.*
.**
*.*
#P -71 64
*
***
...*
..**
#P -75 74
**
.*
.*.*
..**
#P -68 76
....*
.****
****
*..*
****
.****
....*
#P -61 74
.*..*
.*
*...**
.**.*.*
.
.....**
#P -50 74
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -40 76
....*
.****
****
*..*
****
.****
....*
#P -29 74
..**
..*
*.*
**
#P -20 79
*
***
...*
..*
..*
#P -16 83
.*
..*
*
#P -18 88
.*
.**
*.*
#P -30 85
...*
.***
*
**
#P -35 95
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P -37 104
..**
...*
***
*
#P -29 105
***
*
.*
#P -36 115
**
**
#P -29 113
....*
.****
****
*..*
****
.****
....*
#P -23 107
..*
**
.*.*
...**
.....*
..*
.*...**
..**.*.*
.
......**
#P -11 111
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -4 116
**
*.*
..*
..**
#P -25 96
**
.**
*
#P -9 91
***
*
.*
#P -2 80
**
**
#P -4 90
**.*.**
.
*.....*
.
.**.**
...*
#P -6 98
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P -1 112
**
*
.***
...*
#P -3 73
.*
.**
*.*
#P 2 59
*
***
...*
..**
#P 13 71
***
*
.*
#P 21 78
**
*.*
*
#P 15 90
**
**
#P 19 88
....*
..****
.*.*.**
*..*.***
.*.*.**
..****
....*
#P 37 86
...**
.*..*
*
*
*
.*..*
...**
#P 49 89
**
**
#P 28 86
***
*
.*
#P 27 43
.*
.**
*.*
#P 70 -8
*.*
**
.*
#P 104 5
***
*
.*
#P 148 37
...*
.***
*
**
#P 131 56
**
.**
*
#P 127 43
**
**
#P 124 47
...*
..***
.*...*
...*
*.....*
*.....*
.*...*
..***
#P 126 64
...*
..***
..***
.
**...**
**...**
#P 128 77
**
**
#P 100 -38
*.*
**
.*
#P 115 -53
*.*
**
.*
#P 116 -41
..**
...*
***
*
#P 118 -52
...*
..***
..***
.
**...**
**...**
#P 123 -60
...*
.***
*
**
#P 124 -69
**
**
#P 113 -62
..*
*.*
.**
#P 105 -72
.......*
......*.*
....**...*
..**.*...*
.***.*...*
*..**.*.*
.**....*
#P 98 -70
...**
..*.*
.***
***
.***
..*.*
...**
#P 90 -72
**
.*
.*.*
..**
#P 87 -68
*
***
...*
..**
#P 89 -59
**...**
*.....*
.
.*...*
..***
#P 87 -44
...*
..***
.*****
**...**
.*****
.*...*
..*.*
...*
#P 90 -34
**
**
#P 93 -48
..*
*.*
.**
#P 100 -52
**
.**
*
#P 106 -35
**
*
.***
...*
/programs/demos/life2/lif/SLOPUF.lif
0,0 → 1,121
#Life 1.05
#D SloPuf: Move fast but Puff slowly. A good motto to live your Life by.
#D
#D This can be modified in two ways to give larger periods as follows:
#D
#D Moving the back 12 spaceships backwards by 9 cells and outwards by 3 cells
#D increases the period by 96.
#D
#D Moving the back 6 spaceships forwards by one cell and outwards by one cell,
#D and moving the next 6 spaceships forwards by 3 cells and inwards by one cell
#D increases the period by 8 and leaves one more blinker as output. (This can
#D only be done when there is sufficient room along the center line.)
#D
#D An interesting linear combination of the two rules results in the following:
#D
#D Moving the back six spaceships backwards by 6 cells and outwards by 6 cells
#D increases the period by 120 and leaves 3 more blinkers as output.
#D
#D By David Bell
#N
#P -41 -10
...*
.*...*
*
*....*
*****
#P -41 -2
.**
**.***
.****
..**
#P -39 3
...**
.*....*
*
*.....*
******
#P -33 0
***
#P -29 -3
........*
.**.*..*.*
*.*.****.*
*
*.*.****.*
.**.*..*.*
........*
#P -17 -19
******
*.....*
*
.*....*
...**
#P -17 15
...**
.*....*
*
*.....*
******
#P 2 -23
.**
**.**
.****
..**
#P 2 20
..**
.****
**.**
.**
#P 10 -29
.**
**.****
.******
..****
#P 10 26
..****
.******
**.****
.**
#P 11 -13
..****
.******
**.****
.**
#P 11 10
.**
**.****
.******
..****
#P 21 -32
..***
.*****
**.***
.**
#P 21 29
.**
**.***
.*****
..***
#P 30 -22
...**
.*....*
*
*.....*
******
#P 30 18
******
*.....*
*
.*....*
...**
#P 34 -36
.**
**.****
.******
..****
#P 34 33
..****
.******
**.****
.**
/programs/demos/life2/lif/SLOPUF2.lif
0,0 → 1,43
#Life 1.05
#D Another puffer that moves fast but puffs slowly
#D
#D No puffers are known that move slowly.
#D This pattern by David Bell.
#N
#P -9 -10
...*
.*...*
*
*....*
*****
#P -9 -2
.**
**.***
.****
..**
#P -7 3
...**
.*....*
*
*.....*
******
#P -1 0
***
#P 3 -3
........*
.**.*..*.*
*.*.****.*
*
*.*.****.*
.**.*..*.*
........*
#P 3 -10
.**
**.***
.*****
..***
#P 3 7
..***
.*****
**.***
.**
/programs/demos/life2/lif/SLR.lif
0,0 → 1,178
#Life 1.05
#D Still-Life Reflector
#D
#D Converts one glider into 4 for any input stream
#D with a period of 672 or greater, unless pipelining
#D techniques are employed. It is a great challenge
#D to come up with the small, fast reflector that
#D consists solely of still-lifes. Dieter Leithner
#D (dietrich.deithner@dlr.de) is offering a $100
#D prize for the first stable glider reflector that
#D fits within a 50x50 box.
#D
#D A glider collides with a boat in generation 97,
#D destroying the boat but creating a B-heptomino at
#D generation 107. This is converted into a Herschel
#D in 59 generations. Herschel conduits of lengths 64,
#D 77, 77, 64, 64, 77, 119, and 64 set the Herschel up
#D for a final collision to recreate the destroyed
#D boat.
#D
#D The first stable glider reflectors were created by
#D Paul Callahan and Dean Hickerson in late 1996. This
#D one by Dave Buckingham, May 30, 1997.
#N
#P -31 -20
**
*.*
.*
#P -44 -16
*.**
**.*
#P -35 -13
**
**
#P -27 -5
..**
..*
*.*
**
#P -47 13
**
**
#P -46 20
**
**
#P -42 18
**
**
#P -40 24
**
**
#P -26 25
..**
...*
***
*
#P -11 24
**
**
#P -11 5
...*
.***
*
**
#P -1 12
*
***
...*
..**
#P 14 15
**
**
#P 14 32
**
*
.***
...*
#P 20 22
..**
.*.*
.*
**
#P 34 29
**
**
#P 39 24
**
**
#P 41 28
**
**
#P 45 22
**
**
#P 12 4
..**
...*
***
*..***
..*...*
.**..**
#P 43 -13
**
**
#P 45 -7
**
**
#P 49 -9
**
**
#P 50 -2
**
**
#P 27 -16
...*
.***
*
**
#P 14 -13
**
**
#P 3 -3
**
*.*
..*
..**
#P 0 -33
...*
.***
*
**
#P -1 -27
**
**
#P -6 -26
**
**
#P -7 -32
**
**
#P -14 1
..**
...*
***
*
#P -16 -1
**
**
#P -20 -8
*
***
...*
..*.*
...*
#P -18 -14
**
**
#P -26 -40
**
**
#P -33 -39
**
**
#P -31 -35
**
**
#P -37 -33
**
**
#P -26 -17
**
*
.***
...*
#P -59 -46
*
.**
**
/programs/demos/life2/lif/SPARK2PI.lif
0,0 → 1,354
#Life 1.05
#D Spark to Pi fuse
#D by Al Hensel, 1987
#D See also REVFUSE.
#N
#P -44 -40
*.*
.**
.*
#P -12 3
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
#P 11 3
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
#P -12 75
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
#P 11 75
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
.
.
.
.
.
.
.
**
**
#P -2 2
**.**
*...*
.***
#P -1 7
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
#P -1 67
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
.
.
***
.*
.*
***
#P -2 115
.***
..*
..*
.***
*...*
**.**
/programs/demos/life2/lif/SPDRRAKE.lif
0,0 → 1,360
#Life 1.05
#D Period 360 c/5 rake
#D
#D On the inspiration of a huge c/5 puffer construction by
#D Tim Coe, David Bell used spiders (c/5 spaceships that he
#D found a few months earlier) to bounce gliders back and
#D forth, leaving debris. Part of the mechanism involves
#D Herschel reactions. In this version, the debris on the
#D left is cleaned up by extra spiders, and the debris on
#D the right is converted into a forward-swept wing of
#D gliders. Note that one of the spiders can be deleted to
#D leave gliders heading backward. Also, any of the eleven
#D circulating glider pairs may be deleted, increasing the
#D period to 3960.
#D
#D David Bell, September 13, 1997.
#N
#P -225 -48
....*.....**.....**.....*
..*..**.**..*...*..**.**..*
***....*.*...*.*...*.*....***
**..*..***.**...**.***..*..**
***..***....*...*....***..***
.*.*..*...............*..*.*
..*.......................*
#P -227 -15
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P -230 -1
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P -172 15
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P -165 37
......*...***.....***...*
...**.*****.**...**.*****.**
.*.**.*.....*.*.*.*.....*.**.*
*...*.*...*****.*****...*.*...*
....***.....**...**.....***
.*..*.***.............***.*..*
...*.......................*
#P -260 37
.........**.....**
.****.*.*.*.....*.*.*.****
***.*.*.**.*...*.**.*.*.***
*...*.*.............*.*...*
.*.***.....**.**.....***.*
.**.....................**
.*****...............*****
....**...............**
#P -218 52
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P -267 53
.........**.....**
.****.*.*.*.....*.*.*.****
***.*.*.**.*...*.**.*.*.***
*...*.*.............*.*...*
.*.***.....**.**.....***.*
.**.....................**
.*****...............*****
....**...............**
#P -164 65
.........*.......*
...**.*.*.**...**.*.*.**
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**
.**.........*.*.........**
.**.**...............**.**
.....*...............*
#P -269 75
.........*.......*
...**.*.*.**...**.*.*.**
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**
.**.........*.*.........**
.**.**...............**.**
.....*...............*
#P -228 77
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P -213 86
.........*.......*
...**.*.*.**...**.*.*.**
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**
.**.........*.*.........**
.**.**...............**.**
.....*...............*
#P -233 70
**
**
#P -183 58
**
**
#P -196 -28
**
**
#P -227 72
.**
*.*
..*
#P -195 35
.*
.**
*.*
#P -137 54
.**
*.*
..*
#P -105 17
.*
.**
*.*
#P -47 36
.**
*.*
..*
#P -15 -1
.*
.**
*.*
#P 43 18
.**
*.*
..*
#P 75 -19
.*
.**
*.*
#P 133 0
.**
*.*
..*
#P 165 -37
.*
.**
*.*
#P 180 20
*
*
*
#P 182 22
.****
*....*
*.....*
.**..*
...**
#P 193 24
***
#P 200 23
**.**
*...*
.***
..*
#P 238 100
***
#P 241 119
**
**
#P 181 63
**
*.*
*
#P 149 26
.*
**
*.*
#P 91 45
**
*.*
*
#P 59 8
.*
**
*.*
#P 1 27
**
*.*
*
#P -31 -10
.*
**
*.*
#P -89 9
**
*.*
*
#P -121 -28
.*
**
*.*
#P -179 -9
**
*.*
*
#P 198 -48
....*.....**.....**.....*
..*..**.**..*...*..**.**..*
***....*.*...*.*...*.*....***
**..*..***.**...**.***..*..**
***..***....*...*....***..***
.*.*..*...............*..*.*
..*.......................*
#P 202 -15
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 205 -1
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 147 15
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 136 37
......*...***.....***...*
...**.*****.**...**.*****.**
.*.**.*.....*.*.*.*.....*.**.*
*...*.*...*****.*****...*.*...*
....***.....**...**.....***
.*..*.***.............***.*..*
...*.......................*
#P 235 37
.........**.....**
.****.*.*.*.....*.*.*.****
***.*.*.**.*...*.**.*.*.***
*...*.*.............*.*...*
.*.***.....**.**.....***.*
.**.....................**
.*****...............*****
....**...............**
#P 193 52
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 139 65
.........*.......*
...**.*.*.**...**.*.*.**
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**
.**.........*.*.........**
.**.**...............**.**
.....*...............*
#P 188 74
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 195 88
.........**.....**
.****.*.*.*.....*.*.*.****
***.*.*.**.*...*.**.*.*.***
*...*.*.............*.*...*
.*.***.....**.**.....***.*
.**.....................**
.*****...............*****
....**...............**
#P 203 99
.........*.......*
...**.*.*.**...**.*.*.**
***.*.***.........***.*.***
*...*.*.....*.*.....*.*...*
....**......*.*......**
.**.........*.*.........**
.**.**...............**.**
.....*...............*
#P 257 101
....*.....**.....**.....*
..*..**.**..*...*..**.**..*
***....*.*...*.*...*.*....***
**..*..***.**...**.***..*..**
***..***....*...*....***..***
.*.*..*...............*..*.*
..*.......................*
#P 202 109
......*...***.....***...*
...**.*****.**...**.*****.**
.*.**.*.....*.*.*.*.....*.**.*
*...*.*...*****.*****...*.*...*
....***.....**...**.....***
.*..*.***.............***.*..*
...*.......................*
#P 210 118
..**.....**.....**.....**
*...*...*..*...*..*...*...*
*...*.*.***.....***.*.*...*
*.....**..***.***..**.....*
**.***...............***.**
*.........................*
.*...*...............*...*
..*..*...............*..*
#P 245 119
....*.....**.....**.....*
..*..**.**..*...*..**.**..*
***....*.*...*.*...*.*....***
**..*..***.**...**.***..*..**
***..***....*...*....***..***
.*.*..*...............*..*.*
..*.......................*
/programs/demos/life2/lif/SPIRAL.lif
0,0 → 1,143
#Life 1.05
#D Spiral decay
#D A glider's work is never done.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 4/10/91
#N
#P -15 -27
.*
***
*.**
.***
.**
#P -10 -25
...*
..***
.**..*
.**.**
.*..***
..*.**
....*
*...*
.*.*
..*
#P -1 -27
.*
***
*.**
.***
.**
#P -16 -18
.***
*..*
...*
...*
..*
#P 23 -14
.****
*...*
....*
*..*
#P 20 -9
.**
*****
*....*
***..*
.*..**
..**
#P 23 0
.****
*...*
....*
...*
#P 15 -14
..**
**.**
****
.**
#P 3 22
.**
.***
*.**
***
.*
#P 9 17
...*
.**.**
.
*.*...*
*...*
**..*
.***
..*
#P 17 22
.**
.***
*.**
***
.*
#P 16 13
..*
...*
...*
*..*
.***
#P -28 16
.*..*
*
*...*
****
#P -28 2
.*
*
*...*
****
#P -26 9
..**
**..*
*..***
*....*
.*****
...**
#P -20 16
..**
.****
**.**
.**
#P -10 1
****
*...*
*
.*
#P 0 -9
..*
.***
**.*
***
.**
#P 5 1
...*
....*
*...*
.****
#P 0 4
.**
***
**.*
.***
..*
#P -7 6
.*
*.*
.**
#P -4 -4
.*
*.*
**
#P 4 -3
**
*.*
.*
#P 0 -1
.*
.**
*.*
/programs/demos/life2/lif/STARGATE.lif
0,0 → 1,726
#Life 1.05
#D Star Gate: the paradox of an apparent warp-speed spaceship tunnel.
#D A p60 device which allows lightweight spaceships to jump forward in
#D Life space at the superluminous speed of 15/14 = 1.071c.
#D Specifically, LWSSs entering from the left jump by 30 cells along
#D their path in 28 generations. The Star Gate implements two copies
#D of a reaction in which crashing gliders create a Fast Forward
#D Force Field which allows LWSSs to travel by way of a tunnel effect.
#D Dieter Leithner, 26 Oct 1996
#N
#P -77 -65
**
**
#P -72 -67
*
*
#P -67 -68
*
****
.****
.*..*
.****
****
*
#P -56 -70
....**
...*.*
..***
.***
..***
...*.*
....**
.*
..*
***
#P -48 -68
.**
*..****
.**.***
#P -72 -59
**
**
#P -75 -55
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P -73 -37
..***
.*...*
.
*.....*
**...**
#P -71 -30
.*
*.*
*.*
*
*
*..*
.**
#P -69 -46
.**
*.*
..*
#P -61 -53
***
..*
.*
#P -59 -50
...*
.***
*
**
#P -62 -45
*
*
#P -64 -41
**...**
.*****
..***
...*
.......*
#P -62 -29
..***
.
..*.*
.*****
**...**
**...**
#P -56 -40
..**
.*..*
.
.
.*
*
#P -50 -45
.**
*.*
..*
#P -43 -60
**
.*
.*.*
..***
....***
....*..*
.....**
#P -33 -58
**
*.*
...*
*..*
...*
*.*
**
#P -24 -60
..**
..*
*.*
**
#P -41 -48
.*
..*
***
#P -62 -21
...*
.**
.
*
.
.*..*
...**
#P -55 -20
..**
.*.*
.*
**
#P -47 -25
...**
.*..*
*
*
*
.*..*
...**
#P -40 -26
.***
*..*.*
**
.
....***
#P -31 -27
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -23 -22
**
*.*
..*
..**
#P -47 -32
***
*
.*
#P -33 -48
*
.**
**
#P -26 -33
.*
..*
***
#P -18 -33
*
.**
**
#P -25 -50
**
.*
.*.*
..**
#P -21 -54
*
***
...*
..**
#P -17 -46
.**
**.**
.****
..**
#P -13 -38
..*
*.*
.**
#P -15 -66
**
**
#P -11 -68
*
.**
#P -6 -69
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 4 -67
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 19 -64
**
**
#P -4 -61
.*
*
***
#P -11 -53
*
*.*
**
#P -5 -53
..**
.*.*
.*
**
#P 0 -58
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 9 -57
***
.
..*..**
..*...*
..*..*
....**
#P 18 -60
**
***
..**.*
..*..*
..**.*
***
**
#P 27 -62
..**
..*
*.*
**
#P -2 -47
..**
.****
**.**
.**
#P 24 -67
**
**
#P 33 -70
..**
.*.*
*
*..*
*
.*.*
..**
#P 39 -67
....**
...*.*
.*...*
**.***
...**
#P 47 -68
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 58 -65
**
**
#P 33 -59
*
*.*
**
#P 25 -52
.*
*
***
#P 13 -46
.**
**.**
.****
..**
#P 5 -37
**
**
#P 13 -40
...**
..*.*
.***
***
.***
..*.*
...**
#P 20 -41
..**.*
**.*.*
**.*.**
.....**
....**
#P 29 -42
*
****
.****
.*..*
.****
****
*
#P 37 -44
..**
..*
*.*
**
#P 35 -51
....**
**.*..*
**..**
#P 44 -53
**
*.*
...*
*..*
...*
*.*
**
#P 55 -51
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 67 -53
..**
..*
*.*
**
#P 71 -49
**
**
**
.*
*.*
*.*
.*
#P 69 -40
**...**
*.*.*.*
.*****
..***
...*
#P 71 -24
..***
.*...*
*.....*
.*...*
..***
..***
#P 73 -15
**
**
#P 69 -29
*.*
**
.*
#P 47 -46
..*
**
.**
#P 40 -38
*.*
**
.*
#P 32 -31
..*
**
.**
#P 32 -29
........*
......****
.....*.*.**
....*..*.***
....**.*.**
..***.****
.*.*....*
.*
**
#P 47 -27
*
..**.*
.****.*
.**..**
#P 56 -31
*.*
*...*
....*
*....*
....*
*...*
*.*
#P 64 -33
..**
..*
*.*
**
#P 61 -22
..*
**
.**
#P 16 -25
*
***
...*
..**
#P -11 -18
.*
..*
***
#P 19 -18
.*..*
*
*...*
****
#P -3 -18
*
.**
**
#P 2 -23
..*
*.*
.**
#P 12 -21
**
.*
.*.*
..**
#P 25 -23
*.*
**
.*
#P 76 -11
**
**
#P 68 -13
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P 57 -13
.**
.*..*
*...*
**..*
.
....***
#P 49 -11
....**
...***
*.**
*..*
*.**
...***
....**
#P 42 -9
**
**
#P 49 -18
.*..*
*
*...*
****
#P 17 -8
..*
*.*
.**
#P 25 -8
*.*
.**
.*
#P 4 -3
.*
..*
***
#P 12 -3
*
.**
**
#P 10 1
.*
**
*.*
#P 34 -17
****
*...*
*
.*..*
#P 11 9
*
***
...*
..**
#P 13 17
...*
..***
.*****
*.*.*.*
**...**
#P 11 24
.....*
....*.*
...**.*
...***
..*..*
..***
.*...*
*.....*
.*...*
..***
#P 9 41
..**
...*
***
*
#P 7 45
........**
......*...*
.....*.....*
....*..*...*
...........*
..*...*...*
.*.**...**
.*
**
#P 23 46
*
#P 26 46
***
..*
.*
#P 32 47
*
*.*
...**
...**
...**
*.*
*
#P 39 52
**
*.*
..*
..**
#P 34 7
.**
**
..*
#P 25 16
.*
**
*.*
#P 21 32
.*
..*
***
#P 28 40
..*
*.*
.**
#P 33 38
.**
*.*
..*
#P 40 31
.*
**
*.*
#P 38 43
**
.*
.*.*
..**
#P 48 45
...*...***
..*****...*
.**.**...*
***.**...*
.**.****
..****
...*
#P 61 43
**
*..*
....*
....*
....*
*..*
**
#P 70 48
**
*.*
..*
..**
#P 48 40
**
**
#P 52 35
..*
**
.**
#P 60 28
*.*
**
.*
#P 68 39
**
*
.***
...*
#P 63 30
..***
.*...*
*.....*
**.*.**
#P 61 16
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P 65 11
.*
*
*
#P 63 7
**
**
#P 51 5
**
**
#P 49 12
..***
.
..*.*
.*****
**...**
**...**
#P 48 22
..**
.**
*..*
..*
#P 54 24
**
*
.***
...*
#P -2 -1
..**
**.**
****
.**
#P -2 59
..**
**.**
****
.**
#P -32 -1
..**
**.**
****
.**
#P -32 59
..**
**.**
****
.**
#P -62 -1
..**
**.**
****
.**
#P -62 59
..**
**.**
****
.**
/programs/demos/life2/lif/STILL.lif
0,0 → 1,265
#Life 1.05
#D Still life
#D An artistic arrangement
#D by Al Hensel. All of these
#D objects are well-known.
#N
#P 0 0
**
**
#P 5 0
**
*.*
.**
#P 0 5
.*
*.*
.*
#P 5 5
.*
*.*
**
#P -7 0
.**
*..*
.**
#P -7 5
..*
.*.*
*..*
.**
#P -13 5
.**
*..*
*..*
.**
#P -1 10
...**
..*.*
..*
*.*
**
#P 0 -7
.**
..*
*
**
#P -7 -7
**
.*
*
**
#P -14 -7
**
*
.***
...*
#P 6 -8
.**
..*
.*
*
**
#P -15 -2
**
.*
.*.**
..*..*
...**
#P -9 11
..**
.*..*
.*.*
**.**
#P -18 11
....**
...*..*
...*.**
**.*
*..*
.**
#P -13 17
..**
.*..*
*..*
.**
#P -6 17
..*
.*.*
.*.*
**.**
#P 1 16
..*
.*.*
*.*
**
#P 6 8
.....*
....*.*
...*.*
..*.*
.*.*
*.*
.*
#P -7 -14
.**
*.***
*....*
.***.*
...**
#P -16 -14
...*
..*.*
..*.*
*.*.*.*
**...**
#P 2 -12
**.**.**.**.*
*.**.**.**.**
#P 17 -12
*..*
****
.
****
*..*
#P 11 -8
**
*
.*
..*
...*
....*
.***
*
.*
..*
...*
....*
.***
.*
#P 18 -5
.....**
.**.*..*
*.*.****
*.*
.**...**
......*.*
.****.*.*
.*..*.**
..**
#P 23 -13
..*
.*.*
*.*.*
*.*.*
.*.*
..*
#P 9 15
....*
...*.*
.***.***
*.......*
**.....**
#P 17 7
...*
*.*.*.*
**.*.**
...*
...*
**.*.**
*.*.*.*
...*
#P 23 15
...*
.*****
*.....*
*.*.*.*
.**.**
#P -19 -20
....**....**
**.*..*..*..*.**
*.**..*..*..**.*
.......**
#P 0 -22
.**...*...*...*...*...**
*..*.*.*.*.*.*.*.*.*.*..*
**.*.*.*.*.*.*.*.*.*.*.**
..*.*.*.*.*.*.*.*.*.*.*
..*.*.*.*.*.*.*.*.*.*.*
**.*.*.*.*.*.*.*.*.*.*.**
*..*.*.*.*.*.*.*.*.*.*..*
.**...*...*...*...*...**
#P -33 -18
.....*
....*.*
...*..*
..*...**
..**
....*
..***
.*
.****
....*
...*
...**
.....*
...***
..*
...*
....*
.***
.*
..****
......*
....***
...*
...**
.....*
.****
*
.**
...*
.**
.*
..*
.**
...**.*
...*.**
.......*
.......*
#P -25 -17
**
*.*
...*
....*
.....*
..****
..*
...*
..**
..*
...*
***
*
.****
.....*
.***.*
.*..*
..*
...****
......*
.....*
....*
....**
......*
....**
....*
.....*
..***
.*
.**
...*
.**
.*
..*
**
/programs/demos/life2/lif/STRETCH.lif
0,0 → 1,60
#Life 1.05
#D Wick stretcher
#D A c/4 spaceship pulls a wick (line of ants) which is attached
#D to a stabilizing end. Both halves were found by computer search
#D by Dean Hickerson, 1992. See also EFENCE, TIRETRAX, AQUA25.
#N
#P -20 -9
*.**..**
*....**..*
*.**....**
......*
.....*
.....*
......*
*.**....**
*....**..*
*.**..**
#P -9 -12
......**
..**....*
.***.*
*...****.*.*
.......*.***
**....*
...*
....*.*....***
....*.*....***
...*
**....*
.......*.***
*...****.*.*
.***.*
..**....*
......**
#P 6 -9
.**
.*....**
...*...*
..**
..*....*
**.*..**
..**.*
..*
.....*
....*.*
.....*
#P 15 -9
.**
*..*.**.*
*.**.*.**
*..*.*...**
.*.*.***...*
*.*...*..**.*
**....**....*
..**.*.*.**.**
*...**.*..*.*
.**....*..*.*
..*.***....*
..*.*
...*
/programs/demos/life2/lif/SWITCHEN.lif
0,0 → 1,14
#Life 1.05
#D Switch Engine
#D by Charles Corderman.
#D The smallest forever-growing
#D pattern in the Game of Life.
#N
#P -13 -3
.*.*
*
.*..*
...***
#P 13 2
**
*
/programs/demos/life2/lif/SWITCPUF.lif
0,0 → 1,260
#Life 1.05
#D Puffer train that creates switch engines.
#D
#D This is another type of pattern which
#D grows quadratically. Half of a quadrant
#D of the space is filled with blocks.
#D Every 80 generations a new switch
#D engine is created. See also SWITCHEN,
#D BREEDER, MAX.
#D
#D by Helmut Postl, 1997.
#N
#P -29 -70
............**.....****
..........**.**...*...*
..........****........*
...........**.....*..*
.
......**.........*
....*****........***
....**....*.....*...*
....**.....*****....*
......**....****.*.**
.........***.**...*
...............*.*
.
.
...................****
..................*...*
.****.................*
*...*.............*..*
....*
*..*.........**
.........****.**
.........******
..........****.....****
..................*...*
......................*
.........*.*.........*
..................**
........**
........**......**...**
........*.......*.***.**
........**.......******
..................****
.
.
........******
.......*.....*
.............*
.......*....*
.........**
#P -36 -27
...................**
..........****....****
.........*...*....**.**
.............*......**
.........*..*
.
.
.................**
.................*.*
.................*.**
..................**
..................*
.
.
...................**
..................****
.**...............**.**
****................**
**.**
..**
.........******
........*.....*
..............*....**
........*....*....****
..........**......**.**
....................**
.
.............*
............******
...........*...********
............**........*
.............***......*
..............**.....*
..................**
........****
.......******
.......****.**
...........**
#P -13 21
........****
.......******
.......****.**
...........**
.
.
.
.................******
.............****.....*
.*.*.........**.*.....*
.**..........**..*...*
..*................*
...................**
..................****
..................**.**
....................**
.........******
........*.....*
.**...........*
****....*....*
**.**.....**.......**
..**..............****
..................**.**
....................**
.
.
.
.................**
...........***...*.*
........***......*.**
........*.........**
........***.......*
.
.
...................**
..........****....****
.........*...*....**.**
.............*......**
.........*..*
#P -37 55
..........****
.........******
.........****.**
.............**
.
.
...............*
.............*...*.******
............***...*.....*
............*.....*.....*
*.*.........*.**...*...*
**...........***.....*
.*...................**
....................****
....................**.**
......................**
...........******
..........*.....*
...**...........*
..****....*....*
..**.**.....**.......**
....**..............****
....................**.**
......................**
.
.
..........**
.........*..*
....***.............**
...*..*........*.....**
...**.**...*...*....**
...........*....*...*
.............*
.
.....................**
............****....****
...........*...*....**.**
...............*......**
...........*..*
#P -18 44
..**
.**
.
**
#P -36 -57
..*
**
.**
#P -34 -46
**
*.*
*
#P -46 -50
**
*.*
*
#P -51 -52
..*
**
.**
#P -53 -58
..**
**.**
****
.**
#P -57 -54
*
.**
#P -68 -53
....**
****.**
******
.****
#P -66 -47
..*
**
.**
#P -71 -33
..*
*.*
.**
#P -61 -14
.****
*...*
....*
*..*
#P -59 -1
.**
****
**.**
..**
#P -51 15
..**
**.**
****
.**
#P -49 25
.*
.**
*.*
#P -38 44
.****
*...*
....*
*..*
#P -49 69
*.*
**
.*
#P -44 76
**
*.*
*
#P -60 78
.****
*...*
....*
*..*
#P -75 73
.******
*.....*
......*
*....*
..**
#P -68 62
.*
.**
*.*
/programs/demos/life2/lif/THICKGU2.lif
0,0 → 1,103
#Life 1.05
#D Minimal area pseudo p23 glider gun
#D The construction uses Peter Rott's p46 glider gun variant with a
#D hole in the center. It was improved by David Bell's double blocks.
#D Dieter Leithner, constructed 2 Oct 1993, improved 14 Oct 1996
#N
#P -34 -16
.**
.**
.
.
**
**
#P -34 -5
**
**
.
.
.**
.**
#P -24 -13
***
...*
....*
...*
.**
.
.**
...*
....*
...*
***
#P -4 -17
...*
..**
.***
**
.**
..*
.
..*
.**
**
.***
..**
...*
#P 11 -15
**
**
#P 7 -3
**
**
#P 24 -4
*
**
.**
**
.
.
.
**
.**
**
*
#P 31 -7
**
**
.
.
.**
.**
#P 31 4
.**
.**
.
.
**
**
#P -27 6
**
**
.
.
.
.
.
**
**
#P -18 5
.**
*.*
*
***
.
.
.
***
*
*.*
.**
#P 0 13
**
**
/programs/demos/life2/lif/THICKGUN.lif
0,0 → 1,196
#Life 1.05
#D Pseudo p15 gun
#D
#D A p30 LWSS-based mechanism inserts
#D extra gliders into a regular p30
#D stream.
#D
#D By Dieter Leithner, 20 Sep 1995.
#N
#P -48 -28
**
**
#P -41 -31
....**
....**
.**
***
.**
....**
....**
#P -33 -30
..*
**
*..**
.*****
..*
#P -26 -33
**
..*
...*
...*
...*
..*
**
#P -14 -30
**
**
#P -28 -46
**
**
#P -24 -49
....*
..****
.*.*.**
*..*.***
.*.*.**
..****
....*
#P -13 -47
*
..**.*
.****.*
.**..**
#P -4 -51
*.*
*...*
....*
*....*
....*
*...*
*.*
#P 6 -48
**
**
#P -12 -41
*
***
...*
..**
#P -10 -34
...*
..***
..***
.
**...**
**...**
#P -8 -16
**...**
.
.*...*
..***
..***
#P -3 -9
**
*
.***
...*
#P 10 -51
**
**
#P 8 -45
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 10 -28
**.*.**
*.....*
.*...*
..***
#P 12 -17
**
**
#P -49 -24
***
***
#P -51 -19
**...**
.*****
..***
...*
#P -53 -2
**...**
..***
.*...*
..*.*
...*
#P -50 6
**
**
#P -47 -9
*
.**
**
#P -43 -12
**
.*
.*.*
..**
#P -37 -10
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -17 -8
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -11 -3
**
*.*
..*
..**
#P -53 10
**
**
#P -47 8
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P -30 10
**
*..*
....*
....*
....*
*..*
**
#P -19 12
**
**
#P 9 1
..*
.**
***
.**
..*
#P 18 1
*
**
***
**
*
#P -2 10
....*
****.*
***.*.*
.....*.*
......*
.....**
.....**
.....**
/programs/demos/life2/lif/THINGUN.lif
0,0 → 1,482
#Life 1.05
#D 4-bit binary counter
#D A p736 (= 46 * 2^4) gun based on 4 boat-bits which form a binary
#D counter. (A boat-bit is a memory device in which a bit of
#D information is represented as the presence or absence of a boat
#D adjacent to a snake (or eater or beacon or ...). Hitting the
#D boat-bit with a glider changes its state. The transition from
#D 1 to 0 can be detected by another glider.)
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 2/9/90
#N
#P -55 -72
**
**
#P -45 -72
.**
**
.*****
..****
.
..****
.*****
**
.**
#P -22 -75
...***
.*...*
*....*
*...*
.
*...*
*....*
.*...*
...***
#P -8 -75
**
**
.
.
.
.
.
**
**
#P -29 -67
..*
*.*
.**
#P -17 -56
.*
..*
***
#P -6 -44
..*
*.*
.**
#P 10 -75
**
**
.
.
.
...**
.*...**
.*....*
.*...**
...**
#P 22 -77
.**
...*
**..*
.*..*
..*.*
..**
.
..**
..*.*
.*..*
**..*
...*
.**
#P 42 -74
...*
..**
.***.*
**
.**
..*
.
..*
.**
**
.***.*
..**
...*
#P 57 -72
**
**
#P 52 -67
...*
.**.*
**.***
.*..*
..**
#P 25 -62
*.*
**
.*
#P 13 -51
..*
**
.**
#P 2 -39
*.*
**
.*
#P -55 -37
**
**
#P -57 -33
...**
..***
***
***
***
..***
...**
#P -49 -33
**
***
..***
..***
..***
***
**
#P -40 -38
**...*
***.*.**
***....*
...*...*
....***
.
....***
...*...*
***....*
***.*.**
**...*
#P -30 -41
..**..*.*
.***.*...*
**......*
.*.*****
..***
.
..***
.*.*****
**......*
.***.*...*
..**..*.*
#P -8 -40
**
**
.
.
.
.
.
**
**
#P -21 -24
..*
*.*
.**
#P -9 -13
.*
..*
***
#P 2 -1
..*
*.*
.**
#P -4 -30
**
*
.*
**
#P 10 -40
**
**
#P 17 -41
..****
.**..*
**..*
.*..*
..**
.
..**
.*..*
**..*
.**..*
..****
#P 46 -38
.**
**.**
.*..*
.*..*
..**
.
..**
.*..*
.*..*
**.**
.**
#P 57 -37
**
**
#P 28 -31
..*
**
.**
#P 5 -8
..*
**
.**
#P -55 -4
.*..*
....*
*
**
......*
...**
#P -53 3
.**
*...*
*..*
*..*
.**
#P -45 -3
..***
*....*
*.....*
.....*
...**
.
...**
.....*
*.....*
*....*
..***
#P -23 -7
...*
..**
.***.*
**
.**
..*
.
..*
.**
**
.***.*
..**
...*
#P -8 -5
**
**
.
.
.
.
.
**
**
#P -24 7
.*
..*
***
#P -13 19
..*
*.*
.**
#P -1 30
.*
..*
***
#P 10 42
..*
*.*
.**
#P -4 5
**
*
.*
**
#P 10 -5
**
**
#P 24 -5
****
*.**
*
.**
.
.**
*
*.**
****
#P 32 -5
.***
..**
.*
.
.
.
*
****
**
.
..*
#P 40 -2
*..**
.**.*
...*
.***
.
.***
...*
.**.*
*..**
#P 57 -2
**
**
#P 20 12
..*
**
.**
#P -55 33
**
**
#P -47 32
..**
.*.*
**.*
.**
..*
.
..*
.**
**.*
.*.*
..**
#P -19 29
.**
**.**
.*..*
.*..*
..**
.
..**
.*..*
.*..*
**.**
.**
#P -8 30
**
**
.
.
.
.
.
**
**
#P -28 39
..*
*.*
.**
#P -16 50
.*
..*
***
#P -5 62
..*
*.*
.**
#P 7 73
.*
..*
***
#P -4 40
**
*
.*
**
#P 10 30
**
**
#P 11 35
..***
**.*.**
**.....*
**.*.**
..***
#P 23 30
...***
.*...*
*....*
*...*
.
*...*
*....*
.*...*
...***
#P 40 33
.**
**
.*****
..****
.
..****
.*****
**
.**
#P 57 33
**
**
#P 51 38
...**
**.*.*
**...**
**.*.*
...**
#P 24 44
*.*
**
.*
#P 12 55
..*
**
.**
#P 10 65
**
**
#P 15 64
..**..*.*
.***.*...*
**......*
.*.*****
..***
.
..***
.*.*****
**......*
.***.*...*
..**..*.*
#P 45 67
**...*
***.*.**
***....*
...*...*
....***
.
....***
...*...*
***....*
***.*.**
**...*
#P 57 68
**
**
#P 27 75
..*
**
.**
#P -4 71
.*
*.*
**
.
**
*
.*
**
/programs/demos/life2/lif/THINGUN2.lif
0,0 → 1,71
#Life 1.05
#D p120 thin gun
#N
#P -17 -7
**
**
#P -7 -10
..**
.*
*
*
*
.*
..**
#P -3 -9
.*
..*
*.**
..*
.*
#P 3 -12
....*
..*.*
**
**
**
..*.*
....*
#P 15 -14
..**
..*
*.*
**
#P 14 -7
..**
..**
.
...*
..*.*
.*..*
*..*
.
*..*
..**
#P -20 6
**
**
#P -16 8
.**
*
#P -11 4
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P 3 6
..**
.*.*
*
*..*
*
.*.*
..**
#P 12 11
**
*.*
..*
..**
/programs/demos/life2/lif/THINGUN3.lif
0,0 → 1,56
#Life 1.05
#D p92 glider gun
#D Smallest known p92 gun; it uses 2 overlapping p46 guns whose
#D streams cross in an eater-assisted ternary reaction.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 1/8/91
#N
#P -35 -6
**
*
#P -19 -6
***
..*
..*
.*
.
.*
..*
..*
***
#P -6 -10
..*
.**
**
.**
.
.
.
.**
**
.**
..*
#P 10 -13
..**
..*
*.*
**
#P 10 8
**
*.*
..*
..**
#P 22 -6
**
*.*
..*
***
.
.
.
***
..*
*.*
**
#P 32 -5
**
.*
/programs/demos/life2/lif/THINGUN4.lif
0,0 → 1,235
#Life 1.05
#D 4-digit Base-4 counter
#D
#D 0=nothing, 1=boat,
#D 2=blinker, 3=block.
#D
#D This also serves as a
#D p30720 gun.
#N
#P -17 -44
**
**
#P -19 -38
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P -4 -30
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P 4 -28
**
**
#P 7 -24
...*
.***
*
**
#P 2 -13
..***
.*...*
*.....*
.*...*
..***
..***
#P 5 -4
**
**
#P 11 -16
**
**
#P 13 -11
**
#P 9 -6
**...**
.*****
.**.**
.**.**
..***
#P 17 -2
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P 32 0
**
**
#P 30 8
...***
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P 35 4
...*
.***
*
**
#P 33 24
**
**
#P 36 29
....**
**..**..**
*.*..*..**
.***
..**
#P 49 29
...*
.***
*
**
#P 44 38
**...**
**...**
.
..***
..***
...*
#P 42 49
..***
..***
.*...*
.
**...**
#P 44 63
**
**
#P 39 39
**
**
#P 31 66
**
**
#P 30 61
.*
*.*
*.*
.*
#P 28 55
..***
.*...*
*.....*
**.*.**
#P 26 37
...*
..***
.*...*
*.***.*
.*****
#P 24 32
*
***
...*
..**
#P 32 46
***
..*
.*
#P 17 38
.*
*.*
..**
..**
.***
*.*
**
#P 15 30
...*
..***
..***
.
**...**
**...**
#P 10 20
*
**
.**
.***
.**
**
*
#P 1 22
**..**
**..**
....**
#P 13 16
**
**
#P 2 13
**
***
..**.*
..*..*
..**.*
***
**
#P -7 18
..**
.*.*
.*
**
#P -11 15
**
**
#P -13 4
**...**
*.....*
.
.*...*
..***
#P -11 -6
*
**
**
**
.*
*.*
*.*
.*
#P -13 -7
.*
.
*
#P -17 -8
..**
.*
*
*
*
.*
..**
#P -27 -6
**
**
#P -20 -14
..***
.*****
*...*.*
.*...**
#P -28 -15
....**
....**
.**
***
.**
....**
....**
#P -35 -12
**
**
/programs/demos/life2/lif/THINRAKE.lif
0,0 → 1,1130
#Life 1.05
#D Thin rake
#D
#D By Dean Hickerson and Paul Callahan.
#D
#D This example of a thin rake starts with a period-120 block puffer
#D (Callahan's design using p24 and p20 rakes) and uses three halving
#D stages, resulting in the rather large period of 960.
#D
#D See also RAKE, RAKE2, MWSSRAKE, MWSSRAK2.
#N
#P 21 -17
*..*
....*
*...*
.****
.
.
.
.
***
..*
*.*
**
.
.
*..*
....*
*...*
.****
#P 13 -17
.**
****
**.**
..**
#P 12 -10
.**
**
.*..*
..*
....**
#P 3 -1
*..*
....*
*...*
.****
#P -1 -5
**
.*
.***
#P 25 10
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P 19 14
.*.*
*..**
.*.*
#P 10 5
..**
*....*
......*
*.....*
.******
#P 11 12
....*
.*..*
*..**
*
*..**
....*
....*
..*
#P 11 22
....**
****.**
******
.****
#P 0 11
**
*.*
*
#P -14 1
*.*
**
.*
#P -18 5
**
*.*
*
#P -24 -5
...**
***.**
*****
.***
#P -29 6
*.*
**
.*
#P -31 12
.*****
*....*
.....*
*...*
..*
#P -36 -1
**
*.*
*
#P -49 -11
...**
***.**
*****
.***
#P -60 -19
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -64 -16
*
.*
.**
.*
*
#P -68 -16
.*
.*
*
.*
.*
#P -72 -16
.*
**
**
#P -76 -15
*
.*
*
#P -74 -24
.****
******
****.**
....**
#P -75 -8
.******
*.....*
......*
*....*
..**
#P -74 -1
**
**
#P -88 -11
*
*.*
**
#P -106 -5
*
*.*
**
#P -67 10
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P -73 14
..***
**.**
..***
#P -78 13
.**
**
.
**
.**
*
#P -82 14
.**
***
#P -81 7
....**
****.**
******
.****
#P -81 22
.******
*.....*
......*
*....*
..**
#P -93 11
.**
**
..*
#P -111 5
.**
**
..*
#P -125 0
.**
*.*
..*
#P -129 -1
..*
**
#P -147 -7
.**
**
..*
#P -137 -12
.**
*.*
..*
#P -143 -18
.**
*.*
..*
#P -88 -53
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -94 -51
..*
**.*
*...*
**.*
..*
#P -102 -58
....**
****.**
******
.****
#P -104 -52
.....*
......*
.*..***
*.*
*.*****
....***
#P -103 -45
..**
*....*
......*
*.....*
.******
#P -115 -47
.*
*
***
#P -133 -41
.*
*
***
#P -151 -35
.*
*
***
#P -169 -29
.*
*
***
#P -187 -23
.*
*
***
#P -205 -17
.*
*
***
#P -223 -11
.*
*
***
#P -106 -31
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -112 -27
.*.*
*..**
.*.*
#P -120 -36
.****
******
****.**
....**
#P -120 -30
..*
....*
....*
*..**
*
*..**
.*..*
....*
#P -121 -20
.******
*.....*
......*
*....*
..**
#P -131 -24
*
*.*
**
#P -185 -6
*
*.*
**
#P -206 -6
*
.**
**
#P -173 33
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -178 35
.*
..*
*..*
..*
.*
#P -186 26
*..*
....*
*...*
.****
#P -185 34
...*
.*.*
*..*
*
*..*
.*.*
...*
#P -184 42
..**
*....*
......*
*.....*
.******
#P -192 48
.****
*...*
....*
*..*
#P -196 44
**
**.*
..*
#P -196 37
.****
*...*
.*
#P -191 31
***
***
.*.*
#P -197 25
**
.**
*
#P -203 19
**
.**
*
#P -209 13
**
.**
*
#P -215 7
**
.**
*
#P -221 1
**
.**
*
#P -227 -5
**
.**
*
#P -233 -11
**
.*
*
#P -232 -18
..*
*...*
.....*
*....*
.*****
#P -257 7
.**
.
*....*
......*
*.....*
.******
#P -259 1
.*
*
***
#P -265 7
..*
*...*
.....*
*....*
.*****
#P -265 -10
.*
*.*
*.*
.*
#P -274 2
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P -281 4
..**
.****
*...**
.****
..**
#P -288 -3
.****
******
****.**
....**
#P -288 11
..**
*....*
......*
*.....*
.******
#P -292 4
.*
**
*.*
#P -310 -2
.*
**
*.*
#P -328 -8
.*
**
*.*
#P -280 -28
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -286 -24
.*.*
*..**
.*.*
#P -294 -33
.****
******
****.**
....**
#P -295 -17
.******
*.....*
......*
*....*
..**
#P -296 -24
*
*.*
**
#P -314 -18
*
*.*
**
#P -332 -12
*
*.*
**
#P -302 36
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P -308 40
..***
**.**
..***
#P -316 33
....**
****.**
******
.****
#P -316 48
.******
*.....*
......*
*....*
..**
#P -319 40
.**
**
..*
#P -337 34
.**
**
..*
#P -355 28
.**
**
..*
#P -373 22
.**
**
..*
#P -391 16
.**
**
..*
#P -409 10
.**
**
..*
#P -320 14
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P -324 17
**
***
**
#P -334 9
.****
******
****.**
....**
#P -334 23
..**
*....*
......*
*.....*
.******
#P -335 17
.*
**
*.*
#P -353 11
.*
**
*.*
#P -341 -7
*.*
.**
.*
#P -347 -1
*.*
.**
.*
#P -353 5
*.*
.**
.*
#P -359 11
*.*
.**
.*
#P -371 5
.*
**
*.*
#P -411 5
.**
*.*
..*
#P -387 -50
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P -391 -47
*
.**
***
.**
*
#P -397 -54
....**
****.**
******
.****
#P -399 -37
..**
**.**
****
.**
#P -401 -48
...*
.**.**
.**.**
.*..*
...*.*
....**
****
**
#P -406 -48
..*
.****
*...*
.*
#P -405 -59
.**
****
**.**
..**
#P -408 -38
..*
*.*
.**
#P -414 -32
..*
*.*
.**
#P -420 -26
..*
*.*
.**
#P -426 -20
..*
*.*
.**
#P -432 -14
..*
*.*
.**
#P -438 -8
..*
*.*
.**
#P -445 6
...**
***.**
*****
.***
#P -470 -20
....**
****.**
******
.****
#P -478 -19
...**
***.**
*****
.***
#P -487 -18
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -493 -16
..*
**.*
*...*
**.*
..*
#P -501 -23
....**
****.**
******
.****
#P -503 -17
.....*
......*
.*..***
*.*
*.*****
....***
#P -502 -10
..**
*....*
......*
*.....*
.******
#P -514 -12
.*
*
***
#P -532 -6
.*
*
***
#P -494 11
.****
*...*
....*
*..*
.
*..*
....*
*...*
.****
#P -498 14
**
***
**
#P -508 6
.****
******
****.**
....**
#P -507 12
.*.*
....**
.***
***
.***
....**
...*
#P -508 20
..**
*....*
......*
*.....*
.******
#P -518 11
.*
**
*.*
#P -536 5
.*
**
*.*
#P -520 -1
.*
*.*
*.*
.*
#P -554 -1
.**
***
*..***
.*...*
#P -557 -5
***
..*
.*
#P -563 -11
***
..*
.*
#P -569 -17
***
..*
.*
#P -515 -54
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -521 -50
.*.*
*..**
.*.*
#P -529 -59
.****
******
****.**
....**
#P -529 -53
..*
....*
....*
*..**
*
*..**
.*..*
....*
#P -530 -43
.******
*.....*
......*
*....*
..**
#P -540 -47
*
*.*
**
#P -558 -41
*
*.*
**
#P -576 -35
*
*.*
**
#P -594 -29
*
*.*
**
#P -612 -23
*
*.*
**
#P -630 -17
*
*.*
**
#P -648 -11
*
*.*
**
#P -533 -30
..**
**.**
****
.**
.
.**
****
**.**
..**
#P -538 -28
.*
..*
*..*
..*
.*
#P -547 -35
....**
****.**
******
.****
#P -545 -29
...*
.*.*
*..*
*
*..*
.*.*
...*
#P -548 -22
..**
*....*
......*
*.....*
.******
#P -557 -25
.*
*
***
#P -600 32
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -605 35
**
..*
..**
..*
**
#P -611 35
..***
.**
*
.**
..***
#P -613 27
.****
*...*
....*
*..*
#P -611 44
.******
*.....*
......*
*....*
..**
#P -619 47
*..*
....*
*...*
.****
#P -624 37
..**..*..*
..****
.......*
*....*.*
....*
.
.*...*
..*
...***
#P -616 30
*
*
**
.*
*.*
#P -624 25
.*
.**
*.*
#P -630 19
.*
.**
*.*
#P -636 13
.*
.**
*.*
#P -642 7
.*
.**
*.*
#P -648 1
.*
.**
*.*
#P -654 -5
.*
.**
*.*
#P -659 -16
.*****
*....*
.....*
*...*
..*
#P -684 10
.******
*.....*
......*
*....*
..**
#P -692 9
.*****
*....*
.....*
*...*
..*
#P -697 -28
*..*
....*
*...*
.****
.
.
.
.****
*...*
....*
*..*
#P -703 -24
..***
**.**
..***
#P -711 -34
..**
*....*
......*
*.....*
.******
#P -711 -18
.****
******
****.**
....**
#P -714 -24
..*
**
.**
#P -732 -18
..*
**
.**
#P -750 -12
..*
**
.**
#P -700 1
.**
****
**.**
..**
.
.
.
..**
**.**
****
.**
#P -704 4
*
.*
.**
.*
*
#P -708 4
.*
.*
*
.*
.*
#P -712 6
**
**
.*
#P -716 5
*
.*
*
#P -715 -4
..**
*....*
......*
*.....*
.******
#P -714 13
....**
****.**
******
.****
#P -728 1
**
*.*
*
#P -746 -5
**
*.*
*
#P -782 -17
**
*.*
*
/programs/demos/life2/lif/THUE.lif
0,0 → 1,104
#Life 1.05
#D Thue generator
#D
#D Four puffers produce gliders, whose collisions produce four
#D lines of blinkers representing the transcendental number
#D .110110111110110111110110110..., where the n'th bit is 1 if n
#D is not divisible by 3 and is the complement of the (n/3)'th bit
#D if n is divisible by 3.
#D Built by Bill Gosper, in or before 1987
#N
#P -26 -18
.**
**.**
.****
..**
.
.
....*
...**
..**
...**
.
.
.
.
.**
**.**
.****
..**
#P -17 -19
.*
*
*...*
****
#P 0 -26
..*.............*
.***...........***
**.*.....*....**.*
***.....***...***
.**.....*.**...**
#P 15 -17
***
*..*
*
*
.*
#P 21 0
.**
****
**.**
..**
.
.
.
.
**
.**
**
*
.
.
.**
****
**.**
..**
#P 12 15
.****
*...*
....*
...*
#P -18 21
.**...**.*.....**
.***...***.....***
*.**....*.....*.**
***...........***
.*.............*
#P -19 12
..*
...*
...*
*..*
.***
#P -8 -2
.**
**.**
.****
..**
#P -2 -8
..*
.***
**.*
***
.**
#P 3 -2
.**
****
**.**
..**
#P -2 3
.**
.***
*.**
***
.*
/programs/demos/life2/lif/TIRETRAK.lif
0,0 → 1,18
#Life 1.05
#D Boat stretcher
#D Diagonal c/4 spaceship found by Tim Coe 2/20/96.
#D Noam Elkies noticed that it can stretch a boat.
#N
#P -13 -13
**.*.......***
*...*......*
*....*.......*.......**
..**.......*.*....**.*
....*.*....***.*..**
..........*...**..**
......**.****.**
.......*******
#P -2 -2
.*
*.*
.*
/programs/demos/life2/lif/TIRETRAX.lif
0,0 → 1,54
#Life 1.05
#D Boat stretcher
#D By Hartmut Holzwart, 1993.
#D A speed c/4 diagonal spaceship
#D stretches these potential fuses.
#D In this example, a c/4 eater
#D found by Tim Coe (April 1996)
#D burns one of the wicks.
#D See also AQUA25B, STRETCH,
#D TIRETRAK.
#N
#P -5 -5
..........*
.........**
.........*.*...*
.............**
..............*..*
............**.*..*
........***.**....*
.......*..*....*
......*....*....**
.**...*.....*.*.**
**....**.........*
..*.....*.........*
.....**..*......***
...*.**...........*.*
...**....*.........*
..*..*.*............*
........**..*
....*...***.*
.....**....***
..............*
.............**
#P 16 9
*
.*
*.*
.*.*
..*.*
...*.*
....*.*
.....*.*
......*
.......*
#P 25 12
......**.....*.***
......*.*.**.*....**
......*.*.*..*******
.......***.......*
*.**..*...***....***
..**..*...**.......*
.....***.........*
**....*.*........*
**.....*.*........**
/programs/demos/life2/lif/TRACK.lif
0,0 → 1,1611
#Life 1.05
#D p155 oscillator via B track
#D 20 B heptominoes travel around a track of length 3100 gens,
#D consisting of 20 64 gen turns and 28 65 gen turns. The turns use
#D the p5 oscillators "toaster" and "middleweight volcano". Four of
#D the toasters are 2-slicers rather than the usual 4-slicers, to
#D avoid destroying nearby eaters. Any period of the form 150+5n
#D (n>=0) can be obtained by using these components.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 4/20/92
#N
#P -118 -95
*..**..**..*
****.**.****
.
..***..***
.*..*..*..*
.**......**
....*..*
.****..****
*..........*
.***.**.***
...**..**
#P -121 -82
**
.*
.*.*
..**
#P -116 -76
**
**
#P -109 -80
..**
.*..*
.*..*
**.**
.**
#P -105 -85
**
**
#P -85 -95
...*
.***
*
**
#P -82 -91
..**
..*
*.*
**
#P -79 -87
..*..**
.*.*..*
.*.*.*
**.*.**
*..*...*
.*..***.*
*..**...*
.*..****
*..*
**.*.*****
.*.*..*..*
.*..*
..**
#P -67 -82
**
.*
.*.*
..**
#P -81 -68
**
**
#P -99 -73
**
**
#P -72 -63
**
**
#P -75 -59
...*
..******
.*..**.**
**.*...**
.*.****
....**
#P -78 -51
**
**
#P -91 -50
...******
.***.**.***
*....**....*
.****..****
....*..*
.***....***
.*..*..*..*
..***..***
.....**
****.**.****
*..******..*
#P -84 -58
**
**
#P -89 -60
**
**
#P -94 -56
..**
.*.*
.*
**
#P -64 -96
....****
*..*....*..*
****....****
.
..***..***
.*..*..*..*
.****..****
....*..*
.****..****
*..........*
.***....***
...*....*
....****
#P -51 -85
**
**
#P -44 -87
..*
*
**
#P -40 -83
***
..*
**..*
#P -35 -84
*
.**
..*
..*
.*
*
#P -62 -76
**
**
#P -57 -78
**
**
#P -49 -77
*
*.*
**
#P -45 -73
**
**
#P -54 -68
**
**
#P -58 -43
**
*
.***
...*
#P -55 -47
**
*.*
..*
..**
#P -52 -60
..**
.*..*
.*.*..*..*
**.*.*****
*..*
***..***
****....*
***..**.*
*..*...*
**.*.**
.*.*.*
.*.*..*
..*..**
#P -40 -56
..**
.*.*
.*
**
#P -35 -60
**
**
#P -30 -58
**
**
#P -29 -63
**.**
.*.*
..*
#P -37 -52
.....**
....****
...*.**.*
.***....***
*...*..*...*
.****..****
.....**
.**.****.**
.*...**...*
..***..***
....*..*
****....****
*..*.**.*..*
....****
.....**
#P -24 -51
**
**
#P -18 -63
**
**
#P -31 -95
...*
.***
*
**
#P -28 -91
..**
..*
*.*
**
#P -26 -87
...*..**
..*.*..*
..*.*.*
.**.*.**
*...*...*
*....*.*.*
*...**...*
*....*.**
*...*
.**.*.*****
..*.*..*..*
..*..*
...**
#P -13 -82
**
.*
.*.*
..**
#P -10 -97
....*..*
.
*..*....*..*
****.**.****
....*..*
..***..***
.*........*
.**.*..*.**
.
.****..****
*...*..*...*
.***.**.***
...*....*
.
....*..*
#P 3 -85
**
**
#P -4 -72
.*
*
*
#P -9 -67
..*
.***
.***
.
.****
*****
**.*
#P -17 -50
*****
****
...**
.....**
#P -11 -55
...*
.***
**
**
...*
..*
..*
#P -7 -47
**
**
#P -4 -43
**
*
.***
...*
#P -4 -51
**
**
#P -1 -47
**
*.*
..*
..**
#P 0 -60
....**
...*..*
...*.*..*..*
..**.*.*****
.*..**
***...**.*
***..**.*.*
***...**..*
.*..**...*
..**.*.**
...*.*.*
...*.*..*
....*..**
#P 14 -56
..**
.*.*
.*
**
#P 9 -73
**
**
#P 11 -88
.**...***
*.......**
.
**.......*
..**.....*
.**.*...*
*....***
.**
#P 23 -95
...*
.***
*
**
#P 26 -91
..**
..*
*.*
**
#P 26 -87
.....*..**
....*.*..*
....*.*.*
...**.*.**
.*...**...*
....**..**.*
*...*.*..*.*
....**..***
.*...**
...**.*.*****
....*.*..*..*
....*..*
.....**
#P 20 -70
***
*
.*
#P 22 -66
...**
***.*
*..**
.***
..*
#P 17 -50
...**..**
.***.**.***
*..........*
.****..****
....*..*
.**......**
.*..*..*..*
..***..***
.
****.**.****
*..**..**..*
#P 30 -51
**
**
#P 36 -54
.**
**
*
#P 36 -63
**
**
#P 41 -60
*
*.*
**
#P 41 -82
**
.*
.*.*
..**
#P 44 -95
*..******..*
****.**.****
.....**
..***..***
.*..*..*..*
.***....***
....*..*
.****..****
*....**....*
.***.**.***
...******
#P 53 -80
..**
.*..*
.*..**
*..**
****
#P 46 -76
**
**
#P 57 -85
**
**
#P 54 -68
**
**
#P 53 -47
**
*.*
..*
..**
#P 50 -43
**
*
.***
...*
#P 56 -60
..**
.*..*
.*.*..*..*
**.*.*****
*..*
.*..****
*..**...*
.*..***.*
*..*...*
**.*.**
.*.*.*
.*.*..*
..*..**
#P 68 -56
..**
.*.*
.*
**
#P 63 -73
**
**
#P 77 -95
...*
.***
*
**
#P 80 -91
..**
..*
*.*
**
#P 83 -87
..*..**
.*.*..*
.*.*.*
**.*.**
*..*...*
***..**.*
****....*
***..***
*..*
**.*.*****
.*.*..*..*
.*..*
..**
#P 81 -68
**
**
#P 73 -60
**
**
#P 78 -58
**
**
#P 71 -51
....****
...*....*
.***....***
*..........*
.****..****
....*..*
.****..****
.*..*..*..*
..***..***
.
****....****
*..*....*..*
....****
#P 90 -63
**
**
#P 87 -59
..**.**
..*....**
**
**.*....*
**.*..**
...*..*
#P 103 -63
...*
.***
*
**
#P 108 -60
...*......**
..*.*.**..*
..*.*.*.*.*
.**.*.*.*.**
*...*****...*
*...........*
*...........*
*...*****...*
.**.*.*.*.**
..*.*.*.*.*
..*.*.**..*
...*......**
#P 108 -47
**
**
#P 96 -41
**
**
#P 109 -40
**
**
#P 101 -32
**
**
#P 106 -30
**
**
#P 114 -32
**
*.*
*
#P 118 -35
**
**
#P 131 -35
...*
.***
*
**
#P 96 -28
..**
.*.*
.*
**
#P 98 -23
.....****
....*....*
..***....***
.*..........*
..****..****
.....*..*
..****..****
..*..*..*..*
...*.****.*
.*.**....**.*
*.*...**...*.*
.*..**..**..*
..**.*..*.**
#P 119 -22
**
*
..*
#P 123 -26
**..*
..*
***
#P 128 -28
*
.*
..*
..*
.**
*
#P 136 -32
...*......**
..*.*.**..*
..*.*.*.*.*
.**.*.*.*.**
*...*****...*
*...........*
*...........*
*...*****...*
.**.*.*.*.**
..*.*.*.*.*
..*.*.**..*
...*......**
#P 136 -19
**
**
#P 134 -13
**
#P 124 -13
**
**
#P 105 -8
*
***
...*
..**
#P 90 -5
..**......*
...*..**.*.*
...*.*.*.*.*
..**.*...*.**
.*..**.*.**..*
***...***...***
***...***...***
.*..**.*.**..*
..**.*...*.**
...*.*.*.*.*
...*..**.*.*
..**......*
#P 111 -3
**
**
#P 109 2
**
**
#P 102 8
**
**
#P 106 9
....*
.*****
*
.
.*...*
..***
#P 119 5
**
**
#P 114 14
**
**
#P 144 1
**
*.*
..*
..**
#P 140 4
**
*
.***
...*
#P 127 6
....*****
...*.....*
.***.....***
*...........*
*.***.*.****
.*...***
...*.....**.*
..**.*.*.*.**
...*.*..*
...*..**
..**
#P 131 19
...*
.***
*
**
#P 135 22
....*......**
...*.*.**..*
...*.*.*.*.*
..**.*...*.**
*...**.*.**...*
...*.......*
...*.......*
*...**.*.**...*
..**.*...*.**
...*.*.*.*.*
...*.*.**..*
....*......**
#P 127 24
**
**
#P 129 29
**
**
#P 136 35
**
**
#P 119 32
**
**
#P 124 41
**
**
#P 130 40
.**
**
..*
#P 132 44
...**
**..*
*..*
.***
#P 144 55
**
*.*
..*
..**
#P 140 58
**
*
.***
...*
#P 127 58
......*
....*...*
.
...*.....*
.***.***.***
*...**.**...*
*.***.*.****
.*
...*.*.*.**.*
..**.***.*.**
...*.*..*
...*..**
..**
#P 119 59
**
**
#P 113 60
.*
.**
*.*
#P 114 68
**
**
#P 112 81
**
*.*
..*
..**
#P 111 51
**
**
#P 92 28
..**
.*.*
.*
**
#P 96 31
..**
...*
***
*
#P 100 32
.....***
....*****
...*.***.*
.***.....***
*...*...*...*
.****.*.***.*
.....***...*
*.**.*.*.*
**.*..*..**
....*..*.*
.....**..*
.........**
#P 105 46
*
***
...*
..**
#P 109 56
**
**
#P 109 77
**
**
#P 99 78
..**
**.**
*..*
*..*
.**
#P 98 86
**
**
#P 101 87
...**..**
.***.**.***
*..........*
.****..****
....*..*
.**......**
.*..*..*..*
..***..***
.
****.**.****
*..**..**..*
#P 101 69
**
**
#P 92 74
**
**
#P 91 48
..*
.*.*.....*
*.*..**.*.*
*..**.*.*.*
.*.*....*.**
**..**.**..*
..*.*.....*
..*.*.....*
**..**.**..*
.*.*....*.**
*..**.*.*.*
*.*..**.*.*
.*.*.....*
..*
#P 85 55
..**
..*
*.*
**
#P 82 61
**
**
#P 77 59
**
**
#P 74 42
*..******..*
****.**.****
.....**
..***..***
.*..*..*..*
.***....***
....*..*
.****..****
*....**....*
.***.**.***
...******
#P 74 69
**
**
#P 76 94
..**
...*
***
*
#P 73 90
..**
.*.*
.*
**
#P 64 77
......**
.....*..*
*..*..*.*
*****.*.**
......*..*
..****..*
.*...**..*
.*.***..*
..*...*..*
...**.*.**
....*.*.*
...*..*.*
...**..*
#P 71 52
**
**
#P 61 56
...**
..****.*
**...*.**
**.**..*
.******
.....*
#P 65 64
**
**
#P 58 81
**
*.*
..*
..**
#P 55 77
**
**
#P 50 79
**
**
#P 47 69
**
**
#P 49 42
*
***
...*
..**
#P 46 46
**
.*
.*.*
..**
#P 41 77
.**
*.*
..*
#P 38 74
**
**
#P 44 86
**
**
#P 47 86
....****
...*....*
.***....***
*..........*
.****..****
....*..*
.****..****
.*..*..*..*
..***..***
.
****....****
*..*....*..*
....****
#P 37 50
...**..*
...*..*.*
....*.*.*
...**.*.**
..*...*..*
.*.**..***
.*....****
..***..***
......*..*
*****.*.**
*..*..*.*
.....*..*
......**
#P 36 87
.**
..*
*
#P 32 83
.**
*
***
#P 27 81
..*
.*
*..*
*
**
..*
#P 31 55
..**
..*
*.*
**
#P 28 61
**
**
#P 20 40
.....**
....****
*..*.**.*..*
****....****
....*..*
..***..***
.*...**...*
.**.****.**
.....**
.****..****
*...*..*...*
.***....***
...*.**.*
....****
.....**
#P 23 59
**
**
#P 19 63
..*
.*.*
**.**
#P 22 94
..**
...*
***
*
#P 19 90
..**
.*.*
.*
**
#P 10 77
......**
.....*..*
*..*..*.*
*****.*.**
......*...*
..**.*....*
.*...**...*
.*.*.*....*
..*...*...*
...**.*.**
....*.*.*
...*..*.*
...**..*
#P 17 52
**
**
#P 11 64
**
**
#P 7 50
**
.****
*****
#P 2 49
...**
.
.*
.*
*
..**
..**
***
*
#P -1 63
.*.**
*****
****
.
.***
.***
..*
#P -3 72
.*
.*
*
#P 4 81
**
*.*
..*
..**
#P 0 48
**
**
#P -5 42
*
***
...*
..**
#P -8 46
**
.*
.*.*
..**
#P -3 52
**
**
#P -7 85
....*..*
.
...*....*
.***.**.***
*...*..*...*
.****..****
.
.**.*..*.**
.*........*
..***..***
....*..*
****.**.****
*..*....*..*
.
....*..*
#P -10 86
**
**
#P -17 50
...**..*
...*..*.*
....*.*.*
...**.*.**
..*...**..*
.*..**...***
.*.*.**..***
..*.**...***
......**..*
*****.*.**
*..*..*.*
.....*..*
......**
#P -16 74
**
**
#P -26 83
.......**
..***....*
.*...*.**
*.....**
*.......**
.
**.......*
.***...**
#P -23 55
..**
..*
*.*
**
#P -32 64
..*
.***
**..*
*.***
**
#P -28 70
.*
..*
***
#P -32 94
..**
...*
***
*
#P -35 90
..**
.*.*
.*
**
#P -44 77
......**
.....*..*
*..*..*.*
*****.*.**
......**...*
..***..**
.*.*..*.*...*
.*.**..**
..*...**...*
...**.*.**
....*.*.*
...*..*.*
...**..*
#P -34 42
*..**..**..*
****.**.****
.
..***..***
.*..*..*..*
.**......**
....*..*
.****..****
*..........*
.***.**.***
...**..**
#P -37 52
**
**
#P -44 54
..*
.**
**
#P -43 64
**
**
#P -49 60
.**
*.*
..*
#P -50 81
**
*.*
..*
..**
#P -53 77
**
**
#P -64 78
..****
.**..*
**..*
.*..*
..**
#P -61 87
...******
.***.**.***
*....**....*
.****..****
....*..*
.***....***
.*..*..*..*
..***..***
.....**
****.**.****
*..******..*
#P -64 86
**
**
#P -61 69
**
**
#P -59 42
*
***
...*
..**
#P -62 46
**
.*
.*.*
..**
#P -71 50
...**..*
...*..*.*
....*.*.*
...**.*.**
..*...*..*
.*.***..*
.*...**..*
..****..*
......*..*
*****.*.**
*..*..*.*
.....*..*
......**
#P -70 74
**
**
#P -77 55
..**
..*
*.*
**
#P -80 61
**
**
#P -85 59
**
**
#P -86 94
..**
...*
***
*
#P -89 90
..**
.*.*
.*
**
#P -98 77
......**
.....*..*
*..*..*.*
*****.*.**
......*..*
..***..***
.*....****
.*.**..***
..*...*..*
...**.*.**
....*.*.*
...*..*.*
...**..*
#P -88 69
**
**
#P -88 41
....****
*..*....*..*
****....****
.
..***..***
.*..*..*..*
.****..****
....*..*
.****..****
*..........*
.***....***
...*....*
....****
#P -101 56
..*..*
.**..*.**
*....*.**
.......**
**....*
..**.**
#P -97 64
**
**
#P -112 62
..**
...*
***
*
#P -126 51
.**......*
..*..**.*.*
..*.*.*.*.*
.**.*.*.*.**
*...*****...*
*...........*
*...........*
*...*****...*
.**.*.*.*.**
..*.*.*.*.*
..*..**.*.*
.**......*
#P -115 48
**
**
#P -103 42
**
**
#P -116 41
**
**
#P -125 36
**
**
#P -122 32
..*
*.*
.**
#P -140 34
..**
...*
***
*
#P -154 23
.**......*
..*..**.*.*
..*.*.*.*.*
.**.*.*.*.**
*...*****...*
*...........*
*...........*
*...*****...*
.**.*.*.*.**
..*.*.*.*.*
..*..**.*.*
.**......*
#P -136 25
..*
**
*
*..*
.*
..*
#P -131 26
***
*
.**
#P -127 22
*
..*
.**
#P -113 31
**
**
#P -108 33
**
**
#P -105 27
..**
..*
*.*
**
#P -117 13
..**.*..*.**
.*..**..**..*
*.*...**...*.*
.*.**....**.*
...*.****.*
..*..*..*..*
..****..****
.....*..*
..****..****
.*..........*
..***....***
....*....*
.....****
#P -141 15
**
#P -143 20
**
**
#P -131 14
**
**
#P -114 7
**
*
.***
...*
#P -110 -4
....*......**
...*.*.**..*
...*.*.*.*.*
..**.*...*.**
.*..**.*.**..*
***...***...***
***...***...***
.*..**.*.**..*
..**.*...*.**
...*.*.*.*.*
...*.*.**..*
....*......**
#P -118 4
**
**
#P -116 -1
**
**
#P -126 -4
**
**
#P -153 -2
**
.*
.*.*
..**
#P -149 -5
*
***
...*
..**
#P -145 -14
.........**
.....**..*
....*..*.*
**.*.*.*.**
*.**.....*
.....***...*
.****.*.***.*
*...........*
.***.....***
...*.....*
....*****
#P -117 -12
.***
*...*
.
.....*
*****
.*
#P -109 -7
**
**
#P -121 -13
**
**
#P -140 -20
..**
...*
***
*
#P -155 -31
..**......*
...*..**.*.*
...*.*.*.*.*
..**.*...*.**
*...**.*.**...*
...*.......*
...*.......*
*...**.*.**...*
..**.*...*.**
...*.*.*.*.*
...*..**.*.*
..**......*
#P -136 -28
**
**
#P -134 -23
**
**
#P -143 -34
**
**
#P -126 -31
**
**
#P -101 -29
..**
..*
*.*
**
#P -105 -32
...*
.***
*
**
#P -118 -41
..**
...*..**
...*.*..*
..**..*..*.**
...*.*.*.**.*
.*...***
*.***.*.****
*...*...*...*
.***.....***
...*.***.*
....*****
.....***
#P -131 -40
**
**
#P -138 -40
*
.**
**
#P -142 -45
.***
.*..*
*..**
**
#P -114 -47
**
*
.***
...*
#P -118 -50
**
**
#P -153 -56
**
.*
.*.*
..**
#P -149 -59
*
***
...*
..**
#P -145 -68
.........**
.....**..*
....*..*.*
**.*.***.**
*.**.*.*.*
...........*
.****.*.***.*
*...**.**...*
.***.***.***
...*.....*
.
....*...*
......*
#P -126 -58
**
**
#P -121 -60
*.*
**
.*
#P -116 -55
**
**
#P -121 -67
**
**
#P -108 -59
.........*
..*.....*.*
.*.*.**..*.*
.*.*.*.**..*
**.*....*.*
*..**.**..**
.*.....*.*
.*.....*.*
*..**.**..**
**.*....*.*
.*.*.*.**..*
.*.*.**..*.*
..*.....*.*
.........*
#P -108 -68
**
**
/programs/demos/life2/lif/TUBTRAX.lif
0,0 → 1,136
#Life 1.05
#D Superstring on tub tracks
#D by Tony Smithurst
#N
#P -2 -37
.**
*..*
....*
*..*
.***
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
...*
...*
...*
...*
...*
...*
...*
..**
..**
.***
*..*
....*
*..*
.**
#P 4 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 84 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 164 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 244 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 324 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 404 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 484 -36
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 4 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 84 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 164 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 244 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 324 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 404 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
#P 484 34
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*.*
.*...*...*...*...*...*...*...*...*...*...*...*...*...*...*...*
/programs/demos/life2/lif/TWINDOTS.lif
0,0 → 1,82
#Life 1.05
#D Twin Dot Agars
#D The one on left by Don Woods;
#D Dean Hickerson stabilized the
#D border, making it finite, and
#D introduced the second one.
#D See also LONEDOTS.
#N
#P -37 -18
........*..**...*..**...*..**
........*.*.*...*.*.*...*.*.*
........*.......*.......*
..........*.......*.......*
........*.......*.......*
...........**......**......**
.......**......**......**
**...*....*..*....*..*....*..*
*....*....*..*....*..*....*..*.*.***
.*.*...**......**......**
...........**......**......**...*.*
***.*.*..*....*..*....*..*....*....*
......*..*....*..*....*..*....*...**
...........**......**......**
.......**......**......**
**...*....*..*....*..*....*..*
*....*....*..*....*..*....*..*.*.***
.*.*...**......**......**
...........**......**......**...*.*
***.*.*..*....*..*....*..*....*....*
......*..*....*..*....*..*....*...**
...........**......**......**
.......**......**......**
**...*....*..*....*..*....*..*
*....*....*..*....*..*....*..*.*.***
.*.*...**......**......**
...........**......**......**...*.*
***.*.*..*....*..*....*..*....*....*
......*..*....*..*....*..*....*...**
...........**......**......**
.......**......**......**
...........*.......*.......*
.........*.......*.......*
...........*.......*.......*
.......*.*.*...*.*.*...*.*.*
.......**..*...**..*...**..*
#P 3 -18
.........*.......*.......*
.........*.*.....*.*.....*.*
.......*.......*.......*
........*****...*****...*****
.......*.......*.......*
.........*.*.....*.*.....*.*
.......*...*...*...*...*...*
...*.....*...*...*...*...*...*.*.*
.*.*.**...*...*...*...*...*.....*
...*....*...*...*...*...*...*.*.*.**
**.*.*.*...*...*...*...*...*....*
...*.....*...*...*...*...*...**.*.*
..*.*.*...*...*...*...*...*.....*
........*...*...*...*...*...*
.......*...*...*...*...*...*
...*.....*...*...*...*...*...*.*.*
.*.*.**...*...*...*...*...*.....*
...*....*...*...*...*...*...*.*.*.**
**.*.*.*...*...*...*...*...*....*
...*.....*...*...*...*...*...**.*.*
..*.*.*...*...*...*...*...*.....*
........*...*...*...*...*...*
.......*...*...*...*...*...*
...*.....*...*...*...*...*...*.*.*
.*.*.**...*...*...*...*...*.....*
...*....*...*...*...*...*...*.*.*.**
**.*.*.*...*...*...*...*...*....*
...*.....*...*...*...*...*...**.*.*
..*.*.*...*...*...*...*...*.....*
........*...*...*...*...*...*
........*.*.....*.*.....*.*
............*.......*.......*
.......*****...*****...*****
............*.......*.......*
........*.*.....*.*.....*.*
..........*.......*.......*
/programs/demos/life2/lif/UNITCELL.lif
0,0 → 1,2761
#Life 1.05
#D p5760 Unit Life Cell in 500x500
#D
#D A Unit Life Cell is an object which plays the Game of Life on a larger
#D scale. This entire pattern emulates the behavior of one Life cell. If
#D multiple copies of this pattern are placed on a grid, 500 units apart
#D in each direction, then one can play a meta-game of life. The existence
#D of one Unit Cell implies the existence of an infinite number of Unit
#D Cells, of period 5760^n and size 500^n x 500^n (here, n=1, of course).
#D
#D In practice, this cell is terribly slow, and would still be a just an
#D interesting curiosity even if it were fast.
#D
#D The state is determined by the presence or absence of a glider at every
#D multiple of 5760 generations, in a space in the upper left quadrant.
#D Two long boats point at this space. Long boats are also pointing at the
#D corners of the pattern, to aid alignment with other Unit Cells (if you
#D are running a powerful enough machine to view more than one of these).
#D
#D by David Bell, January 1996.
#N
#P -129 -130
***
..*
.*
#P -124 -126
**
*.*
.*.*
..*.*
...*
#P -135 -137
.*
*.*
.*.*
..*.*
...**
#P -249 -249
**
*.*
.*.*
..*
#P 246 -249
..**
.*.*
*.*
.*
#P -249 246
..*
.*.*
*.*
**
#P 246 246
.*
*.*
.*.*
..**
#P -116 -234
...*
.***
*
**
#P -121 -228
...*
..*.*
.*...*
..***
**...**
#P -118 -213
**
**
#P -79 -233
**
**
#P -74 -236
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P -60 -238
..**
..*
*.*
**
#P 25 -231
**
**
#P 35 -234
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P 44 -236
..**
..*
*.*
**
#P -219 -181
*
***
...*
..**
#P -217 -175
..***
..***
.*...*
*.....*
.*...*
..***
#P -219 -162
..**
...*
***
*
#P -207 -153
*
***
...*
..**
#P -205 -143
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -203 -132
**
**
#P -111 -157
**
.*
.*.*
..**
#P -101 -155
...*
..**
.**
***
.**
..**
...*
#P -94 -153
**
**..**
**..**
#P -26 -178
**
**
#P -20 -180
....*
..*.*
**
**
**
..*.*
....*
#P -7 -175
**
*.*
..*
..**
#P -45 -167
**
**
#P -37 -170
...**
..*.*
.***
***
.***
..*.*
...**
#P -30 -172
.......*
......*.*
....**...*
..**.*...*
.***.*...*
*..**.*.*
.**....*
#P -13 -167
**
*.*
..*
..**
#P -48 -154
**
**
#P -37 -156
*
*.*
...**
...**
...**
*.*
*
#P -27 -154
....**
....**
.**
***
.**
....**
....**
#P -16 -149
**
*.*
..*
..**
#P -27 -158
.**
*.*
..*
#P -48 -140
**
**
#P -44 -143
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P -23 -145
*
*.*
...**
...**
...**
*.*
*
#P -16 -140
**
*.*
..*
..**
#P -51 -127
**
**
#P -45 -129
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -36 -128
.**
***.**
*...*
*.*
**
#P -28 -127
**
*.*
...*
*..*
...*
*.*
**
#P -19 -122
**
*.*
..*
..**
#P -27 -134
.**
*.*
..*
#P -51 -113
**
**
#P -39 -116
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -31 -118
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -19 -113
**
*.*
..*
..**
#P -27 -108
**
**
#P -54 -104
**
.*
.*.*
..**
#P -45 -102
**
*..*
....*
....*
....*
*..*
**
#P -22 -102
..*
*.*
.**
#P -30 -100
...*
..****
.**.*.*
***.*..*
.**.*.**
..****.***
...*....*.*
..........*
..........**
#P -34 -102
***
..*
.*
#P -29 -140
.*
..*
***
#P -22 -132
..*
*.*
.**
#P -7 -117
..*
*.*
.**
#P 8 -102
..*
*.*
.**
#P -22 -162
..*
*.*
.**
#P -7 -147
..*
*.*
.**
#P 8 -132
..*
*.*
.**
#P 23 -117
..*
*.*
.**
#P 38 -102
..*
*.*
.**
#P 13 -176
**
**
#P 10 -165
**...**
.
.*...*
..***
..***
#P 8 -155
...*
..***
..***
.
**...**
**...**
#P 13 -144
**
*
.***
...*
#P 18 -152
**
**
#P 22 -179
*
***
...*
..**
#P 24 -170
**.*.**
*.....*
.*...*
..***
#P 26 -153
.*****
*.***.*
.*...*
..***
...*
#P 31 -147
**
*
.***
...*
#P 24 -160
.*
*
***
#P 23 -147
..*
*.*
.**
#P 38 -132
..*
*.*
.**
#P 53 -117
..*
*.*
.**
#P 68 -102
..*
*.*
.**
#P 53 -179
*
***
...*
..**
#P 55 -173
..***
..***
.*...*
.
**...**
#P 60 -160
**
*
.***
...*
#P 117 -209
**
**
#P 115 -203
..***
..***
.*...*
.
**...**
#P 120 -190
**
*
.***
...*
#P 134 -225
**
**
#P 131 -215
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P 129 -206
..**
...*
***
*
#P 129 -193
..**
.*.*
.*
**
#P 137 -198
...**
.*..*
*
*
*
.*..*
...**
#P 144 -199
.***
*..*.*
**
..*
.....**
...*
...**
.*.*
.***
#P 153 -200
*.*
*...*
....*
*....*
....*
*...*
*.*
#P 163 -197
**
**
#P 138 -179
..**
.*.*
.*
**
#P 144 -184
....*
..*.*
**
**
**
..*.*
....*
#P 162 -186
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P 172 -184
**
**
#P 152 -185
***
*
.*
#P 221 -213
**
**
#P 219 -201
.*****
*.***.*
.*...*
..***
...*
#P 221 -193
...*
...*
..*.*
.**.**
*.....*
...*
**...**
#P 217 -191
*
*.*
**
#P 224 -177
...*
..***
.*****
*.*.*.*
**...**
#P 223 -170
.**
.**
*
***
....*
*****
..**
#P 222 -161
**...**
.*****
.**.**
.**.**
..***
#P 224 -151
**
**
#P 214 -177
....*
...**
.*...*
*.**
*.*
#P 215 -170
**
**
#P 205 -173
..**
.*.*
.*
**
#P 203 -167
**
**
#P 200 -159
...*
..***
.*****
*.*.*.*
**...**
#P 205 -149
**
*
.***
...*
#P 194 -169
.*
*
***
#P 192 -164
***
#P 187 -186
**
**
#P 185 -176
**.*.**
.
*.....*
.
.**.**
...*
#P 180 -168
**
**
...**
...***
...**
**
**
#P 171 -167
..***
.*****
*.*...*
**...*
#P 163 -163
**
.*
.*.*
..**
#P 174 -161
*
*.*
...**
...**
...**
*.*
*
#P 183 -159
**
**
#P 202 -143
**
**
#P 191 -146
*
**
.**
.***
.**
**
*
#P 186 -144
**
**
**
#P 180 -149
.**
*.*
.*
#P 179 -142
...*
..***
.*...*
*.***.*
.*****
#P 181 -127
**
**
#P 174 -139
.**
.**
.
.*
*.*
*.*
.*
#P 172 -130
**.*.**
*.....*
.*...*
..***
#P 177 -121
**
*
.***
...*
#P 159 -158
**
**
#P 157 -151
..***
.**.**
.**.**
.*****
**...**
#P 161 -143
*
*
.*
.
*
*
#P 164 -137
.**
*.*
.*
#P 151 -140
...**
.*..*
*
*
*
.*..*
...**
#P 143 -137
**
**
#P 171 -102
**
.*
.*.*
..**
#P 177 -100
....*
..*.*
**
**
**
..*.*
....*
#P 195 -98
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P 205 -95
**
**
#P 185 -95
.*
*
***
#P 202 -82
**
**
#P 189 -84
....*
.****
****
*..*
****
.****
....*
#P 177 -82
**
*.*
.***
..***
.***
*.*
**
#P 168 -80
***.**
****..*
....**
#P 178 -87
**
**
#P 144 -95
..**
...*
***
*
#P 146 -104
**...**
**...**
.*****
..*.*
.
..***
#P 134 -112
....*
..*.*
**
**
**
..*.*
....*
#P 128 -107
..**
.*.*
.*
**
#P 130 -120
..*....*
**.****.**
..*....*
#P 152 -88
.****
*...*
....*
*..*
#P 122 -88
.****
*...*
....*
*..*
#P 92 -88
.****
*...*
....*
*..*
#P 62 -88
.****
*...*
....*
*..*
#P 32 -88
.****
*...*
....*
*..*
#P 2 -88
.****
*...*
....*
*..*
#P -28 -88
.****
*...*
....*
*..*
#P -58 -88
.****
*...*
....*
*..*
#P -88 -88
.****
*...*
....*
*..*
#P 86 -111
**
.*
.*.*
..**
#P 92 -109
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 107 -106
**
**
#P -225 -96
.**
*..*
*..*
*..*
.**
#P -217 -96
.**
*..*
*..*
*..*
.**
#P -214 -81
..**
...*
***
*
#P -125 -100
**
**
#P -121 -103
....*
..****
.*.*.**
*..*.***
.*.*.**
..****
....*
#P -110 -101
*
..**.*
.****.*
.**..**
#P -101 -105
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -90 -108
....**
....**
.**
***
.**
....**
....**
#P -82 -103
**
*..**
.****
..*
#P -77 -106
*
*
*
#P -72 -106
*
*.*
...**
...**
...**
*.*
*
#P -65 -101
**
*.*
..*
..**
#P -81 -97
.**.........**
*..*..***..*..*
***..*****..***
...*********
..*.........*
..**.......**
#P -89 -96
*.*
**
.*
#P -99 -92
*.*
.**
.*
#P -113 -86
**
.*
.*.*
..**
#P -108 -84
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P -98 -84
..*..*
.....*
.**...*
*.*.**
.
**
#P -89 -82
*
****
.****
.*..*
.****
****
*
#P -79 -80
**
**
#P -65 -75
**
**
#P -60 -78
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -51 -77
***
.
..*..**
..*...*
..*..*
....**
#P -42 -80
**
***
..**.*
..*..*
..**.*
***
**
#P -33 -82
..**
..*
*.*
**
#P -27 -79
***
..*
.*
#P -62 -63
.*
*...**
*.....*
.*****
#P -53 -64
**
*..*
....*
....*
....*
*..*
**
#P -38 -64
..........**
..........*
...*....*.*
..****.***
.**.*.**
***.*..*
.**.*.*
..****
...*
#P -42 -64
***
..*
.*
#P -62 -48
**
**
#P -52 -51
...*
..****
.**.*.*
***.*..*
.**.*.*
..****
...*
#P -42 -53
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P -30 -55
..**
..*
*.*
**
#P -40 -44
..*
*.*
.**
#P -59 -39
**
.*
.*.*
..**
#P -53 -37
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -44 -36
.**
***.**
*...*
*.*
**
#P -36 -35
**
*.*
...*
*..*
...*
*.*
**
#P -27 -37
..**
..*
*.*
**
#P -35 -40
**
**
#P -27 -49
***
..*
.*
#P -12 -64
***
..*
.*
#P 3 -79
***
..*
.*
#P -59 -26
**
.*
.*.*
..**
#P -50 -24
**
*.*
...*
*..*
...*
*.*
**
#P -33 -26
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -27 -28
..**
..*
*.*
**
#P -40 -20
..*
*.*
.**
#P -56 -8
**
**
#P -45 -10
*
*.*
...**
...**
...**
*.*
*
#P -35 -8
....**
....**
.**
***
.**
....**
....**
#P -24 -10
..**
..*
*.*
**
#P -32 -13
**
**
#P -27 -19
***
..*
.*
#P -12 -34
***
..*
.*
#P 3 -49
***
..*
.*
#P 18 -64
***
..*
.*
#P 33 -79
***
..*
.*
#P -7 -31
**
.*
.*.*
..**
#P -1 -29
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 7 -28
...***
.*.*..*
.....**
.
***
#P 16 -27
**
*..*
....*
....*
....*
*..*
**
#P 26 -24
...*
..*.*
**...*
**...*
**...*
..*.*
...*
#P 43 -26
...**
..*.*
.***
***
.***
..*.*
...**
#P 53 -21
**
*.*
..*
..**
#P 34 -26
.**
**
..*
#P 26 -34
***
*.**
****
#P 24 -37
**
***
#P 18 -34
***
..*
.*
#P 33 -49
***
..*
.*
#P 48 -64
***
..*
.*
#P 63 -79
***
..*
.*
#P 210 -22
**
**
#P 219 -24
..**
.*.*
*
*..*
*
.*.*
..**
#P 225 -26
......**
......*
....*.*
...***
.***
*..*
.**
#P 218 12
**
.*
.*.*
..**
#P 228 14
*
****
.****
.*..*
.****
****
*
#P 237 12
..**
..*
*.*
**
#P 182 4
...*
.***
*
**
#P 177 11
...*
.**.**
.
*.....*
.
**.*.**
#P 175 23
..**
...*
***
*
#P 156 8
...*
.***
*
**
#P 151 19
**...**
.*****
.**.**
.**.**
..***
#P 149 27
..**
...*
***
*
#P 86 -13
*
***
...*
..**
#P 88 -4
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P 97 1
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P 109 6
**
*.*
..*
..**
#P 100 10
...*
.***
*
**
#P 95 15
...*
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P 93 29
..**
...*
***
*
#P 17 34
..**
..*
*.*
**
#P 7 36
**
*..*
....*
....*
....*
*..*
**
#P -3 34
**
.*
.*.*
..**
#P -28 9
..**
..*
*.*
**
#P -39 11
...**
.*..*
*
*
*
.*..*
...**
#P -47 9
**
.*
.*.*
..**
#P -163 -76
**
**
#P -159 -79
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P -142 -77
....**
....**
.**
***
.**
....**
....**
#P -131 -72
**
*.*
..*
..**
#P -150 -72
*.*
**
.*
#P -160 -56
..**
.*.*
.*
**
#P -154 -61
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -145 -63
.**
****
*..***
**
....*
.....*
.....*
#P -134 -63
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -126 -60
**
**
#P -165 -57
*.*
**
.*
#P -180 -42
*.*
**
.*
#P -187 -57
.....*
***.**..**
****....**
....**
#P -230 -44
....*
**..**.***
**....****
....**
#P -236 -40
**
**
#P -239 -33
..***
.**.**
.**.**
.*****
**...**
#P -236 -26
...*
..*.**
..*
.
..**.*
*..*
*.*
#P -237 -15
..***
.*...*
*.....*
.*...*
..***
..***
#P -234 -6
**
**
#P -229 -30
**
.
*..*
....*
..*
#P -219 -40
***
..*
.*
#P -216 -37
...*
.***
*
**
#P -222 -27
...***
..*...*
.*.....*
.*.....*
.
.*
.**
.**
**..*
.*.*
..**
#P -223 -14
**...**
**...**
.
..***
..***
...*
#P -221 -3
**
**
#P -210 -29
*..*.**.*..*
****.**.****
*..*.**.*..*
#P -194 -42
*
***
...*
..**
#P -183 -32
*
***
...*
..**
#P -181 -22
..***
.*...*
*.....*
*.....*
#P -178 -17
...*
..**
..**
*..**
.*.*
.**
#P -179 -9
**...**
**...**
.
..***
..***
...*
#P -181 0
..**
...*
***
*
#P -186 8
**
**
#P -174 6
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -166 8
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -154 6
..**
..*
*.*
**
#P -164 4
***
..*
.*
#P -157 -4
.**
*.*
..*
#P -149 -11
***
..*
.*
#P -142 -19
.**
*.*
..*
#P -133 -28
..**
..*
*.*
**
#P -165 -35
*
***
...*
..**
#P -163 -28
..***
.**.**
.**.**
.*****
**...**
#P -165 -21
..*
**.*
...*
.
*.**
..*..*
...*.*
#P -165 -10
..***
.*...*
*.....*
.*...*
..***
..***
#P -167 -3
..**
...*
***
*
#P -171 -23
.**
*.*
..*
#P -171 -28
**
*.*
*
#P -186 -43
**
*.*
*
#P -13 87
**
**
#P -16 92
...*
..***
.*...*
*.***.*
.*****
#P -18 110
..***
.*...*
*.....*
**.*.**
#P -20 119
..**
...*
***
*
#P -18 101
***
*
.*
#P -25 93
**
*.*
*
#P -33 86
***
*
.*
#P -40 78
**
*.*
*
#P -46 68
.*
**
**
#P -38 92
**
**
#P -34 75
*
***
...*
..**
#P -32 68
.*****
*.....*
.**...*
.....*
#P -39 66
...**
.*..*
*
*
*
.*..*
...**
#P -51 97
**
*
.***
...*
#P -56 85
..***
.**.**
.**.**
.*****
**...**
#P -58 78
*
***
...*
..**
#P -61 68
........*
......****
.....*.*.**
....*..*.***
....**.*.**
..***.****
.*.*....*
.*
**
#P -71 62
....***
...*...*
..*.....*
..*.....*
.....*
...*...*
......*
..*..*
..*
...*
***
*
#P -34 52
..**
..*
*.*
**
#P -46 54
....*.*
...*..*
..**
**...*
..**
...*..*
....*.*
#P -53 48
**...**
.*****
.**.**
.**.**
..***
#P -48 38
...*
.***
*
**
#P -87 90
..**
...*
***
*
#P -85 80
**...**
.*****
..***
...*
#P -87 71
*
***
...*
..**
#P -85 51
........*
......****
.....*.*.**
....*..*.***
....**.*.**
..***.****
.*.*....*
.*
**
#P -63 31
..........**
..........*
...*....*.*
..****.***
.**.*.**
***.*..*
.**.*.*
..****
...*
#P -90 39
..***
.*...*
.
*.....*
**...**
#P -92 49
..**
...*
***
*
#P -74 17
........*
......***
.....*
......*
...*..*
..*
.*...*
...*
*.....*
*.....*
.*...*
..***
#P -97 30
**
*.*
.***
..***
.***
*.*
**
#P -106 35
..**
.*.*
.*
**
#P -82 12
.*
*.*
**.*
**.**
**.*
*.*
.*
#P -76 10
..**
..*
*.*
**
#P -111 22
.*****
*.***.*
.*...*
..***
...*
#P -113 28
..**
...*
***
*
#P -95 1
..***
..***
.*...*
*.....*
.*...*
..***
#P -90 -4
...*
.***
*
**
#P -122 9
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P -127 14
..**
.*.*
.*
**
#P -106 -9
**
*.*
...*
*..*
...*
*.*
**
#P -97 -11
..**
..*
*.*
**
#P -132 -2
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -134 7
..**
...*
***
*
#P -133 -9
***
.*.**
.*.**
..*.*
#P -141 -12
....**
...***
*.**
*..*
*.**
...***
....**
#P -148 -7
..**
.*.*
.*
**
#P -114 -10
.*
*.**
*
.*..*
.....*
...**
#P -116 -17
...*
..***
.*****
*.*.*.*
**...**
#P -111 -25
...*
.***
*
**
#P -92 -48
...*
.***
*
**
#P -97 -35
.*****
*.***.*
.*...*
..***
...*
#P -95 -27
**
**
#P -63 -35
...*
.***
*
**
#P -68 -26
..***
.*...*
.
*.....*
**...**
#P -67 -19
..*
.*.*
.*.*
...*
...*
*..*
.**
#P -79 4
**
**
#P -69 1
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -60 -1
..**
..*
*.*
**
#P -149 55
**
**
#P -144 52
...*
..*.*
.*.**
**.**
.*.**
..*.*
...*
#P -133 52
..**
.****
*.*.*
.**.**
.**.*
..**
***
..*
*
.**
#P -126 54
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -117 59
**
*.*
..*
..**
#P -158 68
***.**
****..*
....**
#P -149 66
**
*.*
.***
..***
.***
*.*
**
#P -133 68
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P -126 73
**
*.*
..*
..**
#P -138 66
**
.**
*
#P -229 83
*
***
...*
..**
#P -227 92
**...**
*.....*
.
.*...*
..***
#P -225 103
...*
.**.**
.
*.....*
.
**.*.**
#P -222 117
**
**
#P -219 95
**
.**
*
#P -215 74
*
***
...*
..**
#P -213 79
..***
..***
.*...*
*.....*
.*...*
..***
#P -211 96
...*
..***
.*****
*.*.*.*
**...**
#P -209 103
.*
*.*
*.*
.*
**
**
**
#P -209 89
**.*
.**
#P -199 117
**
.*
.*.*
..**
#P -189 119
..**
.*.*
*
*..*
*
.*.*
..**
#P -183 121
.**
*..*.**
.**..**
#P -180 146
..**
.*.*
.*
**
#P -170 141
**
***
..**.*
..*..*
..**.*
***
**
#P -159 143
**
**
#P -183 164
**
**
#P -186 174
..***
.*...*
*.....*
*.....*
...*
.*...*
..***
...*
#P -188 184
..***
..***
.*...*
.
**...**
#P -179 187
*.*
.**
.*
#P -183 196
**
*
.***
...*
#P -170 161
**
**
#P -172 170
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P -170 184
..***
.*...*
*.....*
**.*.**
#P -165 193
**
*
.***
...*
#P -173 182
*.*
**
.*
#P -177 202
.*..**
*...**..**
*.......**
.****
#P -166 207
..**
.*.*
.*
**
#P -156 202
*.*
*..*
...**
.*...**
...**
*..*
*.*
#P -147 207
**
*.*
..*
..**
#P -163 170
*
***
...*
..**
#P -161 179
..***
.*...*
*.....*
**.*.**
#P -159 185
.*
*.*
*.*
.*
.
**
**
#P -158 166
**
**
#P -154 164
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P -142 150
*
***
...*
..**
#P -140 155
...*
..*.*
.*...*
..***
**...**
#P -136 172
**
**
#P -121 184
**
*.*
..*
..**
#P -129 179
*.*
*...*
....*
*....*
....*
*...*
*.*
#P -127 188
**
**
#P -139 182
**
**
#P -138 186
**
*..*
....*
....*
....*
*..*
**
#P -148 187
.**
***
.*.**
.
....*
#P -146 199
**...**
.*****
.**.**
.**.**
..***
#P -141 207
**
*
.***
...*
#P -51 221
**
**
#P -41 218
*
****
.****
.*..*
.****
****
*
#P -32 223
**
*.*
..*
..**
#P 16 102
**
**
#P 22 99
...*.*
.*...*
.*
*....*
.*
.*...*
...*.*
#P 35 104
**
*.*
..*
..**
#P 2 115
..**
.*.*
.*
**
#P 13 110
..*
.*.*
*...**
*...**
*...**
.*.*
..*
#P 21 108
..**
..*
*.*
**
#P 17 131
**
**
#P 27 128
*
****
.****
.*..*
.****
****
*
#P 36 133
**
*.*
..*
..**
#P 64 128
**
**
#P 74 125
*
****
.****
.*..*
.****
****
*
#P 83 130
**
*.*
..*
..**
#P 43 192
...*
.***
*
**
#P 38 199
..***
.**.**
.**.**
.*****
**...**
#P 36 205
..**
...**
**.**
.
.......**
*........*
..**.*.*
#P 36 217
..***
.*...*
*.....*
.*...*
..***
..***
#P 41 224
**
*
.***
...*
#P 52 201
........*
......***
.....*
.....**
...***
..*.*
.*...*
.*****
**...**
.*****
..***
...*
#P 50 223
..***
.*...*
.
*.....*
**...**
#P 51 230
..*
.*.*
.*.*
...*
...*
*..*
.**
#P 50 214
**
*.*
*
#P 135 132
**
**
#P 133 141
**...**
...*
*.....*
.**.**
..*.*
...*
...*
#P 141 146
....*
..*.*
.*.*
*..*
.*.*
..*.*
....*
#P 156 148
**
**
#P 117 166
..**
.*.*
.*
**
#P 126 161
**
**
...**
...***
...**
**
**
#P 137 164
**
**
#P 154 157
..***
..***
.*...*
*.....*
.*...*
..***
#P 159 152
...*
.***
*
**
#P 129 168
....**
..*...*
.*.....*
**.*...*
.*.....*
..*...*
....**
#P 125 170
**
**
#P 157 172
**
**
#P 161 167
..***
.**.**
.**.**
.*****
**...**
#P 163 160
**
**
#P 139 179
..***
.*...*
.
*.....*
**...**
#P 140 186
..*
.*.*
.*.*
...*
...*
*..*
.**
#P 176 174
.*
*.*
**.*
**.**
**.*
*.*
.*
#P 184 176
**
**
#P 145 194
..**
.*.*
.*
**
#P 152 189
....**
...***
*.**
*..*
*.**
...***
....**
#P 160 189
...*
.*...*
.*
*.....*
.....**
#P 169 186
**
*.*
*
#P 169 194
*
***
...*
..**
#P 149 213
**
**
#P 161 211
*
*.*
.*.*
.*..*
.*.*
*.*
*
#P 170 213
....**
...***
*.**
*..*
*.**
...***
....**
#P 178 215
.**
*..*
.**
#P 183 210
....*
..*.*
**
**
**
..*.*
....*
#P 201 208
..**
.*...*
*.....*
*...*.**
*.....*
.*...*
..**
#P 211 210
**
**
#P 168 203
....**
**..**
**
#P 171 209
**
.**
*
#P 191 209
***
*
.*
#P 162 181
.*
*.*
.**
#P 146 169
.*
*.*
.**
#P 134 153
.*
*.*
.**
#P 157 -185
*
#P -32 -138
*
#P 190 -93
*
#P 198 -80
*
*
#P -108 12
*
.*
.*
#P -93 14
**
#P -32 14
*
.**
#P 2 39
..*
**
#P -81 76
*
*
#P -168 165
.*
*
*
#P -145 193
*
.*
.*
#P -46 219
*
*
#P 22 129
*
*
#P 69 126
*
*
#P 137 136
.*
*
*
#P 196 209
*
/programs/demos/life2/lif/VENETIA2.lif
0,0 → 1,85
#Life 1.05
#D Venetian blinds based on emulators
#D
#D See VENETIAN, OSCSP4X.
#N
#P -4 -20
**..**..**
**..**..**
#P -12 -17
..**.*
..*
...**
***..***************
*..*
..*
*.**
**...***************
...**
***
*..*.*
..*
*.**.*
**
...**
***..***************
*..*
..*
*.**
**...***************
...**
***
*..*.*
..*
*.**.*
**
...**
***..***************
*..*
..*
*.**
**...***************
...**
***
*..*.*
.**
#P 8 -17
*.**
...*
.**
*..***
..*..*
...*
..**.*
*...**
.**
...***
*.*..*
...*
*.**.*
....**
.**
*..***
..*..*
...*
..**.*
*...**
.**
...***
*.*..*
...*
*.**.*
....**
.**
*..***
..*..*
...*
..**.*
*...**
.**
...***
*.*..*
...**
#P -4 19
**..**..**
**..**..**
/programs/demos/life2/lif/VENETIA3.lif
0,0 → 1,38
#Life 1.05
#D Vertical venetian blinds
#D Dean Hickerson (dean@ucdmath.ucdavis.edu)
#D See VENETIAN.
#N
#P -26 -16
......**......**....................**..**..**.**
.......*.....*..*......*.......*...*.*..*..*.*.*.*.**
.....*......*..*..*.*.*.*.*.*.*.*.*...**..**..*..**.*
....*.****..*.**.**.**.*.**.**.*.**.**..**...**.*
..***.....*.*..*...*...*...*...*...*..**..**.*.*..**
.*...**..**..**..**..**..**..**..**..**..**....*.**.*
.*.*.*....**..**..**..**..**..**..**..**..**..**....*
..**.*.*.**..**..**..**..**..**..**..**..**..*...***
....*.**..**..**..**..**..**..**..**..**..**..***
..**..*..**..**..**..**..**..**..**..**..**..**...**
...*.***..**..**..**..**..**..**..**..**..**...*...*
.*...*...**..**..**..**..**..**..**..**..**..***.*
.**...**..**..**..**..**..**..**..**..**..**..*..**
....***..**..**..**..**..**..**..**..**..**..**.*
.***...*..**..**..**..**..**..**..**..**..**.*.*.*.*
*....**..**..**..**..**..**..**..**..**..**....*.**.*
*.**.*....**..**..**..**..**..**..**..**..**..**....*
.*.*.*.*.**..**..**..**..**..**..**..**..**..*...***
....*.**..**..**..**..**..**..**..**..**..**..***
..**..*..**..**..**..**..**..**..**..**..**..**...**
...*.***..**..**..**..**..**..**..**..**..**...*...*
.*...*...**..**..**..**..**..**..**..**..**..***.*
.**...**..**..**..**..**..**..**..**..**..**..*..**
....***..**..**..**..**..**..**..**..**..**..**.*
.***...*..**..**..**..**..**..**..**..**..**.*.*.**
*....**..**..**..**..**..**..**..**..**..**....*.*.*
*.**.*....**..**..**..**..**..**..**..**..**..**...*
.**..*.*.**..**..*...*...*...*...*...*..*.*.....***
....*.**...**..**.**.*.**.**.*.**.**.**.*..****.*
*.**..*..**..**...*.*.*.*.*.*.*.*.*..*..*......*
**.*.*.*.*..*..*.*...*.......*......*..*.....*
....**.**..**..**....................**......**
/programs/demos/life2/lif/VENETIAN.lif
0,0 → 1,89
#Life 1.05
#D Venetian blinds
#D This is a finite version of the infinite p2 oscillator in which
#D rows alternate full, full, empty, empty, full, full, ... Two types
#D of edges are shown, one perpendicular to the rows and one at a 45
#D degree angle. (It's easy to prove that there's no p2 edge parallel
#D to the rows.) Also shown are 3 type of corners where the edges
#D meet. This partly answers a question of John Conway's: What's the
#D maximum average density of an infinite p2 pattern, and can it be
#D obtained as a limit of finite p2 patterns? This shows that 1/2 is
#D a lower bound. Hartmut Holzwart showed that 8/13 is an upper bound.
#D Dean Hickerson, dean@ucdmath.ucdavis.edu 9/13/92
#N
#P -31 -36
..................*.**.**......*......**.**.*
..................**.*.*...**.*.*.**...*.*.**
.....................*...*..*.*.*.*..*...*
.....................*..***...*.*...***..*
....................**.*.....*.*.*.....*.**
.......................*..**.*...*.**..*
....................**..***..**.**..***..**
................**.*.**...**.*****.**...**.*.**
**.**...**......**.**....*...........*....**.**
.*.*...*.*.........*..**.*.*.......*.*.**..*
.*..*..*........**..***..**.*******.**..***..**
..*.*.*..*..**.*.**...**.*************.**...**.*.**
...*.**.**..**.**....*...................*....**.**
.....**........*..**.*.*...............*.*.**..*
....*.......**..***..**.***************.**..***..**
..***.*.**.*.**...**.*********************.**...**.*.**
.*...***.*.**....*...........................*....**.**
.***...*...*..**.*.*.......................*.*.**..*
....**...*..***..**.***********************.**..***..**
...*..*.***...**.*****************************.**...**.*.**..**
...*.**.*....*...................................*....**.**...*..*
....**.**.**.*.*...............................*.*.**..*......*.*.*
.........**..**.*******************************.**..***..**..**.*..*
....**..*.**.*************************************.**...**.*....**.*
....*..*.*...........................................*....**.**...**.**
......**.*.*.......................................*.*.**..*.*.**...*.*
..........*.***************************************.**..***..*.*.**.*
.........**.******************************************.**...****..*.*
....*.**.*.*.............................................*.......*..**
....**.*.*.............................................*.*.**....*.*..*
...........********************************************.**..*****..*.*
.........*...*********************************************.***..***.*
.............................................................*..*.*
........*.*.*..............................................*.*..*.*.*
....**.*...*.**********************************************.**.*...**
....*.**.*.***************************************************
........*.*
#P -31 1
........*.*
....*.**.*.***************************************************
....**.*...*.**********************************************.**.*...**
........*.*.*..............................................*.*..*.*.*
.............................................................*..*.*
.........*...*********************************************.***..***.*
...........********************************************.**..*****..*.*
....**.*.*.............................................*.*.**....*.*..*
....*.**.*.*.............................................*.......*..**
.........**.******************************************.**...****..*.*
..........*.***************************************.**..***..*.*.**.*
......**.*.*.......................................*.*.**..*.*.**...*.*
....*..*.*...........................................*....**.**...**.**
....**..*.**.*************************************.**...**.*....**.*
.........**..**.*******************************.**..***..**..**.*..*
....**.**.**.*.*...............................*.*.**..*......*.*.*
...*.**.*....*...................................*....**.**...*..*
...*..*.***...**.*****************************.**...**.*.**..**
....**...*..***..**.***********************.**..***..**
.***...*...*..**.*.*.......................*.*.**..*
.*...***.*.**....*...........................*....**.**
..***.*.**.*.**...**.*********************.**...**.*.**
....*.......**..***..**.***************.**..***..**
.....**........*..**.*.*...............*.*.**..*
...*.**.**..**.**....*...................*....**.**
..*.*.*..*..**.*.**...**.*************.**...**.*.**
.*..*..*........**..***..**.*******.**..***..**
.*.*...*.*.........*..**.*.*.......*.*.**..*
**.**...**......**.**....*...........*....**.**
................**.*.**...**.*****.**...**.*.**
....................**..***..**.**..***..**
.......................*..**.*...*.**..*
....................**.*.....*.*.*.....*.**
.....................*..***...*.*...***..*
.....................*...*..*.*.*.*..*...*
..................**.*.*...**.*.*.**...*.*.**
..................*.**.**......*......**.**.*
/programs/demos/life2/lif/WING.lif
0,0 → 1,159
#Life 1.05
#D Diagonal c/4 grammar
#D By Hartmut Holzwart, 1993.
#D This is the first extensible c/4 spaceship.
#D See AQUA25B.
#N
#P 27 -9
*
***
.**
...**.*
....*.*
....*..*
.
...**
.....*
#P 15 -13
.**
**
..*
#P 12 -10
.*
**
*.*
#P 7 -5
.**
**
..*
#P 4 -2
.*
**
*.*
#P -1 3
.**
**
..*
#P -4 6
.*
**
*.*
#P -9 11
.**
**
..*
#P -12 14
.*
**
*.*
#P 18 -10
..*
**
#P 15 -7
.*
.*
*
#P 10 -2
..*
**
#P 7 1
.*
.*
*
#P 2 6
..*
**
#P -1 9
.*
.*
*
#P -6 14
..*
**
#P -9 17
.*
.*
*
#P 21 -8
.*
**
#P 17 -4
.*
**
#P 13 0
.*
**
#P 9 4
.*
**
#P 5 8
.*
**
#P 1 12
.*
**
#P -3 16
.*
**
#P -7 20
.*
**
#P 22 -8
....*
...*
..**
.*.**
***
..*
#P 18 -3
...*
..**
.*.**
***
..*
#P 14 1
...*
..**
.*.**
***
..*
#P 10 5
...*
..**
.*.**
***
..*
#P 6 9
...*
..**
.*.**
***
..*
#P 2 13
...*
..**
.*.**
***
..*
#P -2 17
...*
..**
.*.**
***
..*
#P -6 21
...*
..**
.*.**
***
..*
#P -8 25
.*
**
.**
.**
...*...*
...***.*
........*
...**
.....*
/programs/demos/life2/lif/ZIP2.lif
0,0 → 1,26
#Life 1.05
#D Lightspeed wire with p5 sink and source
#D
#D See ZIPS. Any period above 5 is possible
#D but requires more search power to find
#D the stabilizing ends.
#D
#D Dean Hickerson, Jan 1995
#N
#P -23 0
.........**........**..................**
.........**......*..*..................*
......*..........***....................***
......*******.........*..*..*..*..*..*....*
............*..**************************.*.*
....*******.*.*..........................*.*.*
**.*........**.**.*..***..***..***..***....*.*
.*.*.*.......**...**...**...**...**...**..**.**
*..*.......**...***..***..***..***..***....*.*
**..******....*..........................*.*.*
..........***...*************************.*.*
....**.*....*.*.*..*..*..*..*..*..*..*....*
.....*.****..*.*........................***
....*.....**.*.........................*
.....***.....*.........................**
.......*.....**
/programs/demos/life2/lif/ZIPS.lif
0,0 → 1,36
#Life 1.05
#D Lightspeed wire and some simple signals
#D
#D Well known.
#D
#D No corners or branches have been found yet.
#D See also ZIP2, MAX.
#N
#P -38 -6
....*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
..******************************************************
.*
.*******************************************************
........................................*........*
.******.**.*..******..*****************....******....***
*......*...**......**........*........*.........*
.********..*..******..******....*******....******....***
............................*..........*.........*
.*******************************************************
.*
..******************************************************
....*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
#P 18 -6
..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
******************************************************
.
******************************************************
....*.................................................*
****...************************************************
.....*
****...************************************************
....*.................................................*
******************************************************
.
******************************************************
..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*..*
/programs/demos/life2/lif
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/demos/life2/life2.cpp
0,0 → 1,1984
#include <menuet.h>
#include <me_heap.h>
#include <me_file.h>
#include "lifegen.h"
#include "life_bmp.h"
#include "me_cdlg.h"
 
using namespace Menuet;
 
/***
#define StrLen LibbStrLen
#define StrCopy LibbStrCopy
#define MemCopy LibbMemCopy
#define MemSet LibbMemSet
#define Floor LibbFloor
 
unsigned int (*StrLen)(const char *str) = 0;
char *(*StrCopy)(char *dest, const char *src) = 0;
void *(*MemCopy)(void *dest, const void *src, unsigned int n) = 0;
void *(*MemSet)(void *s, char c, unsigned int n) = 0;
double (*Floor)(double x) = 0;
 
#include <windows.h>
void LibbInit()
{
HINSTANCE hLib = LoadLibrary("Libb.dll");
if (!hLib)
{
DebugPutString("Can't load the library.\n");
Menuet::Abort();
}
StrLen = (unsigned int(*)(const char *str))GetProcAddress(hLib, "StrLen");
StrCopy = (char *(*)(char *dest, const char *src))GetProcAddress(hLib, "StrCopy");
MemCopy = (void *(*)(void *dest, const void *src, unsigned int n))GetProcAddress(hLib, "MemCopy");
MemSet = (void *(*)(void *s, char c, unsigned int n))GetProcAddress(hLib, "MemSet");
Floor = (double (*)(double x))GetProcAddress(hLib, "Floor");
}
 
#pragma startup LibbInit
/**/
 
void __stdcall OneGeneration(int w, int h, void *dest, const void *src, int flag);
 
struct GenerateParam
{
unsigned int gps;
unsigned int paint_time, time, count;
bool stop;
int paint;
double speed;
};
 
struct AxisParam
{
unsigned int win;
int p;
double shift;
};
 
struct MouseParam
{
int hit_x, hit_y, last_x, last_y;
int button, hit_type;
 
enum {HitNull = 0, HitLine, HitCircle, HitScroll};
};
 
struct MenuButtonParam
{
int left, size, border;
bool check;
const unsigned char *bitmap;
 
int Left() const {return left;}
int Right() const {return left + size;}
};
 
const int MenuDig = 10;
 
struct MenuParam
{
enum {Size = 20, NButton = 14};
 
bool draw;
int pressed, current, edit;
int edit_index, edit_num[2], edit_num_max;
MenuButtonParam button[NButton];
const unsigned char *digit[MenuDig];
};
 
struct TimeGeneration
{
unsigned int t, g;
};
 
enum MenuItem {MenuIHide, MenuIClear, MenuIOpen, MenuIAbout, MenuIExit,
MenuIGenerate, MenuIRandom, MenuIVCircle, MenuIHCircle,
MenuILine, MenuIScroll, MenuIWinSize, MenuISize, MenuISpeed};
 
enum {PaintWNull = 0, PaintWPole = 1, PaintWMenuBorder = 2, PaintWMenu = 6,
PaintWSpeed = 8, PaintWAll = 15, PaintWFast = 64, PaintWNow = 128};
 
enum {TimeGenLength = 500};
 
unsigned char *life_data = 0, *picture = 0;
GenerateParam generate = {0, 0, 0, 0, false, PaintWNull, 0};
AxisParam xpar = {0, 0, 0};
AxisParam ypar = {0, 0, 0};
MouseParam mpar = {0, 0, 0, 0, 0, MouseParam::HitNull};
MenuParam menu;
TOpenFileStruct open_file_str = MENUET_OPEN_FILE_INIT;
TimeGeneration timegen[TimeGenLength];
int timegenpos = 0;
 
#ifdef __MENUET__
 
inline int abs(int i) {return (i >= 0) ? i : (-i);}
 
unsigned int rand_data[4];
 
void randomize()
{
rand_data[0] = (unsigned int)Clock();
rand_data[1] = (unsigned int)GetPackedTime();
rand_data[2] = (unsigned int)GetPackedDate();
rand_data[3] = (unsigned int)0xA3901BD2 ^ GetPid();
}
 
unsigned int rand()
{
rand_data[0] ^= _HashDword(rand_data[3] + 0x2835C013U);
rand_data[1] += _HashDword(rand_data[0]);
rand_data[2] -= _HashDword(rand_data[1]);
rand_data[3] ^= _HashDword(rand_data[2]);
return rand_data[3];
}
 
#define random(k) (rand() % (k))
 
#else
 
#include <stdlib.h>
 
#endif
 
/*void DebugPutNumber(int x)
{
char word[12], *w = word, *s, c;
int i;
if (x < 0) {*(w++) = '-'; x = -x;}
s = w;
do
{
*(s++) = char('0' + (unsigned int)x % 10U);
(unsigned int&)x /= 10U;
} while(x);
for (i = 0; w + i < s - 1 - i; i++)
{
c = w[i]; w[i] = s[-1 - i]; s[-1 - i] = c;
}
*s = 0;
DebugPutString(word);
}*/
 
bool SetPictureSize(int w = -1, int h = -1)
{
if (w > 32767) w = 32767;
if (h > 32767) h = 32767;
if (w > 0) xpar.win = (unsigned short)w;
if (h > 0) ypar.win = (unsigned short)h;
if (picture) {Free(picture); picture = 0;}
if (w == 0 || h == 0 || xpar.win == 0 || ypar.win == 0) return true;
picture = (unsigned char*)Alloc(3 * xpar.win * ypar.win);
return picture != 0;
 
}
 
bool SetPoleSize(int w = -1, int h = -1)
{
int s;
if (w > 32767) w = 32767;
if (h > 32767) h = 32767;
if (w > 0) xpar.p = (unsigned short)w;
if (h > 0) ypar.p = (unsigned short)h;
if (xpar.p < 4) xpar.p = 4;
if (ypar.p < 4) ypar.p = 4;
if (life_data) {Free(life_data); life_data = 0;}
if (w == 0 || h == 0) return true;
s = GetDataSize(xpar.p, ypar.p);
life_data = (unsigned char*)Alloc(2*s + DataMemAdd);
if (!life_data) return false;
MemSet(GetDataAddress(life_data), 0, s);
return true;
}
 
int GetMenuHeight();
 
void GetPaintSize(int &w, int &h, int &xx, int &yy)
{
int t = GetMenuHeight();
w = xpar.win; h = ypar.win - t;
xx = 0; yy = t;
}
 
double GetAxisRatio(const AxisParam &par, int s)
{
int t = par.p - s;
if (s <= 0 || t <= 0) return 0;
return double(t) / 2;
}
 
void GetAxisShift(const AxisParam &par, int &s, int &k, int &kk)
{
int t = par.p - s;
if (t < 0) {kk += (-t) / 2; t = 0; s = par.p;}
if (s <= 0 || t <= 0) k = 0;
else
{
double r = double(t) / 2;
k = (int)Floor(r * (1 + par.shift));
if (k < 0) k = 0;
else if (k > t) k = t;
}
}
 
void GetPaintOrigin(int &w, int &h, int &x, int &y, int &xx, int &yy)
{
GetPaintSize(w, h, xx, yy);
GetAxisShift(xpar, w, x, xx);
GetAxisShift(ypar, h, y, yy);
}
 
void ApplyScroll(unsigned char *data1 = life_data, unsigned char *data0 = 0)
{
if (!data0) data0 = data1;
data0 = (unsigned char*)GetDataAddress(data0);
data1 = (unsigned char*)GetDataAddress(data1);
const double min_ratio = 1e-2;
double r;
int w, h, xx, yy;
GetPaintSize(w, h, xx, yy);
xx = 0; yy = 0;
r = GetAxisRatio(xpar, w);
if (menu.button[MenuIHCircle].check)
{
xx = mpar.hit_x - mpar.last_x + (int)Floor(xpar.shift * r + 0.5);
xx %= xpar.p - 2;
if (xx < 0) xx += xpar.p - 2;
xpar.shift = 0;
}
else if (r < min_ratio) xpar.shift = 0;
else
{
xpar.shift -= double(mpar.last_x - mpar.hit_x) / r;
if (xpar.shift < -1) xpar.shift = -1;
else if (xpar.shift > 1) xpar.shift = 1;
}
r = GetAxisRatio(ypar, h);
if (menu.button[MenuIVCircle].check)
{
yy = mpar.hit_y - mpar.last_y + (int)Floor(ypar.shift * r + 0.5);
yy %= ypar.p - 2;
if (yy < 0) yy += ypar.p - 2;
ypar.shift = 0;
}
else if (r < min_ratio) ypar.shift = 0;
else
{
ypar.shift -= double(mpar.last_y - mpar.hit_y) / r;
if (ypar.shift < -1) ypar.shift = -1;
else if (ypar.shift > 1) ypar.shift = 1;
}
if (xx == 0 && yy == 0)
{
if (data0 != data1) MemCopy(data0, data1, GetDataSize(xpar.p, ypar.p));
}
else
{
int i, j;
i = GetDataSize(xpar.p, ypar.p);
if (data0 == data1)
{
data1 += i;
MemCopy(data1, data0, i);
}
MemSet(data0, 0, i);
APosPixel pixel0(xpar.p, ypar.p, data0);
APosPixel pixel1(xpar.p, ypar.p, data1);
for (i = 0; i < xpar.p; i++)
{
pixel0.SetTo(i, 0);
pixel1.SetTo(xx, yy);
j = ypar.p - yy;
for (;;)
{
if (pixel1.GetPixel()) pixel0.Set1Pixel();
if (--j == 0) break;
pixel0.AddY1(); pixel1.AddY1();
}
if (yy)
{
pixel0.AddY1();
pixel1.SetTo(xx, 2);
j = yy;
for (;;)
{
if (pixel1.GetPixel()) pixel0.Set1Pixel();
if (--j == 0) break;
pixel0.AddY1(); pixel1.AddY1();
}
}
xx++;
if (xx >= xpar.p) xx = 2;
}
}
}
 
void DrawLine(int x0, int y0, int x1, int y1, bool c, unsigned char *data0 = life_data)
{
int i;
if (y0 == y1)
{
if (x0 > x1) {i = x0; x0 = x1; x1 = i;}
if (x1 < 0 || x0 >= xpar.p || y1 < 0 || y0 >= ypar.p) return;
if (x0 < 0) x0 = 0;
if (x1 >= xpar.p) x1 = xpar.p - 1;
APosPixel pixel(xpar.p, ypar.p, data0, x0, y0);
for (i = x1 - x0; i >= 0; pixel.AddX1(), i--) pixel.SetPixel(c);
}
else if (x0 == x1)
{
if (y0 > y1) {i = y0; y0 = y1; y1 = i;}
if (x1 < 0 || x0 >= xpar.p || y1 < 0 || y0 >= ypar.p) return;
if (y0 < 0) y0 = 0;
if (y1 >= ypar.p) y1 = ypar.p - 1;
APosPixel pixel(xpar.p, ypar.p, data0, x0, y0);
for (i = y1 - y0; i >= 0; pixel.AddY1(), i--) pixel.SetPixel(c);
}
else
{
long dx = x1 - x0, dy = y1 - y0;
int i;
if (abs(dx) >= abs(dy))
{
if (dx < 0)
{
i = x0; x0 = x1; x1 = i; dx = -dx;
y0 = y1; dy = -dy;
}
long vy = 0, b_x = dx / 2;
APosPixel pixel(xpar.p, ypar.p, data0, x0, y0);
for (i = x0;; i++, pixel.AddX1())
{
pixel.SetPixel(c);
if (i >= x1) break;
vy += dy;
if (vy > b_x)
{
vy -= dx;
pixel.AddY1();
}
else if (vy < -b_x)
{
vy += dx;
pixel.SubY1();
}
}
}
else
{
if (dy < 0)
{
i = y0; y0 = y1; y1 = i; dy = -dy;
x0 = x1; dx = -dx;
}
long vx = 0, b_y = dy / 2;
APosPixel pixel(xpar.p, ypar.p, data0, x0, y0);
for (i = y0;; i++, pixel.AddY1())
{
pixel.SetPixel(c);
if (i >= y1) break;
vx += dx;
if (vx > b_y)
{
vx -= dy;
pixel.AddX1();
}
else if (vx < -b_y)
{
vx += dy;
pixel.SubX1();
}
}
}
}
}
 
void FillCircle(int x0, int y0, int r, bool c, unsigned char *data0 = life_data)
{
int x = 0, y = r, v = 0;
while (x <= y)
{
DrawLine(x0 - x, y0 + y, x0 + x, y0 + y, c, data0);
if (y) DrawLine(x0 - x, y0 - y, x0 + x, y0 - y, c, data0);
if (x < y)
{
DrawLine(x0 - y, y0 + x, x0 + y, y0 + x, c, data0);
DrawLine(x0 - y, y0 - x, x0 + y, y0 - x, c, data0);
}
v += 2 * (x++) + 1;
if (v >= y) v -= 2 * (y--) - 1;
}
}
 
void RandomDraw(unsigned char *data0 = life_data)
{
if (!data0 || random(300) >= 1) return;
int d = xpar.p;
if (d > ypar.p) d = ypar.p;
data0 = (unsigned char*)GetDataAddress(data0);
d = random((d * 3) / 4);
int x = random(xpar.p - d), y = random(ypar.p - d);
if (random(10) < 1)
{
int NBusy, NTest = 4096;
NBusy = 5 * xpar.p * ypar.p;
if (NTest > NBusy) NTest = NBusy;
NBusy = 0;
for (int k = 0; k < NTest; k++)
{
if (GetDataBit(GetDataWidth(xpar.p), GetDataHeight(ypar.p), data0, random(xpar.p), random(ypar.p))) NBusy++;
}
if (NBusy * 100 < NTest)
{
if (random(3) == 0)
{
DrawLine(x, y, x + d, y + d, true, data0);
DrawLine(x, y + d, x + d, y, true, data0);
}
else
{
DrawLine(x + d/2, y, x + d/2, y + d, true, data0);
DrawLine(x, y + d/2, x + d, y + d/2, true, data0);
}
return;
}
}
if (2*d < xpar.p && 2*d < ypar.p && random(10) < 3)
{
FillCircle(x + d/2, y + d/2, d/2, false, data0);
}
else if (random(2)) DrawLine(x, y, x + d, y + d, true, data0);
else DrawLine(x, y + d, x + d, y, true, data0);
}
 
void LineInScreen(int ax, int ay, int bx, int by, bool c, unsigned char *data0 = life_data)
{
int mul = 1, sbeg, send, t0, t1;
if (ax != bx) mul *= abs(ax - bx);
if (ay != by) mul *= abs(ay - by);
sbeg = 0; send = mul;
if (ax != bx)
{
t0 = ax * (mul / (ax - bx));
t1 = (ax - xpar.p + 1) * (mul / (ax - bx));
if (t0 < t1)
{
if (sbeg < t0) sbeg = t0;
if (send > t1) send = t1;
}
else
{
if (sbeg < t1) sbeg = t1;
if (send > t0) send = t0;
}
}
else if (ax < 0 || ax >= xpar.p) return;
if (ay != by)
{
t0 = ay * (mul / (ay - by));
t1 = (ay - ypar.p + 1) * (mul / (ay - by));
if (t0 < t1)
{
if (sbeg < t0) sbeg = t0;
if (send > t1) send = t1;
}
else
{
if (sbeg < t1) sbeg = t1;
if (send > t0) send = t0;
}
}
else if (ay < 0 || ay > ypar.p) return;
if (send < sbeg) return;
DrawLine(ax + (bx - ax) * sbeg / mul, ay + (by - ay) * sbeg / mul,
ax + (bx - ax) * send / mul, ay + (by - ay) * send / mul, c, data0);
}
 
int GetRadius(int ax, int ay, int bx, int by)
{
int s, t0, t1, t, tt;
bx -= ax; by -= ay;
s = bx*bx + by*by;
t0 = 0; t1 = s;
while (t0 + 1 < t1)
{
t = (t0 + t1) / 2;
tt = t*t;
if (tt / t == t && s > tt + t) t0 = t; else t1 = t;
}
return t1;
}
 
int ReadNumberFromString(const unsigned char *&str)
{
int x = 0, s = 1;
while (*str == ' ' || *str == '\t' || *str == '\r') str++;
if (*str == '-') {s = -1; str++;}
else if (*str == '+') str++;
while (*str >= '0' && *str <= '9')
{
x = 10*x + (*str - '0');
str++;
}
return x*s;
}
 
const unsigned char *StringPrefSpace(const unsigned char *pict, int size, const unsigned char *pref)
{
const unsigned char *pict_end = pict + size;
for (;;)
{
if (!*pref) return pict;
else if (*pref == ' ')
{
if (pict >= pict_end || !(*pict == ' ' || *pict == '\t' || *pict == '\r')) return 0;
while (pict < pict_end && (*pict == ' ' || *pict == '\t' || *pict == '\r')) pict++;
pref++;
}
else if (*pref == '\n')
{
while (pict < pict_end && (*pict == ' ' || *pict == '\t' || *pict == '\r')) pict++;
if (pict >= pict_end || *pict != '\n') return 0;
pict++; pref++;
}
else if (pict >= pict_end || *pict != *pref) return 0;
else {pict++; pref++;}
}
}
 
int LifeGetPictureType(const unsigned char *&pict, int size)
{
const unsigned char *p;
p = StringPrefSpace(pict, size, (const unsigned char*)"#LifeBin 2.0\n");
if (p && p + 4 <= pict + size) {pict = p; return 1;}
p = StringPrefSpace(pict, size, (const unsigned char*)"#Life 1.05\n");
if (p) {pict = p; return 2;}
if (size >= 54 && pict[0] == 'B' && pict[1] == 'M' && *(int*)(pict+6) == 0 &&
*(int*)(pict+14) == 0x28 && *(short*)(pict+26) == 1 && *(int*)(pict+30) == 0 &&
*(short*)(pict+28) > 0 && *(short*)(pict+28) <= 32 &&
*(int*)(pict+18) >= 0 && *(int*)(pict+22) >= 0 &&
*(int*)(pict+10) >= 54 && *(int*)(pict+10) <= *(int*)(pict+2) &&
*(int*)(pict+2) <= size && *(int*)(pict+34) >= 0 &&
*(int*)(pict+34) <= *(int*)(pict+2) - *(int*)(pict+10) &&
*(int*)(pict+46) <= 256 && *(int*)(pict+50) <= *(int*)(pict+46) &&
(*(short*)(pict+28) >= 8 || *(int*)(pict+46) <= (1 << *(short*)(pict+28))))
{
if (*(int*)(pict+18) == 0 || *(int*)(pict+22) == 0) return 3;
int s = *(int*)(pict+34);
if (s == 0)
{
s = ((*(int*)(pict+18) * *(short*)(pict+28) - 1) / 32 + 1) * *(int*)(pict+22) * 4;
}
if (s > 0 && s <= *(int*)(pict+2) - *(int*)(pict+10))
{
s /= *(int*)(pict+22);
if (s < (1 << 28) && (s * 8) / *(short*)(pict+28) >= *(int*)(pict+18)) return 3;
}
}
return 0;
}
 
void LifeGetPictureSize(int &w, int &h, const unsigned char *pict, int size)
{
const unsigned char *pict_end = pict + size;
int type = LifeGetPictureType(pict, size);
w = 0; h = 0;
if (type == 1)
{
w = (int)pict[0] + ((int)pict[1] << 8);
h = (int)pict[2] + ((int)pict[3] << 8);
}
else if (type == 2)
{
int x = 0, y = 0, xb = x;
int x0 = 0, y0 = 0, x1 = -1, y1 = -1;
while (pict < pict_end && *pict)
{
while (pict < pict_end && *pict == '\n') pict++;
if (pict < pict_end && *pict == '#')
{
pict++;
if (pict < pict_end && (*pict == 'p' || *pict == 'P'))
{
pict++;
x = ReadNumberFromString(pict);
y = ReadNumberFromString(pict);
xb = x;
}
while (pict < pict_end && *pict)
{
if (*pict == '\n') {pict++; break;}
pict++;
}
continue;
}
for (; pict < pict_end && *pict; pict++)
{
if (*pict == '\n')
{
x = xb; y++;
if (pict + 1 < pict_end && pict[1] == '#') break;
continue;
}
else if (*pict == '\r') continue;
if (*pict == '*')
{
if (x0 > x) x0 = x;
if (x1 < x) x1 = x;
if (y0 > y) y0 = y;
if (y1 < y) y1 = y;
}
x++;
}
}
x0 = -2*x0; x1 = 2*x1 + 1;
y0 = -2*y0; y1 = 2*y1 + 1;
w = (x0 < x1) ? x1 : x0;
h = (y0 < y1) ? y1 : y0;
}
else if (type == 3)
{
w = *(int*)(pict+18);
h = *(int*)(pict+22);
if (w == 0) h = 0;
else if (h == 0) w = 0;
}
}
 
void LifePutPicture(int x0, int y0, const unsigned char *pict, int size, unsigned char *data0 = life_data)
{
const unsigned char *pict_end = pict + size;
int type = LifeGetPictureType(pict, size);
if (type == 1)
{
int w = (int)pict[0] + ((int)pict[1] << 8);
int h = (int)pict[2] + ((int)pict[3] << 8);
if (w && h)
{
int i, j, x, y;
pict += 4;
x0 -= w / 2; y0 -= h / 2;
x = x0 + w; y = y0 - 1;
APosPixel pixel(xpar.p, ypar.p, data0);
while (pict < pict_end)
{
if (x >= x0 + w)
{
i = (x - x0) / w;
x -= i * w; y += i;
if (y >= y0 + h) break;
j = 0;
if (x >= 0 && x < xpar.p) j |= 1;
if (y >= 0 && y < ypar.p) j |= 2;
if (j == 3) pixel.SetTo(x, y);
}
i = *(pict++);
if (i == 0)
{
if (j == 3) pixel.Set1Pixel();
i = 1;
}
x += i;
if ((j & 2) && x < x0 + w)
{
if (x >= 0 && x < xpar.p)
{
if ((j & 1) && i < 5)
{
while (i--) pixel.AddX1();
}
else
{
j |= 1;
pixel.SetTo(x, y);
}
}
else j &= ~1;
}
}
}
}
else if (type == 2)
{
int x = x0, y = y0, xb = x;
while (pict < pict_end && *pict)
{
while (pict < pict_end && *pict == '\n') pict++;
if (pict < pict_end && *pict == '#')
{
pict++;
if (pict < pict_end && (*pict == 'p' || *pict == 'P'))
{
pict++;
x = x0 + ReadNumberFromString(pict);
y = y0 + ReadNumberFromString(pict);
xb = x;
}
while (pict < pict_end && *pict)
{
if (*pict == '\n') {pict++; break;}
pict++;
}
continue;
}
if (y >= ypar.p || x >= xpar.p)
{
for (; pict < pict_end && *pict; pict++) if (*pict == '\n')
{
y++;
if (pict + 1 < pict_end && pict[1] == '#') break;
}
continue;
}
if (y < 0)
{
for (; pict < pict_end && *pict; pict++) if (*pict == '\n')
{
y++;
if (y >= 0 || (pict + 1 < pict_end && pict[1] == '#')) break;
}
if (pict + 1 < pict_end && *pict == '\n' && pict[1] == '#') continue;
}
APosPixel pixel(xpar.p, ypar.p, data0);
if (x >= 0) pixel.SetTo(x, y);
for (; pict < pict_end && *pict; pict++)
{
if (*pict == '\n')
{
x = xb; y++;
if (y >= ypar.p) break;
if (x >= 0) pixel.SetTo(x, y);
if (pict + 1 < pict_end && pict[1] == '#') break;
continue;
}
else if (*pict == '\r') continue;
if (*pict == '*') pixel.Set1Pixel();
x++;
if (x < 0) continue;
if (x >= xpar.p)
{
while (pict < pict_end && *pict && *pict != '\n') pict++;
if (pict < pict_end && *pict == '\n') pict--;
continue;
}
if (x == 0) pixel.SetTo(0, y);
else pixel.AddX1();
}
}
}
else if (type == 3)
{
int w = *(int*)(pict+18), h = *(int*)(pict+22);
if (w && h)
{
int n, i, j;
unsigned char ch;
const unsigned char *p = pict + *(int*)(pict+10);
short bp = *(short*)(pict+28);
int s = *(int*)(pict+34);
x0 -= w / 2; y0 -= h / 2;
if (x0 < xpar.p && y0 < ypar.p && x0 + w > 0 && y0 + h > 0)
{
if (s) s /= *(int*)(pict+22);
else s = ((*(int*)(pict+18) * *(short*)(pict+28) - 1) / 32 + 1) * 4;
n = (*(int*)(pict+10) - 54) / 4;
APosPixel pixel(xpar.p, ypar.p, data0);
if (y0 + h <= ypar.p) i = h - 1;
else
{
i = ypar.p - y0 - 1;
p += (ypar.p - y0) * s;
}
for (; i >= 0; i--)
{
int tj = 0, tl = 0;
if (y0 + i < 0) break;
if (x0 > 0) pixel.SetTo(x0, y0 + i);
for (j = 0; j < 8*s; j += 8)
{
if (tj >= w || x0 + tj >= xpar.p) {p += (s - j/8); break;}
ch = *(p++);
while (tj < w && x0 + tj < xpar.p && j + 8 >= (tj+1) * bp)
{
union
{
long za;
unsigned char z[4];
};
 
tl |= (unsigned long)(ch) >> ((int)j + 8 - (tj+1) * bp);
if (n)
{
if (tl >= n) za = 0;
else
{
const unsigned char *zp = pict + 54 + 4*tl;
z[0] = zp[3];
z[1] = zp[2];
z[2] = zp[1];
z[3] = zp[0];
}
}
else if (bp == 8)
{
z[0] = 0;
z[1] = z[2] = z[3] = (char)tl;
}
else if (bp == 32) za = tl;
else za = tl << (32 - bp);
 
if (x0 + tj >= 0)
{
if (x0 + tj == 0) pixel.SetTo(0, y0 + i);
else pixel.AddX1();
if ((int)z[1] + (int)z[2] + (int)z[3] >= 384)
{
pixel.Set1Pixel();
}
}
 
tl = 0;
ch &= (unsigned char)((1 << ((int)j + 8 - (tj+1) * bp)) - 1);
tj++;
}
tl |= (int)ch << ((tj+1) * bp - (j + 8));
}
}
}
}
}
}
 
void ApplyHit(unsigned char *data1 = life_data, unsigned char *data0 = 0)
{
if (!data0) data0 = data1;
if (!data0) return;
data0 = (unsigned char*)GetDataAddress(data0);
data1 = (unsigned char*)GetDataAddress(data1);
if (data0 != data1 && mpar.hit_type != MouseParam::HitScroll)
{
MemCopy(data0, data1, GetDataSize(xpar.p, ypar.p));
}
switch (mpar.hit_type)
{
case MouseParam::HitLine:
LineInScreen(mpar.hit_x, mpar.hit_y, mpar.last_x, mpar.last_y, true, data0);
break;
case MouseParam::HitCircle:
FillCircle(mpar.hit_x, mpar.hit_y,
GetRadius(mpar.hit_x, mpar.hit_y, mpar.last_x, mpar.last_y), false, data0);
break;
case MouseParam::HitScroll:
ApplyScroll(data1, data0);
break;
}
}
 
void MoveGenerateTime(unsigned int t)
{
static const unsigned int COUNT_MAX = 1 << 24;
 
if (generate.stop)
{
if (generate.count > COUNT_MAX) generate.count = COUNT_MAX;
}
else if (!generate.gps) generate.count = COUNT_MAX;
else if (t > 100 || generate.count >= generate.gps)
{
generate.count = generate.gps;
}
else if (t)
{
generate.count += (generate.gps * t -
(((generate.time + t) % 100U) * generate.gps) % 100 +
((generate.time % 100U) * generate.gps) % 100) / 100;
if (generate.count > generate.gps) generate.count = generate.gps;
}
generate.time += t;
if (timegen[timegenpos].t > (~t)) timegen[timegenpos].t = -1;
else timegen[timegenpos].t += t;
}
 
void ResetGenerate()
{
generate.time = Clock();
generate.paint_time = generate.time - 100;
generate.count = 0;
if (generate.stop)
{
generate.stop = false;
menu.button[MenuIGenerate].check = false;
}
}
 
void InitGenerate()
{
int i;
for (i = 0; i < TimeGenLength; i++)
{
timegen[timegenpos].t = -1;
timegen[timegenpos].g = 0;
}
ResetGenerate();
}
 
bool AddGenerateCount(int c)
{
if (c < 0) return false;
if (!menu.button[MenuIGenerate].check)
{
ResetGenerate();
menu.button[MenuIGenerate].check = true;
generate.paint |= PaintWMenuBorder | PaintWSpeed;
generate.stop = true;
generate.count += c;
}
else if (generate.stop) generate.count += c;
else return false;
return true;
}
 
void InitMenuButton()
{
int i;
const unsigned char *p = menu_picture, *p_end = menu_picture + sizeof(menu_picture);
const unsigned int separator = 5;
for (i = 0; i < MenuParam::NButton; i++)
{
menu.button[i].left = 0;
menu.button[i].size = MenuParam::Size - 2;
menu.button[i].border = 2;
menu.button[i].check = false;
menu.button[i].bitmap = p;
if (p && !p[0])
{
menu.button[i].bitmap = 0;
if (p[1]) p = 0;
}
if (p)
{
p += 2 + 3 * (int)p[0] * (int)p[1];
if (p > p_end) menu.button[i].bitmap = 0;
if (p >= p_end) p = 0;
}
}
p = digits_picture; p_end = digits_picture + sizeof(digits_picture);
for (i = 0; i < MenuDig; i++)
{
menu.digit[i] = p;
if (p && !p[0])
{
menu.digit[i] = 0;
if (p[1]) p = 0;
}
if (p)
{
p += 2 + ((int)p[0] * (int)p[1] + 7) / 8;
if (p > p_end) menu.digit[i] = 0;
if (p >= p_end) p = 0;
}
}
menu.draw = false;
menu.pressed = -1;
menu.current = MenuILine;
menu.edit = -1;
menu.button[menu.current].check = true;
menu.button[MenuIHide].size /= 2;
menu.button[MenuIGenerate].left += separator;
menu.button[MenuIGenerate].check = true;
menu.button[MenuIRandom].check = true;
menu.button[MenuILine].left += separator;
menu.button[MenuIWinSize].left += separator;
menu.button[MenuISize].size += 80;
menu.button[MenuISpeed].left += separator;
menu.button[MenuISpeed].size += 60;
menu.button[0].left = 1;
for (i = 1; i < MenuParam::NButton; i++)
{
menu.button[i].left += menu.button[i-1].left + menu.button[i-1].size;
}
}
 
int GetMenuYPos()
{
return 0;
}
 
int GetMenuHeight()
{
if (!menu.draw) return 0;
return (ypar.win <= MenuParam::Size) ? 0 : MenuParam::Size;
}
 
int GetMenuNumber(int k, int i)
{
if (k == menu.edit) return menu.edit_num[i];
switch (k)
{
case MenuISize:
return i ? ypar.p : xpar.p;
case MenuISpeed:
return menu.button[MenuIGenerate].check ? (int)Floor(generate.speed + 0.5) : 0;
default:
return 0;
}
}
 
void WinDrawRect(int x, int y, int w, int h, const unsigned char *const *color)
{
unsigned char *p = picture + 3 * (y * xpar.win + x);
int j;
w--; h--;
for (j = w; j > 0; j--)
{
p[0] = color[0][0]; p[1] = color[0][1]; p[2] = color[0][2];
p += 3;
}
for (j = h; j > 0; j--)
{
p[0] = color[1][0]; p[1] = color[1][1]; p[2] = color[1][2];
p += 3 * xpar.win;
}
for (j = w; j > 0; j--)
{
p[0] = color[2][0]; p[1] = color[2][1]; p[2] = color[2][2];
p -= 3;
}
for (j = h; j > 0; j--)
{
p[0] = color[3][0]; p[1] = color[3][1]; p[2] = color[3][2];
p -= 3 * xpar.win;
}
}
 
void WinFillRect(int x, int y, int w, int h, const unsigned char *color)
{
if (x >= xpar.win || y >= ypar.win || w <= 0 || h <= 0) return;
if (w > xpar.win - x) w = xpar.win - x;
if (h > ypar.win - y) h = ypar.win - y;
unsigned char *p, *pp = picture + 3 * (y * xpar.win + x);
int i, j;
for (i = h; i > 0; i--)
{
p = pp;
for (j = w; j > 0; j--)
{
*(p++) = color[0]; *(p++) = color[1]; *(p++) = color[2];
}
pp += 3 * xpar.win;
}
}
 
void WinBitmapRect(int x, int y, const unsigned char *bmp)
{
if (!bmp || !bmp[0] || !bmp[1]) return;
int w = bmp[0], h = bmp[1], strl = 3 * (int)bmp[0];
bmp += 2;
x -= w/2; y -= h/2;
if (x >= xpar.win || y >= ypar.win) return;
if (w > xpar.win - x) w = xpar.win - x;
if (h > ypar.win - y) h = ypar.win - y;
unsigned char *p, *pp = picture + 3 * (y * xpar.win + x);
const unsigned char *b;
int i, j;
for (i = h; i > 0; i--)
{
p = pp; b = bmp;
for (j = w; j > 0; j--)
{
*(p++) = *(b++); *(p++) = *(b++); *(p++) = *(b++);
}
pp += 3 * xpar.win; bmp += strl;
}
}
 
void WinBitSetRect(int x, int y, const unsigned char *set, const unsigned char *color)
{
if (!set || !set[0] || !set[1]) return;
int w = set[0], h = set[1], strr = (int)set[0];
set += 2;
x -= w/2; y -= h/2;
if (x >= xpar.win || y >= ypar.win) return;
if (w > xpar.win - x) w = xpar.win - x;
if (h > ypar.win - y) h = ypar.win - y;
strr -= w;
unsigned char *p, *pp = picture + 3 * (y * xpar.win + x);
int i, j, m = 1;
for (i = h; i > 0; i--)
{
p = pp;
for (j = w; j > 0; j--)
{
if (*set & m) {p[0] = color[0]; p[1] = color[1]; p[2] = color[2];}
p += 3;
m <<= 1;
if (!(m & 255)) {m = 1; set++;}
}
pp += 3 * xpar.win;
m <<= strr % 8; set += strr / 8;
if (!(m & 255)) {m >>= 8; set++;}
}
}
 
void WinNumberRect(int x, int y, unsigned int n, const unsigned char *color)
{
int w, m, i;
w = 0; m = n;
do
{
i = m % MenuDig; m /= MenuDig;
if (menu.digit[i]) w += 2 + menu.digit[i][0];
} while(m);
if (w <= 2) return;
x += w - (w-2) / 2;
m = n;
do
{
i = m % MenuDig; m /= MenuDig;
if (menu.digit[i])
{
x -= 2 + menu.digit[i][0];
WinBitSetRect(x + menu.digit[i][0] / 2, y, menu.digit[i], color);
}
} while(m);
}
 
void WinNumberEditRect(int x, int y, int w, int h, unsigned int n,
const unsigned char *color, const unsigned char *bg_color)
{
if (bg_color) WinFillRect(x, y, w, h, bg_color);
WinNumberRect(x + w/2, y + h/2, n, color);
}
 
void MenuPaint(int what)
{
static const unsigned char color_light0[3] = {255, 255, 255};
static const unsigned char color_light[3] = {208, 208, 208};
static const unsigned char color_face[3] = {192, 192, 192};
static const unsigned char color_shadow[3] = {128, 128, 128};
static const unsigned char color_shadow0[3] = {64, 64, 64};
static const unsigned char color_black[3] = {0, 0, 0};
static const unsigned char (&color_white)[3] = color_light0;
 
if (GetMenuHeight() < MenuParam::Size) return;
const unsigned char *color[4];
int menuy = GetMenuYPos(), i, k, x, xx, y, yy;
if ((what & PaintWSpeed) && !(what & (PaintWMenu & ~PaintWMenuBorder)) &&
menu.button[MenuISpeed].Right() < xpar.win)
{
k = MenuISpeed;
i = menu.button[k].border + 1;
xx = menu.button[k].Left() + i;
yy = menuy + 1 + i;
x = menu.button[k].size - 2*i;
y = MenuParam::Size - 2 - 2*i;
i = 0;
if (menu.button[k].bitmap) i += menu.button[k].bitmap[0] + 2;
WinNumberEditRect(xx + i, yy, x - i, y, GetMenuNumber(k, 0), color_black,
(menu.edit == k && menu.edit_index == 0) ? color_white : color_face);
}
if (!(what & PaintWMenu)) return;
if (what & (PaintWMenu & ~PaintWMenuBorder))
{
x = menu.button[MenuParam::NButton - 1].Right();
WinFillRect(0, menuy, x, 1, color_face);
WinFillRect(0, menuy + MenuParam::Size - 1, x, 1, color_face);
WinFillRect(x, menuy, xpar.win - x, MenuParam::Size, color_face);
}
for (k = 0; k < MenuParam::NButton; k++)
{
xx = menu.button[k].Left();
yy = menuy + 1;
x = menu.button[k].size;
y = MenuParam::Size - 2;
if (xx + x >= xpar.win)
{
if (what & (PaintWMenu & ~PaintWMenuBorder))
{
i = (k >= 1) ? menu.button[k-1].Right() : 0;
WinFillRect(i, yy, xpar.win - i, y, color_face);
}
break;
}
if (what & (PaintWMenu & ~PaintWMenuBorder))
{
i = (k >= 1) ? menu.button[k-1].Right() : 0;
WinFillRect(i, yy, xx - i, y, color_face);
}
for (i = 0; i < menu.button[k].border; i++)
{
if (i <= 1)
{
if (menu.button[k].check)
{
color[0] = color[3] = i ? color_shadow : color_shadow0;
color[1] = color[2] = i ? color_light : color_light0;
}
else
{
color[0] = color[3] = i ? color_light : color_light0;
color[1] = color[2] = i ? color_shadow : color_shadow0;
}
}
WinDrawRect(xx, yy, x, y, color);
xx++; yy++; x -= 2; y -= 2;
}
if (what & (PaintWMenu & ~PaintWMenuBorder))
{
WinFillRect(xx, yy, x, y, color_face);
if (menu.button[k].bitmap)
{
i = (k == MenuISpeed) ? (1 + menu.button[k].bitmap[0] / 2) : (x / 2);
WinBitmapRect(xx + i, yy + y/2, menu.button[k].bitmap);
}
if (k == MenuISize)
{
xx++; yy++; x -= 2; y -= 2;
i = x - 4;
if (menu.button[k].bitmap) i -= menu.button[k].bitmap[0];
i /= 2;
WinNumberEditRect(xx, yy, i, y, GetMenuNumber(k, 0), color_black,
(menu.edit == k && menu.edit_index == 0) ? color_white : 0);
WinNumberEditRect(xx + x - i, yy, i, y, GetMenuNumber(k, 1), color_black,
(menu.edit == k && menu.edit_index == 1) ? color_white : 0);
}
else if (k == MenuISpeed)
{
xx++; yy++; x -= 2; y -= 2;
i = 0;
if (menu.button[k].bitmap) i += menu.button[k].bitmap[0] + 2;
WinNumberEditRect(xx + i, yy, x - i, y, GetMenuNumber(k, 0), color_black,
(menu.edit == k && menu.edit_index == 0) ? color_white : 0);
}
}
}
}
 
void Paint(int what, TThreadData th);
 
void SetMenuDraw(bool draw, TThreadData th)
{
if (draw == menu.draw) return;
if (menu.pressed >= 0) menu.button[menu.pressed].check = false;
menu.pressed = -1;
menu.draw = draw;
Paint(PaintWAll | PaintWFast, th);
}
 
void SetMenuPressed(int k, TThreadData th)
{
if (menu.pressed == k) return;
if (menu.pressed >= 0) menu.button[menu.pressed].check = false;
if (k >= 0) menu.button[k].check = true;
menu.pressed = k;
Paint(PaintWMenuBorder | PaintWFast, th);
}
 
void SetMenuCurrent(int k, TThreadData th)
{
if (menu.current == k) return;
if (menu.current >= 0) menu.button[menu.current].check = false;
if (k >= 0) menu.button[k].check = true;
menu.current = k;
Paint(PaintWMenuBorder | PaintWFast, th);
}
 
void SetMenuEdit(int k, int i, TThreadData th)
{
if (menu.edit != k)
{
if (menu.edit >= 0) menu.button[menu.edit].check = false;
if (k >= 0) menu.button[k].check = true;
if (k == MenuISize) {menu.edit_num[0] = xpar.p; menu.edit_num[1] = ypar.p;}
else if (k == MenuISpeed) menu.edit_num[0] = generate.gps;
}
else if (menu.edit_index == i) return;
if (k == MenuISize) menu.edit_num_max = 32767;
else if (k == MenuISpeed) menu.edit_num_max = 9999999;
menu.edit = k; menu.edit_index = i;
Paint(PaintWMenu | PaintWFast, th);
}
 
void ApplyMenuEdit(TThreadData th)
{
if (menu.edit < 0) return;
if (menu.edit == MenuISize)
{
int w = menu.edit_num[0], h = menu.edit_num[1];
ResetGenerate();
if (xpar.p != w || ypar.p != h)
{
if (w <= 0) w = 1;
if (h <= 0) h = 1;
SetPoleSize(w, h);
generate.paint |= PaintWPole | PaintWMenu | PaintWFast;
}
}
else if (menu.edit == MenuISpeed)
{
generate.gps = menu.edit_num[0];
}
SetMenuEdit(-1, -1, th);
}
 
int GetMenuEditIndex(int k, int x)
{
if (k == MenuISize) return x >= menu.button[k].left + menu.button[k].size / 2;
else return 0;
}
 
void LifeScreenPutPicture(const unsigned char *pict, int size, TThreadData th)
{
int w, h;
ResetGenerate();
LifeGetPictureSize(w, h, pict, size);
w += 10; h += 10;
if (!life_data || xpar.p < w || ypar.p < h)
{
if (xpar.p >= w) w = xpar.p;
if (ypar.p >= h) h = ypar.p;
SetPoleSize(w, h);
if (!life_data)
{
Paint(PaintWMenu | PaintWFast, th);
return;
}
}
MemSet(GetDataAddress(life_data), 0, GetDataSize(xpar.p, ypar.p));
LifePutPicture(xpar.p / 2, ypar.p / 2, pict, size, life_data);
menu.button[MenuIRandom].check = false;
xpar.shift = 0; ypar.shift = 0;
generate.paint |= PaintWPole | PaintWMenu | PaintWFast;
// SetMenuCurrent(MenuIScroll, th);
Paint(PaintWNull, th);
}
 
void MenuOpenDialogEnd(TThreadData th)
{
int state = OpenFileGetState(open_file_str);
if (state <= 0) return;
OpenFileSetState(open_file_str, 0);
if (state != 2) return;
char *name = OpenFileGetName(open_file_str);
if (!name) return;
TFileData file = FileOpen(name);
if (!file) return;
int k = FileGetLength(file);
unsigned char *pict = 0;
if (k > 0 && k < (1 << 24))
{
pict = (unsigned char*)Alloc(k+1);
if (pict)
{
if (FileRead(file, pict, k) == k) pict[k] = 0;
else {Free(pict); pict = 0;}
}
}
FileClose(file);
if (!pict) return;
LifeScreenPutPicture(pict, k, th);
Free(pict);
}
 
void MenuWinSizeClick(TThreadData th)
{
int w = xpar.win, h = ypar.win - GetMenuHeight();
ResetGenerate();
if (w > 0 && h > 0 && (xpar.p != w || ypar.p != h))
{
SetPoleSize(w, h);
Paint(PaintWPole | PaintWMenu | PaintWFast, th);
}
}
 
void MenuGenerateClick(TThreadData th)
{
generate.stop = false;
ResetGenerate();
menu.button[MenuIGenerate].check = !menu.button[MenuIGenerate].check;
Paint(PaintWMenuBorder | PaintWSpeed | PaintWFast, th);
}
 
void MenuClearClick(TThreadData th)
{
ResetGenerate();
if (life_data) MemSet(GetDataAddress(life_data), 0, GetDataSize(xpar.p, ypar.p));
Paint(PaintWPole | PaintWFast, th);
}
 
void MenuAboutClick(TThreadData th)
{
generate.stop = false;
menu.button[MenuIGenerate].check = true;
generate.paint |= PaintWSpeed;
LifeScreenPutPicture(about_picture, sizeof(about_picture), th);
}
 
void MenuMouseClick(int x, int y, int m, TThreadData th)
{
int k, i, j = GetMenuYPos();
if (menu.edit >= 0)
{
k = menu.edit;
j = GetMenuYPos();
if (GetMenuHeight() < MenuParam::Size || y < j + 1 || y >= j + MenuParam::Size - 1 ||
x < menu.button[k].Left() || x >= menu.button[k].Right())
{
if (m == 1) ApplyMenuEdit(th);
else SetMenuEdit(-1, -1, th);
}
else SetMenuEdit(k, GetMenuEditIndex(k, x), th);
return;
}
if (GetMenuHeight() < MenuParam::Size || y < j + 1 || y >= j + MenuParam::Size - 1)
{
if (m < 0) x = -1;
else return;
}
if (m < 0)
{
if (menu.pressed < 0) return;
k = menu.pressed;
if (x < menu.button[k].Left() || x >= menu.button[k].Right())
{
if (menu.button[k].check)
{
menu.button[k].check = false;
Paint(PaintWMenuBorder | PaintWFast, th);
}
}
else if (!menu.button[k].check)
{
menu.button[k].check = true;
Paint(PaintWMenuBorder | PaintWFast, th);
}
return;
}
if (m == 0)
{
if (menu.pressed < 0 || !menu.button[menu.pressed].check) return;
switch (menu.pressed)
{
case MenuIHide:
SetMenuDraw(false, th);
break;
case MenuIClear:
MenuClearClick(th);
break;
case MenuIOpen:
if (OpenFileGetState(open_file_str) < 0) break;
OpenFileDialog(open_file_str);
break;
case MenuIAbout:
MenuAboutClick(th);
break;
case MenuIExit:
CloseWindow(th);
break;
case MenuIWinSize:
MenuWinSizeClick(th);
break;
}
return;
}
k = -1; i = MenuParam::NButton;
while (k + 1 < i)
{
j = (k + i) / 2;
if (x < menu.button[j].Left()) i = j;
else k = j;
}
i = menu.button[k].Right();
if (k < 0 || x >= i || i >= xpar.win) return;
switch (k)
{
case MenuIHide:
case MenuIClear:
case MenuIOpen:
case MenuIAbout:
case MenuIExit:
case MenuIWinSize:
SetMenuPressed(k, th);
break;
case MenuIGenerate:
MenuGenerateClick(th);
break;
case MenuIRandom:
case MenuIVCircle:
case MenuIHCircle:
menu.button[k].check = !menu.button[k].check;
Paint(PaintWMenuBorder | PaintWFast, th);
break;
case MenuILine:
case MenuIScroll:
SetMenuCurrent(k, th);
break;
case MenuISize:
case MenuISpeed:
SetMenuEdit(k, GetMenuEditIndex(k, x), th);
break;
}
}
 
void PoleMouseClick(int m, TThreadData th)
{
if (m != 1 && m != 2) return;
mpar.hit_type = MouseParam::HitNull;
switch (menu.current)
{
case MenuILine:
if (menu.draw)
{
menu.button[MenuIRandom].check = false;
generate.paint |= PaintWMenuBorder | PaintWFast;
if (m == 1) mpar.hit_type = MouseParam::HitLine;
else mpar.hit_type = MouseParam::HitCircle;
}
break;
case MenuIScroll:
if (m == 1) mpar.hit_type = MouseParam::HitScroll;
break;
}
if (mpar.hit_type) Paint(PaintWPole | PaintWFast, th);
else if (!menu.draw) SetMenuDraw(true, th);
}
 
void MenuEditPressKey(int ch, TThreadData th)
{
if (menu.edit < 0) return;
int &num = menu.edit_num[menu.edit_index];
if (ch == 27) SetMenuEdit(-1, -1, th);
else if (ch == '\r') ApplyMenuEdit(th);
else if (ch == 8) {num /= 10; Paint(PaintWMenu | PaintWFast, th);}
else if (ch >= '0' && ch <= '9')
{
num = 10 * num + (ch - '0');
if (num >= menu.edit_num_max) num = menu.edit_num_max;
Paint(PaintWMenu | PaintWFast, th);
}
else if (menu.edit == MenuISize)
{
if (ch == '\t') SetMenuEdit(MenuISize, !menu.edit_index, th);
else if (ch == 'x' || ch == 'X') SetMenuEdit(MenuISize, 0, th);
else if (ch == 'y' || ch == 'Y') SetMenuEdit(MenuISize, 1, th);
}
}
 
void CalculateSpeed()
{
double t = 0, g = 0, dn, n = 0, st = 0, sg = 0, ss = 0, sp = 0;
int i = timegenpos;
do
{
if (t >= 500) break;
g += timegen[i].g;
dn = timegen[i].g;
n += dn * (500 - t);
st += dn * t;
sg += dn * g;
ss += dn * t * t;
sp += dn * g * t;
if (--i < 0) i = TimeGenLength;
t += timegen[i].t;
} while(i != timegenpos);
ss = n * ss - st * st;
sp = n * sp - sg * st;
if (st < 1e-4 || ss < 1e-4 * st * st) g = 0;
else g = sp / ss;
generate.speed = 100 * g;
}
 
void Paint(int what, TThreadData th)
{
what |= generate.paint;
if (!(what & PaintWAll) || !life_data || xpar.win <= 0 || ypar.win <= 0) return;
 
const unsigned int FAST_PAINT_TIME = 2, WAIT_PAINT_TIME = 8;
unsigned int t = Clock() - generate.paint_time;
unsigned int wt = (what & PaintWFast) ? FAST_PAINT_TIME : WAIT_PAINT_TIME;
if (!(what & PaintWNow) && t >= (unsigned int)(-WAIT_PAINT_TIME))
{
if ((unsigned int)(-t) > wt) generate.paint_time += t + wt;
generate.paint = what;
return;
}
generate.paint_time += t + wt;
generate.paint = PaintWNull;
 
if (!picture)
{
SetPictureSize();
if (!picture) return;
}
if (what & PaintWPole)
{
const unsigned char bgcolor[3] = {128, 128, 0};
int w, h, x, y, xx, yy, i, j;
int menu0 = GetMenuYPos(), menu1 = menu0 + GetMenuHeight();
unsigned char *p = picture;
unsigned char *data0 = (unsigned char*)GetDataAddress(life_data);
int size = GetDataSize(xpar.p, ypar.p);
if (xpar.win <= 0 || ypar.win <= 0) return;
if (mpar.hit_type > 0)
{
double shift_x = xpar.shift, shift_y = ypar.shift;
ApplyHit(data0, data0 + size);
data0 += size;
GetPaintOrigin(w, h, x, y, xx, yy);
xpar.shift = shift_x; ypar.shift = shift_y;
}
else GetPaintOrigin(w, h, x, y, xx, yy);
APosPixel pixel(xpar.p, ypar.p, data0);
j = menu0;
if (j < 0) j = 0;
else if (j > yy) j = yy;
for (i = j * xpar.win; i > 0; i--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
i = menu1;
if (i < 0) i = 0;
else if (i > yy) i = yy;
p += 3 * xpar.win * (i - j);
for (i = (yy - i) * xpar.win; i > 0; i--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
for (i = 0; i < h; i++)
{
for (j = xx; j > 0; j--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
pixel.SetTo(x, (y + i) % ypar.p);
j = xpar.p - x;
if (j > w) j = w;
for (;;)
{
if (pixel.GetPixel()) {*(p++) = 255; *(p++) = 255; *(p++) = 255;}
else {*(p++) = 0; *(p++) = 0; *(p++) = 0;}
if (--j <= 0) break;
pixel.AddX1();
}
j = w - (xpar.p - x);
if (j > 0)
{
pixel.SetTo(0, (y + i) % ypar.p);
for (;;)
{
if (pixel.GetPixel()) {*(p++) = 255; *(p++) = 255; *(p++) = 255;}
else {*(p++) = 0; *(p++) = 0; *(p++) = 0;}
if (--j <= 0) break;
pixel.AddX1();
}
}
for (j = xpar.win - xx - w; j > 0; j--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
}
j = menu0;
if (j < yy + h) j = yy + h;
else if (j > ypar.win) j = ypar.win;
for (i = (j - yy - h) * xpar.win; i > 0; i--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
i = menu1;
if (i < yy + h) i = yy + h;
else if (i > ypar.win) i = ypar.win;
p += 3 * xpar.win * (i - j);
for (i = (ypar.win - i) * xpar.win; i > 0; i--)
{
*(p++) = bgcolor[0]; *(p++) = bgcolor[1]; *(p++) = bgcolor[2];
}
}
if (what & PaintWSpeed) CalculateSpeed();
MenuPaint(what);
SetPicture(picture, (unsigned short)xpar.win, (unsigned short)ypar.win, th);
}
 
bool MenuetOnStart(TStartData &me_start, TThreadData th)
{
randomize();
me_start.WinData.Title = "Black and white Life";
me_start.Width = 500; me_start.Height = 400;
InitGenerate();
InitMenuButton();
if (CommandLine[0])
{
open_file_str.state = 2;
OpenFileSetName(open_file_str, CommandLine);
}
return true;
}
 
bool MenuetOnClose(TThreadData)
{
SetPictureSize(0, 0);
SetPoleSize(0, 0);
return true;
}
 
int MenuetOnIdle(TThreadData th)
{
static const unsigned int WAIT_TIME = 2, GEN_TIME = 1;
int res = -1;
if (OpenFileGetState(open_file_str) > 0)
{
MenuOpenDialogEnd(th);
res = 0;
}
else
{
if (life_data && menu.button[MenuIGenerate].check)
{
unsigned int t = Clock() - generate.time;
if (t >= (unsigned int)(-WAIT_TIME)) res = -t;
else
{
MoveGenerateTime(t);
if (generate.count > 0)
{
unsigned char *data0 = (unsigned char*)GetDataAddress(life_data);
int size = GetDataSize(xpar.p, ypar.p);
int flag = (menu.button[MenuIHCircle].check ? 4 : 1) +
(menu.button[MenuIVCircle].check ? 8 : 2);
if (++timegenpos >= TimeGenLength) timegenpos = 0;
timegen[timegenpos].t = 0;
timegen[timegenpos].g = 0;
for (;;)
{
OneGeneration(xpar.p, ypar.p, data0 + size, data0, flag);
if (menu.button[MenuIRandom].check) RandomDraw(data0 + size);
timegen[timegenpos].g++;
if (--generate.count == 0 || (unsigned int)(Clock() - generate.time) >= GEN_TIME)
{
MemCopy(data0, data0 + size, size);
break;
}
OneGeneration(xpar.p, ypar.p, data0, data0 + size, flag);
if (menu.button[MenuIRandom].check) RandomDraw(data0);
timegen[timegenpos].g++;
if (--generate.count == 0 || (unsigned int)(Clock() - generate.time) >= GEN_TIME) break;
}
generate.paint |= PaintWPole | PaintWSpeed;
}
if (generate.stop && generate.count == 0)
{
ResetGenerate();
menu.button[MenuIGenerate].check = false;
generate.paint |= PaintWMenuBorder | PaintWSpeed;
res = -1;
}
else
{
MoveGenerateTime(Clock() - generate.time);
res = (generate.count <= generate.gps / 100) ? WAIT_TIME : 0;
MoveGenerateTime(res);
}
}
}
}
if (generate.paint)
{
Paint((res < 0 || res > WAIT_TIME) ? (PaintWNull | PaintWNow) : PaintWNull, th);
}
return res;
}
 
void MenuetOnSize(int window_rect[], Menuet::TThreadData th)
{
unsigned short w, h;
GetClientSize(w, h, window_rect[2], window_rect[3], th);
SetPictureSize(w, h);
generate.paint |= PaintWAll | PaintWFast;
if (!life_data) MenuWinSizeClick(th);
Paint(PaintWNull | PaintWNow, th);
}
 
void MenuetOnKeyPress(TThreadData th)
{
int ch;
while ((ch = GetKey()) >= 0)
{
if (mpar.hit_type > 0)
{
mpar.hit_type = 0;
generate.paint |= PaintWPole | PaintWFast;
SetMenuPressed(-1, th);
if (generate.paint) Paint(PaintWNull, th);
}
else if (menu.pressed >= 0) SetMenuPressed(-1, th);
else if (menu.edit >= 0) MenuEditPressKey(ch, th);
else
{
switch (ch)
{
case 'm':
case 'M':
SetMenuDraw(!menu.draw, th);
break;
case 'c':
case 'C':
MenuClearClick(th);
break;
case 'o':
case 'O':
if (OpenFileGetState(open_file_str) < 0) break;
OpenFileDialog(open_file_str);
break;
case 'a':
case 'A':
MenuAboutClick(th);
break;
case 'q':
case 'Q':
CloseWindow(th);
break;
case 'w':
case 'W':
MenuWinSizeClick(th);
break;
case 'g':
case 'G':
MenuGenerateClick(th);
break;
case 'r':
case 'R':
menu.button[MenuIRandom].check = !menu.button[MenuIRandom].check;
Paint(PaintWMenuBorder | PaintWFast, th);
break;
case 'v':
case 'V':
menu.button[MenuIVCircle].check = !menu.button[MenuIVCircle].check;
Paint(PaintWMenuBorder | PaintWFast, th);
break;
case 'h':
case 'H':
menu.button[MenuIHCircle].check = !menu.button[MenuIHCircle].check;
Paint(PaintWMenuBorder | PaintWFast, th);
break;
case 'l':
case 'L':
SetMenuCurrent(MenuILine, th);
break;
case 's':
case 'S':
SetMenuCurrent(MenuIScroll, th);
break;
case 'x':
case 'X':
if (!menu.draw) SetMenuDraw(true, th);
SetMenuEdit(MenuISize, 0, th);
break;
case 'y':
case 'Y':
if (!menu.draw) SetMenuDraw(true, th);
SetMenuEdit(MenuISize, 1, th);
break;
case 'f':
case 'F':
if (!menu.draw) SetMenuDraw(true, th);
SetMenuEdit(MenuISpeed, 0, th);
break;
case ' ':
case '\\':
case '|':
if (menu.button[MenuIGenerate].check && !generate.stop)
{
menu.button[MenuIGenerate].check = false;
Paint(PaintWMenuBorder | PaintWSpeed | PaintWFast, th);
}
else AddGenerateCount((ch == ' ') ? 1 : 15);
break;
}
}
}
}
 
void MenuetOnMouse(TThreadData th)
{
short xp = 0, yp = 0;
int w, h, x, y, xx, yy, m;
GetMousePosPicture(xp, yp);
m = GetMouseButton();
GetPaintOrigin(w, h, x, y, xx, yy);
x += xp - xx;
y += yp - yy;
if (mpar.hit_type > 0)
{
if (mpar.last_x != x || mpar.last_y != y)
{
mpar.last_x = x; mpar.last_y = y;
generate.paint |= PaintWPole | PaintWFast;
}
if (m != mpar.button)
{
if ((m & ~mpar.button) == 0) ApplyHit();
mpar.hit_type = 0;
generate.paint |= PaintWPole | PaintWFast;
SetMenuPressed(-1, th);
if (generate.paint) Paint(PaintWNull, th);
}
}
else if (menu.pressed >= 0)
{
if (mpar.last_x != x || mpar.last_y != y)
{
MenuMouseClick(xp, yp, -1, th);
}
if (m != mpar.button)
{
if ((m & ~mpar.button) == 0) MenuMouseClick(xp, yp, 0, th);
SetMenuPressed(-1, th);
}
}
else if (mpar.button == 0 && (m == 1 || m == 2))
{
if (xp >= 0 && xp < xpar.win && yp >= 0 && yp < ypar.win)
{
mpar.hit_x = x; mpar.hit_y = y; mpar.last_x = x; mpar.last_y = y;
yy = GetMenuYPos();
if (menu.edit >= 0 || (yp >= yy && yp < yy + GetMenuHeight()))
{
MenuMouseClick(xp, yp, m, th);
}
else PoleMouseClick(m, th);
}
}
mpar.button = m;
}
 
#ifndef __MENUET__
 
#include <windows.h>
 
void __stdcall (*DllOneGeneration)(int w, int h, void *dest, const void *src, int flag) = 0;
 
void DllInit()
{
HINSTANCE hLib = LoadLibrary("LifeGen.dll");
if (!hLib)
{
DebugPutString("Can't load the library.\n");
Menuet::Abort();
}
DllOneGeneration = (void(__stdcall*)(int, int, void*, const void*, int))GetProcAddress(hLib, "OneGeneration");
if (!DllOneGeneration)
{
DebugPutString("Can't get a library function.\n");
Menuet::Abort();
}
}
 
void __stdcall OneGeneration(int w, int h, void *dest, const void *src, int flag)
{
if (!DllOneGeneration) DllInit();
DllOneGeneration(w, h, dest, src, flag);
}
 
#endif
 
/programs/demos/life2/life_bmp/about.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/clear.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit0.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit1.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit2.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit3.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit4.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit5.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit6.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit7.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit8.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/digit9.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/exit.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/generate.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/h_circle.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/hidemenu.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/line.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/open.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/pict_about.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/random.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/scroll.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/size.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/speed.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/v_circle.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp/winsize.bmp
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2/life_bmp
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property
/programs/demos/life2/life_bmp.bat
0,0 → 1,32
bmp2h < life_bmp.bat > life_bmp.h
 
rem <array:bmp> menu_picture
rem <bitmap> life_bmp\hidemenu.bmp
rem <bitmap> life_bmp\clear.bmp
rem <bitmap> life_bmp\open.bmp
rem <bitmap> life_bmp\about.bmp
rem <bitmap> life_bmp\exit.bmp
rem <bitmap> life_bmp\generate.bmp
rem <bitmap> life_bmp\random.bmp
rem <bitmap> life_bmp\v_circle.bmp
rem <bitmap> life_bmp\h_circle.bmp
rem <bitmap> life_bmp\line.bmp
rem <bitmap> life_bmp\scroll.bmp
rem <bitmap> life_bmp\winsize.bmp
rem <bitmap> life_bmp\size.bmp
rem <bitmap> life_bmp\speed.bmp
 
rem <array:life> about_picture
rem <bitmap> life_bmp\pict_about.bmp
 
rem <array:set> digits_picture
rem <bitmap:inv> life_bmp\digit0.bmp
rem <bitmap:inv> life_bmp\digit1.bmp
rem <bitmap:inv> life_bmp\digit2.bmp
rem <bitmap:inv> life_bmp\digit3.bmp
rem <bitmap:inv> life_bmp\digit4.bmp
rem <bitmap:inv> life_bmp\digit5.bmp
rem <bitmap:inv> life_bmp\digit6.bmp
rem <bitmap:inv> life_bmp\digit7.bmp
rem <bitmap:inv> life_bmp\digit8.bmp
rem <bitmap:inv> life_bmp\digit9.bmp
/programs/demos/life2/lifegen.h
0,0 → 1,108
#ifndef __SSE2_LIVE_H_INCLUDED_
#define __SSE2_LIVE_H_INCLUDED_
 
//
// In DLL:
//
// void __stdcall OneGeneration(int w, int h, void *dest, const void *src, int flag);
//
 
inline int GetDataWidth(int w) {return (w + 63) & ~63;}
inline int GetDataHeight(int h) {return (h + 7) & ~7;}
inline int GetDataNBlock(int w) {return GetDataWidth(w) / 64;}
inline int GetDataPeriod(int h) {return GetDataHeight(h) * 8;}
inline int GetDataSize(int w, int h) {return GetDataNBlock(w) * GetDataPeriod(h);}
const int DataMemAdd = 16; // using: new char[GetDataSize(w, h) + DataMemAdd];
inline void *GetDataAddress(void *data) {return (void*)(((unsigned int)data + 15) & ~15);}
 
inline bool GetDataBit(unsigned int w0, unsigned int h0, const void *data0, unsigned int x, unsigned int y)
{ // w0 = GetDataWidth(w); h0 = GetDataHeight(h); data0 = GetDataAddress(data);
unsigned int nblk = w0 >> 6, sblk = h0 >> 1;
unsigned int x1 = x % nblk, x2 = x / nblk;
unsigned int y1 = y % sblk, y2 = y / sblk;
unsigned int index = ((x1*sblk + y1) << 2) + (y2 << 1) + (x2 >> 5);
return (((const unsigned int*)data0)[index] >> (x2 & 31)) & 1;
}
 
inline void Set0DataBit(unsigned int w0, unsigned int h0, void *data0, unsigned int x, unsigned int y)
{ // w0 = GetDataWidth(w); h0 = GetDataHeight(h); data0 = GetDataAddress(data);
unsigned int nblk = w0 >> 6, sblk = h0 >> 1;
unsigned int x1 = x % nblk, x2 = x / nblk;
unsigned int y1 = y % sblk, y2 = y / sblk;
unsigned int index = ((x1*sblk + y1) << 2) + (y2 << 1) + (x2 >> 5);
((unsigned int*)data0)[index] &= ~(1U << (x2 & 31));
}
 
inline void Set1DataBit(unsigned int w0, unsigned int h0, void *data0, unsigned int x, unsigned int y)
{ // w0 = GetDataWidth(w); h0 = GetDataHeight(h); data0 = GetDataAddress(data);
unsigned int nblk = w0 >> 6, sblk = h0 >> 1;
unsigned int x1 = x % nblk, x2 = x / nblk;
unsigned int y1 = y % sblk, y2 = y / sblk;
unsigned int index = ((x1*sblk + y1) << 2) + (y2 << 1) + (x2 >> 5);
((unsigned int*)data0)[index] |= 1U << (x2 & 31);
}
 
inline void SetCDataBit(unsigned int w0, unsigned int h0, void *data0, unsigned int x, unsigned int y)
{ // w0 = GetDataWidth(w); h0 = GetDataHeight(h); data0 = GetDataAddress(data);
unsigned int nblk = w0 >> 6, sblk = h0 >> 1;
unsigned int x1 = x % nblk, x2 = x / nblk;
unsigned int y1 = y % sblk, y2 = y / sblk;
unsigned int index = ((x1*sblk + y1) << 2) + (y2 << 1) + (x2 >> 5);
((unsigned int*)data0)[index] ^= 1U << (x2 & 31);
}
 
inline void SetDataBit(unsigned int w0, unsigned int h0, void *data0, unsigned int x, unsigned int y, bool bit)
{
if (bit) Set1DataBit(w0, h0, data0, x, y);
else Set0DataBit(w0, h0, data0, x, y);
}
 
struct APosPixel
{
int nblk, sblk;
void *data;
unsigned int x1, y1, value, *item;
 
APosPixel(int w = 0, int h = 0, void *data = 0, int x = 0, int y = 0)
: nblk(GetDataWidth(w) >> 6), sblk(GetDataHeight(h) >> 1),
data(GetDataAddress(data)) {SetTo(x, y);}
void SetTo(int x, int y)
{
unsigned int x2, y2;
x1 = x % nblk; x2 = x / nblk;
y1 = y % sblk; y2 = y / sblk;
item = ((unsigned int*)data) + ((x1*sblk + y1) << 2) + (y2 << 1) + (x2 >> 5);
value = 1U << (x2 & 31);
}
 
bool GetPixel() const {return *item & value;}
void Set1Pixel() const {*item |= value;}
void Set0Pixel() const {*item &= ~value;}
void SetCPixel() const {*item ^= value;}
void SetPixel(bool c) const {if (c) Set1Pixel(); else Set0Pixel();}
 
void AddX1()
{
if (int(++x1) < nblk) {item += sblk << 2; return;}
x1 = 0; item -= (nblk-1) * sblk << 2;
if (!(value <<= 1)) {value = 1; item++;}
}
void SubX1()
{
if (int(--x1) >= 0) {item -= sblk << 2; return;}
x1 = nblk-1; item += (nblk-1) * sblk << 2;
if (!(value >>= 1)) {value = 0x80000000; item--;}
}
void AddY1()
{
if (int(++y1) < sblk) {item += 1 << 2; return;}
y1 = 0; item -= ((sblk-1) << 2) - 2;
}
void SubY1()
{
if (int(--y1) >= 0) {item -= 1 << 2; return;}
y1 = sblk-1; item += ((sblk-1) << 2) - 2;
}
};
 
#endif // __SSE2_LIVE_H_INCLUDED_
/programs/demos/life2/me_cdlg.h
0,0 → 1,100
#ifndef __MENUET_FILE_OPEN_H_INCLUDED_
#define __MENUET_FILE_OPEN_H_INCLUDED_
 
#include <menuet.h>
 
// Menuet interface.
 
namespace Menuet // All menuet functions, types and data are nested in the (Menuet) namespace.
{
struct TOpenFileStruct; // Data for a file open dialog.
#define MENUET_OPEN_FILE_INIT {} // Initializer of the file open struct, cat be redefined in a realization of the library
 
void OpenFileInit(TOpenFileStruct &ofs);
void OpenFileDelete(TOpenFileStruct &ofs);
bool OpenFileDialog(TOpenFileStruct &ofs);
int OpenFileGetState(const TOpenFileStruct &ofs);
bool OpenFileSetState(TOpenFileStruct &ofs, int state);
char *OpenFileGetName(const TOpenFileStruct &ofs);
bool OpenFileSetName(TOpenFileStruct &ofs, char *name);
}
 
#ifdef __MENUET__
 
namespace Menuet
{
// Structures.
 
struct TOpenFileStruct
{
int state;
char *name;
};
#undef MENUET_OPEN_FILE_INIT
#define MENUET_OPEN_FILE_INIT {0,0}
 
// Inline functions.
 
inline void OpenFileInit(TOpenFileStruct &ofs)
{
ofs.state = 0;
ofs.name = 0;
}
 
inline void OpenFileDelete(TOpenFileStruct &ofs)
{
if (ofs.name) {Free(ofs.name); ofs.name = 0;}
}
 
inline int OpenFileGetState(const TOpenFileStruct &ofs)
{
return ofs.state;
}
 
inline char *OpenFileGetName(const TOpenFileStruct &ofs)
{
return ofs.name;
}
 
// Functions.
 
bool OpenFileSetState(TOpenFileStruct &ofs, int state)
{
if (!ofs.state) return !state;
if (ofs.state == state) return true;
if (state < 0) return false;
ofs.state = state;
return true;
}
 
bool OpenFileSetName(TOpenFileStruct &ofs, char *name)
{
if (!ofs.name && !name) return true;
if (ofs.name) Free(ofs.name);
if (!name) {ofs.name = 0; return true;}
ofs.name = (char*)Alloc(StrLen(name) + 1);
if (!ofs.name) return false;
StrCopy(ofs.name, name);
return true;
}
}
 
#else // else: def __MENUET__
 
namespace Menuet
{
struct TOpenFileStruct
{
unsigned int data;
 
TOpenFileStruct();
~TOpenFileStruct();
};
#undef MENUET_OPEN_FILE_INIT
#define MENUET_OPEN_FILE_INIT TOpenFileStruct()
}
 
#endif // __MENUET__
 
#endif // __MENUET_FILE_OPEN_H_INCLUDED_
 
/programs/demos/life2/me_cdlg.inc
0,0 → 1,173
define @Menuet@OpenFileDialog$qr22Menuet@TOpenFileStruct
push ebx
push esi
push edi
push ebp
call @Menuet@GetThreadData$qv
mov ebp,eax
mov ebx,[esp+20]
cmp dword [ebx+4],0
jnz Menuet_open_file_dlg_str
mov esi,7
jmp Menuet_open_file_dlg_alloc
Menuet_open_file_dlg_str:
cld
mov edi,[ebx+4]
mov ecx,-1
xor al,al
repnz scas byte [edi]
not ecx
mov esi,ecx
Menuet_open_file_dlg_alloc:
push esi
call @@Menuet@Alloc$qui
pop ecx
test eax,eax
jz Menuet_open_file_dlg_ret
mov ecx,esi
dec ecx
push esi
push ecx
push eax
mov dword [ebx],-1
cmp dword [ebx+4],0
jnz Menuet_open_file_dlg_copy
mov dword [eax],0x2F64722F
mov word [eax+4],0x2F31
jmp Menuet_open_file_dlg_redraw
Menuet_open_file_dlg_copy:
cld
mov ecx,esi
mov esi,[ebx+4]
mov edi,eax
rep movs byte [edi],[esi]
Menuet_open_file_dlg_redraw:
mov eax,12
mov ebx,1
int 0x40
xor eax,eax
mov ebx,[ebp+MENUET_THREAD_DATA_X*4]
mov ecx,[ebp+MENUET_THREAD_DATA_Y*4]
mov edx,[ebp+MENUET_THREAD_DATA_C_WINDOW*4]
mov esi,[ebp+MENUET_THREAD_DATA_C_HEADER*4]
mov edi,[ebp+MENUET_THREAD_DATA_C_BORDER*4]
int 0x40
mov eax,4
mov ebx,0x00070007
mov ecx,[ebp+MENUET_THREAD_DATA_C_TITLE*4]
mov edx,Menuet_open_file_dlg_name
mov esi,Menuet_open_file_dlg_name_end - Menuet_open_file_dlg_name
int 0x40
mov eax,4
mov ebx,0x000C001E
xor ecx,ecx
mov edx,[esp]
mov esi,[esp+4]
int 0x40
mov eax,12
mov ebx,2
int 0x40
Menuet_open_file_dlg_loop:
mov eax,10
int 0x40
dec eax
jz Menuet_open_file_dlg_redraw
dec eax
jz Menuet_open_file_dlg_key
dec eax
jz Menuet_open_file_dlg_end
jmp Menuet_open_file_dlg_loop
Menuet_open_file_dlg_key:
xor edi,edi
Menuet_open_file_dlg_key_loop:
mov eax,2
int 0x40
test al,al
jnz Menuet_open_file_dlg_key_end
cmp ah,27
jz Menuet_open_file_dlg_end
cmp ah,13
jz Menuet_open_file_dlg_apply
cmp ah,8
jz Menuet_open_file_dlg_key_bsp
cmp ah,32
jna Menuet_open_file_dlg_key_loop
mov ebx,[esp+4]
cmp ebx,[esp+8]
jb Menuet_open_file_dlg_key_any
lea esi,[ebx+2*ebx]
shr esi,1
inc esi
push eax
push esi
push dword [esp+8]
call @@Menuet@ReAlloc$qpvui
add esp,8
mov ecx,eax
pop eax
test ecx,ecx
jz Menuet_open_file_dlg_key
mov [esp+8],esi
mov [esp],ecx
Menuet_open_file_dlg_key_any:
mov esi,ebx
add esi,[esp]
mov byte [esi],ah
inc ebx
mov edi,1
mov [esp+4],ebx
jmp Menuet_open_file_dlg_key_loop
Menuet_open_file_dlg_key_bsp:
mov eax,[esp+4]
test eax,eax
jz Menuet_open_file_dlg_key_loop
dec eax
mov edi,1
mov [esp+4],eax
jmp Menuet_open_file_dlg_key_loop
Menuet_open_file_dlg_key_end:
test edi,edi
jnz Menuet_open_file_dlg_redraw
jmp Menuet_open_file_dlg_loop
Menuet_open_file_dlg_apply:
mov eax,[esp+4]
inc eax
mov [esp+8],eax
push eax
push dword [esp+4]
call @@Menuet@ReAlloc$qpvui
add esp,8
test eax,eax
jz Menuet_open_file_dlg_end
mov eax,[esp]
mov esi,eax
add eax,[esp+4]
mov byte [eax],0
add esp,12
mov ebx,[esp+20]
mov dword [ebx],2
push dword [ebx+4]
call @@Menuet@Free$qpv
pop ecx
mov [ebx+4],esi
jmp Menuet_open_file_dlg_invalidate
Menuet_open_file_dlg_end:
call @@Menuet@Free$qpv
add esp,12
mov ebx,[esp+20]
mov dword [ebx],1
Menuet_open_file_dlg_invalidate:
push ebp
push dword 1
call @@Menuet@Invalidate$qippv
add esp,8
Menuet_open_file_dlg_ret:
pop ebp
pop edi
pop esi
pop ebx
ret
Menuet_open_file_dlg_name:
db 'Open file'
Menuet_open_file_dlg_name_end:
enddef
/programs/demos/life2/me_cdlg_win.cpp
0,0 → 1,116
#include <windows.h>
#include <commdlg.h>
 
#include <menuet.h>
#include <me_heap.h>
#include "me_cdlg.h"
 
using namespace Menuet;
 
extern HINSTANCE hInstance;
 
struct TThreadDataStruct
{
void *user;
void *stack_begin;
TWindowData *win_data;
HWND hwnd;
int flag;
unsigned int win_time, me_time;
void *picture;
unsigned int picture_width, picture_height;
void *keys;
unsigned int bmp_data_length;
unsigned int *bmp_data;
unsigned int mouse_state;
};
 
struct TOpenFileData
{
int state;
char name[1];
};
 
namespace Menuet
{
TOpenFileStruct::TOpenFileStruct() : data(0) {}
 
TOpenFileStruct::~TOpenFileStruct()
{
if (data) {delete[] (char*)data; data = 0;}
}
 
void OpenFileInit(TOpenFileStruct &ofs) {ofs.data = 0;}
 
void OpenFileDelete(TOpenFileStruct &ofs)
{
if (ofs.data) {delete[] (char*)ofs.data; ofs.data = 0;}
}
 
bool OpenFileDialog(TOpenFileStruct &ofs)
{
char CustomFilter[300], *name;
int size;
CustomFilter[0] = 0; CustomFilter[1] = 0;
if (!OpenFileSetState(ofs, 0)) return false;
OPENFILENAME ofn = {sizeof(OPENFILENAME), ((TThreadDataStruct*)GetThreadData())->hwnd,
hInstance, "All files (*.*)\0*.*\0",
CustomFilter, sizeof(CustomFilter)-1, 1, NULL, 0, NULL, 0, NULL, NULL,
OFN_HIDEREADONLY | OFN_EXPLORER, 0, 0, "", 0, NULL, 0};
size = 0;
if (ofs.data) size = strlen(((TOpenFileData*)ofs.data)->name) + 1;
if (size < 10000) size = 10000;
name = new char[size + 1];
if (!name) return false;
if (ofs.data) strcpy(name, ((TOpenFileData*)ofs.data)->name);
else name[0] = 0;
ofn.lpstrFile = &name[0]; ofn.nMaxFile = size;
size = GetOpenFileName(&ofn) == TRUE;
if (OpenFileSetName(ofs, name))
{
((TOpenFileData*)ofs.data)->state = (size ? 2 : 1);
}
else size = 0;
delete[] name;
return (bool)size;
}
 
int OpenFileGetState(const TOpenFileStruct &ofs)
{
return ofs.data ? ((TOpenFileData*)ofs.data)->state : 0;
}
 
bool OpenFileSetState(TOpenFileStruct &ofs, int state)
{
if (!ofs.data || !((TOpenFileData*)ofs.data)->state) return !state;
if (((TOpenFileData*)ofs.data)->state == state) return true;
if (state < 0) return false;
((TOpenFileData*)ofs.data)->state = state;
return true;
}
 
char *OpenFileGetName(const TOpenFileStruct &ofs)
{
if (!ofs.data) return 0;
else return ((TOpenFileData*)ofs.data)->name;
}
 
bool OpenFileSetName(TOpenFileStruct &ofs, char *name)
{
if (!ofs.data && !name) return true;
int size = (unsigned int)(((TOpenFileData*)0)->name) + 1;
int state = 0;
if (name) size += strlen(name);
if (ofs.data)
{
state = ((TOpenFileData*)ofs.data)->state;
delete[] (char*)ofs.data;
}
ofs.data = (unsigned int)(new char[size]);
if (!ofs.data) return false;
((TOpenFileData*)ofs.data)->state = state;
if (name) strcpy(((TOpenFileData*)ofs.data)->name, name);
else ((TOpenFileData*)ofs.data)->name[0] = 0;
return true;
}
}
/programs/demos/life2/me_make.inc
0,0 → 1,13
;//NAME// life2.cpp
;//COMPILER// bcc32 -S -v- -R- -6 -a4 -O2 -Og -Oi -Ov -OS -k- -D__MENUET__ -Iinclude
;//UTIL_PATH// .
 
STACKSIZE equ 102400
HEAPSIZE equ 102400
 
include "include\me_start.inc"
include "include\me_func.inc"
include "include\me_heap.inc"
include "me_cdlg.inc"
include "mmxlife.inc"
;include "sse2life.inc"
/programs/demos/life2/mmxlife.inc
0,0 → 1,320
;// fast life generator: ~2.2 pixel*generation/tact
 
macro live_shl x,do_shl
{
if do_shl eq yes
psllq x,1
end if
}
 
macro live_shr x,do_shr
{
if do_shr eq yes
psrlq x,1
end if
}
 
macro live_zero x,y
{
pxor x,x
movq y,x
}
 
macro live_load x,y,z,t,shl_edi,shr_esi
{
movq y,[edi+ecx]
movq x,[ebx+ecx]
live_shl y,shl_edi
movq t,y
pxor y,x
movq z,[esi+ecx]
pand x,t
live_shr z,shr_esi
movq t,y
pxor y,z
pand t,z
por x,t
}
 
macro live_operation a,A,b,B,c,C,d,D,shift
{
movq D,A
pxor A,B
pand D,B
movq d,a
pxor a,D
pand d,D
movq D,a
pxor a,b
pand D,b
por d,D
movq D,a
pxor a,c
pand D,c
pxor d,D
pxor a,d
movq D,A
por D,C
pxor A,C
pxor d,D
por A,[ebx+shift+16]
pand a,d
pand a,A
movq [ebp+shift],a
}
 
macro live_cycle shl_edi,shr_esi
{
local cycle
local cycle_entry
local last_oper
lea ecx,[edx-8]
live_zero mm2,mm3
live_load mm4,mm5,mm6,mm7,shl_edi,shr_esi
sub ecx,eax
jmp cycle_entry
cycle:
live_load mm4,mm5,mm6,mm7,shl_edi,shr_esi
live_operation mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7,ecx
sub ecx,eax
cycle_entry:
live_load mm6,mm7,mm0,mm1,shl_edi,shr_esi
live_operation mm2,mm3,mm4,mm5,mm6,mm7,mm0,mm1,ecx
sub ecx,eax
live_load mm0,mm1,mm2,mm3,shl_edi,shr_esi
live_operation mm4,mm5,mm6,mm7,mm0,mm1,mm2,mm3,ecx
sub ecx,eax
live_load mm2,mm3,mm4,mm5,shl_edi,shr_esi
live_operation mm6,mm7,mm0,mm1,mm2,mm3,mm4,mm5,ecx
sub ecx,eax
jnl cycle
cmp cl,-8
jnz last_oper
lea ecx,[edx-16]
live_load mm4,mm5,mm6,mm7,shl_edi,shr_esi
live_operation mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7,-8
sub ecx,eax
jmp cycle_entry
last_oper:
live_zero mm4,mm5
live_operation mm0,mm1,mm2,mm3,mm4,mm5,mm6,mm7,ecx
}
 
OneGeneration_Flag12:
push edi
lea esi,[eax+1]
bt dword [esp+48],1
jnc OneGeneration_flag2_end
bt dword [esp+48],3
jc OneGeneration_flag2_end
mov edi,[esp+36]
shl edi,4
cmp edi,edx
jb OneGeneration_flag2_uphalf
sub edi,edx
cmp edi,edx
jnb OneGeneration_flag2_end
add edi,8
OneGeneration_flag2_uphalf:
mov ecx,esi
add edi,ebx
pxor mm0,mm0
OneGeneration_flag2_cycle:
movq [edi],mm0
add edi,edx
loop OneGeneration_flag2_cycle
OneGeneration_flag2_end:
bt dword [esp+48],0
jnc OneGeneration_flag1_end
bt dword [esp+48],2
jc OneGeneration_flag1_end
push edx
mov eax,[esp+36]
xor edx,edx
div esi
mov esi,edx
pop edx
cmp eax,64
jnb OneGeneration_flag1_end
imul esi,edx
add esi,ebx
btr eax,5
jnc OneGeneration_flag1_noadd4
add esi,4
OneGeneration_flag1_noadd4:
lea ecx,[edx-8]
mov edi,8
OneGeneration_flag1_cycle:
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
jnl OneGeneration_flag1_cycle
OneGeneration_flag1_end:
pop edi
ret
 
@OneGeneration$qqsiipvpxvi:
push ebp
push ebx
push esi
push edi
mov eax,[esp+20]
mov edx,[esp+24]
mov ebp,[esp+28]
mov ebx,[esp+32]
dec eax
jl OneGeneration_end
add edx,7
add ebp,31
add ebx,15
shr eax,6
shl edx,3
and ebp,not 15
and ebx,not 15
and edx,not 63
jng OneGeneration_end
test eax,eax
jz OneGeneration_single
mov edi,edx
imul edi,eax
jo OneGeneration_end
push eax
add edi,ebx
call OneGeneration_Flag12
lea esi,[ebx+edx]
push dword [esp]
mov eax,16
live_cycle yes,no
jmp OneGeneration_cycle_fin
OneGeneration_cycle:
mov edi,ebx
mov ebx,esi
add ebp,edx
add esi,edx
live_cycle no,no
OneGeneration_cycle_fin:
dec dword [esp]
jg OneGeneration_cycle
mov edi,ebx
pop ecx
mov ebx,esi
mov esi,edx
add ebp,edx
imul esi,[esp]
neg esi
add esi,ebx
live_cycle no,yes
jmp OneGeneration_flag48
OneGeneration_single:
push eax
mov edi,ebx
call OneGeneration_Flag12
mov esi,ebx
mov eax,16
live_cycle yes,yes
OneGeneration_flag48:
pop ebp
inc ebp
bt dword [esp+36],3
jnc OneGeneration_flag8_end
mov edi,[esp+24]
mov ebx,[esp+28]
dec edi
add ebx,15
shl edi,4
lea esi,[edi-16]
and ebx,not 15
cmp edi,edx
jb OneGeneration_flag8_uphalf
sub edi,edx
add edi,8
cmp esi,edx
jb OneGeneration_flag8_uphalf
sub esi,edx
add esi,8
OneGeneration_flag8_uphalf:
mov ecx,ebp
OneGeneration_flag8_cycle:
movq mm0,[ebx+esi]
movq [ebx],mm0
movq mm0,[ebx+16]
movq [ebx+edi],mm0
add ebx,edx
loop OneGeneration_flag8_cycle
OneGeneration_flag8_end:
bt dword [esp+36],2
jnc OneGeneration_flag4_end
mov eax,[esp+20]
push edx
dec eax
xor edx,edx
mov ebx,[esp+32]
div ebp
add ebx,15
mov esi,eax
mov edi,edx
and ebx,not 15
dec edx
jl OneGeneration_flag4_dec0
mov ebp,edx
jmp OneGeneration_flag4_after_dec
OneGeneration_flag4_dec0:
dec ebp
dec eax
OneGeneration_flag4_after_dec:
pop edx
imul edi,edx
imul ebp,edx
add edi,ebx
add ebp,ebx
btr esi,5
jnc OneGeneration_flag4_noadd4f
add edi,4
OneGeneration_flag4_noadd4f:
btr eax,5
jnc OneGeneration_flag4_noadd4s
add ebp,4
OneGeneration_flag4_noadd4s:
mov ecx,edx
jmp OneGeneration_flag4_cycle0_entry
OneGeneration_flag4_cycle0:
btr dword [ebx+ecx],0
OneGeneration_flag4_cycle0_entry:
sub ecx,8
jl OneGeneration_flag4_cycle0_end
bt dword [ebp+ecx],eax
jnc OneGeneration_flag4_cycle0
bts dword [ebx+ecx],0
jmp OneGeneration_flag4_cycle0_entry
OneGeneration_flag4_cycle0_end:
xor eax,eax
cmp dword [esp+20],64
jng OneGeneration_flag4_single
add ebx,edx
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_single:
inc eax
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_cycle1:
btr dword [edi+edx],esi
OneGeneration_flag4_cycle1_entry:
sub edx,8
jl OneGeneration_flag4_end
bt dword [ebx+edx],eax
jnc OneGeneration_flag4_cycle1
bts dword [edi+edx],esi
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_end:
emms
OneGeneration_end:
pop edi
pop esi
pop ebx
pop ebp
ret 20
 
/programs/demos/life2/sse2life.inc
0,0 → 1,318
;// fast life generator: ~2.8 pixel*generation/tact
 
macro live_shl x,do_shl
{
if do_shl eq yes
psllq x,1
end if
}
 
macro live_shr x,do_shr
{
if do_shr eq yes
psrlq x,1
end if
}
 
macro live_mov x,reg,how
{
if how eq low
xorps x,x
movlps x,[reg+24]
else if how eq high
xorps x,x
movhps x,[reg+edx]
else
movaps x,[reg+ecx]
end if
}
 
macro live_load x,y,z,t,shl_edi,shr_esi,how
{
live_mov y,edi,how
live_mov x,ebx,how
live_shl y,shl_edi
movaps t,y
xorps y,x
live_mov z,esi,how
andps x,t
live_shr z,shr_esi
movaps t,y
xorps y,z
andps t,z
orps x,t
}
 
macro live_operation a,A,b,B,c,C,d,D
{
movaps D,A
xorps A,B
andps D,B
movaps d,a
xorps a,D
andps d,D
movaps D,a
xorps a,b
andps D,b
orps d,D
movaps D,a
xorps a,c
andps D,c
xorps d,D
xorps a,d
movaps D,A
orps D,C
xorps A,C
xorps d,D
orps A,[ebx+ecx+16]
andps a,d
andps a,A
movaps [ebp+ecx],a
}
 
macro live_cycle shl_edi,shr_esi
{
local cycle
local cycle_entry
mov ecx,edx
live_load xmm2,xmm3,xmm4,xmm5,shl_edi,shr_esi,low
live_load xmm4,xmm5,xmm6,xmm7,shl_edi,shr_esi
sub ecx,eax
jmp cycle_entry
cycle:
live_load xmm4,xmm5,xmm6,xmm7,shl_edi,shr_esi
live_operation xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7
sub ecx,eax
cycle_entry:
live_load xmm6,xmm7,xmm0,xmm1,shl_edi,shr_esi
live_operation xmm2,xmm3,xmm4,xmm5,xmm6,xmm7,xmm0,xmm1
sub ecx,eax
live_load xmm0,xmm1,xmm2,xmm3,shl_edi,shr_esi
live_operation xmm4,xmm5,xmm6,xmm7,xmm0,xmm1,xmm2,xmm3
sub ecx,eax
live_load xmm2,xmm3,xmm4,xmm5,shl_edi,shr_esi
live_operation xmm6,xmm7,xmm0,xmm1,xmm2,xmm3,xmm4,xmm5
sub ecx,eax
jg cycle
live_load xmm4,xmm5,xmm6,xmm7,shl_edi,shr_esi,high
live_operation xmm0,xmm1,xmm2,xmm3,xmm4,xmm5,xmm6,xmm7
}
 
OneGeneration_Flag12:
push edi
lea esi,[eax+1]
bt dword [esp+48],1
jnc OneGeneration_flag2_end
bt dword [esp+48],3
jc OneGeneration_flag2_end
mov edi,[esp+36]
shl edi,4
cmp edi,edx
jb OneGeneration_flag2_uphalf
sub edi,edx
cmp edi,edx
jnb OneGeneration_flag2_end
add edi,8
OneGeneration_flag2_uphalf:
mov ecx,esi
lea edi,[edi+ebx+16]
pxor mm0,mm0
OneGeneration_flag2_cycle:
movq [edi],mm0
add edi,edx
loop OneGeneration_flag2_cycle
OneGeneration_flag2_end:
bt dword [esp+48],0
jnc OneGeneration_flag1_end
bt dword [esp+48],2
jc OneGeneration_flag1_end
push edx
mov eax,[esp+36]
xor edx,edx
div esi
mov esi,edx
pop edx
cmp eax,64
jnb OneGeneration_flag1_end
imul esi,edx
lea esi,[esi+ebx+16]
btr eax,5
jnc OneGeneration_flag1_noadd4
add esi,4
OneGeneration_flag1_noadd4:
lea ecx,[edx-8]
mov edi,8
OneGeneration_flag1_cycle:
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
btr dword [esi+ecx],eax
sub ecx,edi
jnl OneGeneration_flag1_cycle
OneGeneration_flag1_end:
pop edi
ret
 
@OneGeneration$qqsiipvpxvi:
push ebp
push ebx
push esi
push edi
mov eax,[esp+20]
mov edx,[esp+24]
mov ebp,[esp+28]
mov ebx,[esp+32]
dec eax
jl OneGeneration_end
add edx,7
add ebp,15
dec ebx
shr eax,6
shl edx,3
and ebp,not 15
and ebx,not 15
and edx,not 63
jng OneGeneration_end
test eax,eax
jz OneGeneration_single
mov edi,edx
imul edi,eax
jo OneGeneration_end
push eax
add edi,ebx
call OneGeneration_Flag12
lea esi,[ebx+edx]
push dword [esp]
mov eax,16
live_cycle yes,no
jmp OneGeneration_cycle_fin
OneGeneration_cycle:
mov edi,ebx
mov ebx,esi
add ebp,edx
add esi,edx
live_cycle no,no
OneGeneration_cycle_fin:
dec dword [esp]
jg OneGeneration_cycle
mov edi,ebx
pop ecx
mov ebx,esi
mov esi,edx
add ebp,edx
imul esi,[esp]
neg esi
add esi,ebx
live_cycle no,yes
jmp OneGeneration_flag48
OneGeneration_single:
push eax
mov edi,ebx
call OneGeneration_Flag12
mov esi,ebx
mov eax,16
live_cycle yes,yes
OneGeneration_flag48:
pop ebp
inc ebp
bt dword [esp+36],3
jnc OneGeneration_flag8_end
mov edi,[esp+24]
mov ebx,[esp+28]
dec edi
add ebx,15
shl edi,4
lea esi,[edi-16]
and ebx,not 15
cmp edi,edx
jb OneGeneration_flag8_uphalf
sub edi,edx
add edi,8
cmp esi,edx
jb OneGeneration_flag8_uphalf
sub esi,edx
add esi,8
OneGeneration_flag8_uphalf:
mov ecx,ebp
OneGeneration_flag8_cycle:
movq mm0,[ebx+esi]
movq [ebx],mm0
movq mm0,[ebx+16]
movq [ebx+edi],mm0
add ebx,edx
loop OneGeneration_flag8_cycle
OneGeneration_flag8_end:
bt dword [esp+36],2
jnc OneGeneration_flag4_end
mov eax,[esp+20]
push edx
dec eax
xor edx,edx
mov ebx,[esp+32]
div ebp
add ebx,15
mov esi,eax
mov edi,edx
and ebx,not 15
dec edx
jl OneGeneration_flag4_dec0
mov ebp,edx
jmp OneGeneration_flag4_after_dec
OneGeneration_flag4_dec0:
dec ebp
dec eax
OneGeneration_flag4_after_dec:
pop edx
imul edi,edx
imul ebp,edx
add edi,ebx
add ebp,ebx
btr esi,5
jnc OneGeneration_flag4_noadd4f
add edi,4
OneGeneration_flag4_noadd4f:
btr eax,5
jnc OneGeneration_flag4_noadd4s
add ebp,4
OneGeneration_flag4_noadd4s:
mov ecx,edx
jmp OneGeneration_flag4_cycle0_entry
OneGeneration_flag4_cycle0:
btr dword [ebx+ecx],0
OneGeneration_flag4_cycle0_entry:
sub ecx,8
jl OneGeneration_flag4_cycle0_end
bt dword [ebp+ecx],eax
jnc OneGeneration_flag4_cycle0
bts dword [ebx+ecx],0
jmp OneGeneration_flag4_cycle0_entry
OneGeneration_flag4_cycle0_end:
xor eax,eax
cmp dword [esp+20],64
jng OneGeneration_flag4_single
add ebx,edx
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_single:
inc eax
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_cycle1:
btr dword [edi+edx],esi
OneGeneration_flag4_cycle1_entry:
sub edx,8
jl OneGeneration_flag4_end
bt dword [ebx+edx],eax
jnc OneGeneration_flag4_cycle1
bts dword [edi+edx],esi
jmp OneGeneration_flag4_cycle1_entry
OneGeneration_flag4_end:
emms
OneGeneration_end:
pop edi
pop esi
pop ebx
pop ebp
ret 20
 
/programs/demos/life2/t2fasm.cpp
0,0 → 1,420
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <cstring>
#include <string>
using namespace std;
 
char str[20000], *word[100];
int wordlen[sizeof(word) / sizeof(word[0])];
 
char words_ignore[100][100] = { "?debug",
"if",
"ifdef",
"ifndef",
"endif",
"macro",
"endm",
"dgroup",
"assume",
"segment",
"ends",
"public",
"proc",
"endp",
"extrn",
"model",
"label",
"end",
""};
 
#define WI_macro (words_ignore[5])
#define WI_endm (words_ignore[6])
#define WI_segment (words_ignore[9])
#define WI_ends (words_ignore[10])
#define WI_proc (words_ignore[12])
#define WI_endp (words_ignore[13])
#define WI_label (words_ignore[16])
const char *WI_END = "END";
 
int nwords_ignore = -1;
char *words_ign_sort[sizeof(words_ignore) / sizeof(words_ignore[0])];
 
int strcmp1(const char *s0, int n0, const char *s1, int n1)
{
while (n0 && n1)
{
n0--; n1--;
int c = (int)tolower(*s0) - (int)tolower(*s1);
if (c < 0) return -1;
if (c > 0) return 1;
if (!*(s0++) || !*(s1++)) return 0;
}
if (n0 && *s0) return 1;
if (n1 && *s1) return -1;
return 0;
}
 
int strlen1(const char *s, int n)
{
int i = 0;
while (i < n && s[i]) i++;
return i;
}
 
char *strcpy1(char *r, const char *s, int n)
{
char *r0 = r;
while (n-- && *s) *(r++) = *(s++);
*r = 0;
return r0;
}
 
char *strchr1(char *s, int n, char c)
{
while (n-- && *s)
{
if (*s == c) return s;
s++;
}
return 0;
}
 
char *first_not_space(char *s)
{
while (*s && isspace(*s)) s++;
return s;
}
 
char get_word(char *s)
{
int i = 0, k;
for (k = 0; k < sizeof(word) / sizeof(word[0]); k++)
{
s = first_not_space(s + i);
word[k] = s;
i = 0;
while (s[i] && !isspace(s[i]) && s[i] != ';' && s[i] != ',' && s[i] != ':')
{
i++;
}
if (i == 0)
{
if (s[i] != ',' && s[i] != ':') break;
i = 1;
}
wordlen[k] = i;
}
for (; k < sizeof(word) / sizeof(word[0]); k++)
{
word[k] = s; wordlen[k] = 0;
}
return s[i];
}
 
void build_words_ignore()
{
int i, j;
nwords_ignore = 0;
while (words_ignore[nwords_ignore][0])
{
words_ign_sort[nwords_ignore] = words_ignore[nwords_ignore];
nwords_ignore++;
}
for (i = 0; i < nwords_ignore; i++) for (j = 0; j < i; j++)
{
if (strcmp1(words_ign_sort[j], -1, words_ign_sort[i], -1) > 0)
{
char *s = words_ign_sort[j];
words_ign_sort[j] = words_ign_sort[i];
words_ign_sort[i] = s;
}
}
words_ign_sort[nwords_ignore] = words_ignore[nwords_ignore];
}
 
int find_word_ign_sort(const char *s, int n)
{
int i0, i1, i;
if (nwords_ignore < 0) build_words_ignore();
i0 = -1; i1 = nwords_ignore;
while (i1 > i0 + 1)
{
i = (i0 + i1) / 2;
if (strcmp1(s, n, words_ign_sort[i], -1) > 0) i0 = i;
else i1 = i;
}
return i1;
}
 
char *find_word_ignore(const char *s, int n)
{
int i = find_word_ign_sort(s, n);
return (strcmp1(s, n, words_ign_sort[i], -1) == 0) ? words_ign_sort[i] : 0;
}
 
char *add_word_ignore(const char *s, int n)
{
int i = find_word_ign_sort(s, n), j;
if (strcmp1(s, n, words_ign_sort[i], -1) != 0)
{
if (s[0] && strlen1(s, n) < sizeof(words_ignore[0]) &&
words_ignore[nwords_ignore+1] < words_ignore[0] + sizeof(words_ignore))
{
strcpy1(words_ignore[nwords_ignore], s, n);
words_ignore[nwords_ignore+1][0] = 0;
for (j = nwords_ignore; j >= i; j--) words_ign_sort[j+1] = words_ign_sort[j];
words_ign_sort[i] = words_ignore[nwords_ignore];
nwords_ignore++;
words_ign_sort[nwords_ignore] = words_ignore[nwords_ignore];
}
else return 0;
}
return words_ign_sort[i];
}
 
struct CSegment
{
char name[100];
int state;
string text;
};
 
int nsegment = 0, cursegment = 0, stack_segment[50], nstack_segment = 0;
CSegment segment[100];
 
void push_stack_segment()
{
if (nstack_segment < sizeof(stack_segment) / sizeof(stack_segment[0]))
{
stack_segment[nstack_segment] = cursegment;
}
nstack_segment++;
}
 
void pop_stack_segment()
{
if (nstack_segment > 0) nstack_segment--;
if (nstack_segment < sizeof(stack_segment) / sizeof(stack_segment[0]))
{
cursegment = stack_segment[nstack_segment];
}
}
 
void newsegment()
{
segment[nsegment].name[0] = 0;
segment[nsegment].state = 0;
segment[nsegment].text = "";
cursegment = nsegment++;
}
 
void tosegment(char *name, int nameL)
{
int i;
cursegment = 0;
if (strlen1(name, nameL) >= sizeof(segment[0].name)) return;
for (i = 0; i < nsegment; i++)
{
if (strcmp1(name, nameL, segment[i].name, -1) == 0)
{
cursegment = i;
return;
}
}
if (nsegment >= sizeof(segment) / sizeof(segment[0])) return;
newsegment();
strcpy1(segment[cursegment].name, name, nameL);
}
 
void outsegment()
{
if (segment[cursegment].state == 0) return;
fputs("\nsegment", stdout);
if (segment[cursegment].name[0])
{
fputc(' ', stdout);
fputs(segment[cursegment].name, stdout);
}
fputc('\n', stdout);
fputs(segment[cursegment].text.c_str(), stdout);
fputs("endseg", stdout);
if (segment[cursegment].name[0])
{
fputs(" ", stdout);
fputs(segment[cursegment].name, stdout);
}
fputc('\n', stdout);
}
 
void transform_label(int in_define, bool label = false)
{
if (in_define)
{
memmove(str + 8, word[0], wordlen[0]);
memcpy(str, "nextdef ", 8);
str[wordlen[0]+8] = '\n';
str[wordlen[0]+9] = 0;
}
else if (label)
{
memmove(str, word[0], wordlen[0]);
str[wordlen[0]] = ':';
str[wordlen[0]+1] = '\n';
str[wordlen[0]+2] = 0;
}
segment[cursegment].state |= 4;
}
 
int main()
{
char *s;
int in_macro = 0, in_define = 0, i;
newsegment();
for (;;)
{
i = sizeof(str) - 200;
if (!fgets(str, i, stdin)) break;
if ((s = strchr(str, '\n')) == NULL)
{
if (strlen(str) < i-1) strcat(str, "\n");
else
{
while (fgets(str, sizeof(str), stdin))
{
if (strchr(str, '\n')) break;
}
continue;
}
}
char* p;
while (p=strstr(str,"st("))
{
p[2]=p[3];
memmove(p+3,p+5,strlen(p+5)+1);
}
get_word(str);
if (word[1][0] == ':') transform_label(in_define, false);
else
{
if (word[0][0] == '.') continue;
if (strcmp1(word[0], wordlen[0], WI_macro, -1) == 0 ||
strcmp1(word[1], wordlen[1], WI_macro, -1) == 0)
{
add_word_ignore(word[0], wordlen[0]);
in_macro++;
continue;
}
if (strcmp1(word[0], wordlen[0], WI_endm, -1) == 0)
{
if (in_macro > 0) in_macro--;
continue;
}
if (strcmp1(word[1], wordlen[1], WI_segment, -1) == 0)
{
push_stack_segment();
add_word_ignore(word[0], wordlen[0]);
tosegment(word[0], wordlen[0]);
continue;
}
if (strcmp1(word[1], wordlen[1], WI_ends, -1) == 0)
{
pop_stack_segment();
continue;
}
if (find_word_ignore(word[0], wordlen[0])) continue;
if (wordlen[0] == 0 || strcmp1(word[0], wordlen[0], "align", -1) == 0)
{
if (word[0][0] == 0) {str[0] = '\n'; str[1] = 0;}
}
else if (strcmp1(word[1], wordlen[1], WI_endp, -1) == 0)
{
if (in_define > 0) strcpy(str, (--in_define) ? "newdef\n" : "enddef\n");
}
else if (strcmp1(word[1], wordlen[1], WI_proc, -1) == 0)
{
memmove(str + 8, word[0], wordlen[0]);
memcpy(str, (in_define++) ? "newdef " : "define ", 8);
str[wordlen[0]+8] = '\n';
str[wordlen[0]+9] = 0;
segment[cursegment].state |= 4;
}
else if (strcmp1(word[1], wordlen[1], WI_label, -1) == 0)
{
transform_label(in_define, true);
}
else
{
for (i = 0; i <= 1; i++)
{
if (strcmp1(word[i], wordlen[i], "db", -1) == 0 &&
wordlen[i+2] >= 3 && strcmp1(word[i+2], 3, "dup", 3) == 0)
{
if (word[i][0] == 'd') word[i][0] = 'r';
else if (word[i][0] == 'D') word[i][0] = 'R';
word[i+1][wordlen[i+1]] = '\n';
word[i+1][wordlen[i+1]+1] = 0;
segment[cursegment].state |= 2;
break;
}
}
if (i > 1)
{
int word_shift = 0;
for (i = 1; i < sizeof(word) / sizeof(word[0]); i++)
{
word[i] += word_shift;
if (wordlen[i] >= 4 && word[i][0] != '[' &&
word[i][wordlen[i]-1] == ']' &&
(s = strchr1(word[i], wordlen[i], '[')) != 0)
{
*s = '+';
memmove(word[i] + 1, word[i], strlen(word[i]) + 1);
word[i][0] = '[';
wordlen[i]++;
word_shift++;
}
else if (wordlen[i] >= 1 && !strchr1(word[i], wordlen[i], '[') &&
strcmp1(word[i-1], wordlen[i-1], "ptr", -1) == 0)
{
memmove(word[i] + wordlen[i] + 2, word[i] + wordlen[i],
strlen(word[i] + wordlen[i]) + 1);
memmove(word[i] + 1, word[i], wordlen[i]);
word[i][0] = '['; word[i][wordlen[i] + 1] = ']';
wordlen[i] += 2;
word_shift += 2;
}
else if (wordlen[i] >= 5 && word[i][wordlen[i]-1] == ')' &&
strcmp1(word[i], wordlen[i], "st(", -1))
{
memmove(word[i] + 2, word[i] + 3, wordlen[i] - 4);
memmove(word[i] + wordlen[i] - 2, word[i] + wordlen[i],
strlen(word[i] + wordlen[i]) + 1);
word_shift -= 2;
}
}
segment[cursegment].state |= 1;
}
}
}
if (in_macro) continue;
if ((s = strchr(str, ';')) != NULL)
{
s[0] = '\n'; s[1] = 0;
if (!first_not_space(str)[0]) continue;
}
segment[cursegment].text += str;
}
for (cursegment = 0; cursegment < nsegment; cursegment++)
{
if ((segment[cursegment].state & 3) != 2) outsegment();
}
fputs("\nI_END:\n", stdout);
for (cursegment = 0; cursegment < nsegment; cursegment++)
{
if ((segment[cursegment].state & 3) == 2) outsegment();
}
fputs("\nalign 0x10\nU_END:\n", stdout);
return 0;
}
 
/programs/demos/life2/t2fasm.exe
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/programs/demos/life2
Property changes:
Added: tsvn:logminsize
+5
\ No newline at end of property