mirror of
https://github.com/KolibriOS/kolibrios.git
synced 2024-11-27 03:09:59 +03:00
Added sources of life2 demo to SVN.
git-svn-id: svn://kolibrios.org@1769 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
7bc3bc518a
commit
2bf6bb3b5b
195
programs/demos/life2/bmp2h.cpp
Normal file
195
programs/demos/life2/bmp2h.cpp
Normal file
@ -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;
|
||||
}
|
BIN
programs/demos/life2/bmp2h.exe
Normal file
BIN
programs/demos/life2/bmp2h.exe
Normal file
Binary file not shown.
7
programs/demos/life2/compile.txt
Normal file
7
programs/demos/life2/compile.txt
Normal file
@ -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.
|
3
programs/demos/life2/cpp2asm.bat
Normal file
3
programs/demos/life2/cpp2asm.bat
Normal file
@ -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
|
278
programs/demos/life2/include/me_file.h
Normal file
278
programs/demos/life2/include/me_file.h
Normal file
@ -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_
|
||||
|
1124
programs/demos/life2/include/me_func.inc
Normal file
1124
programs/demos/life2/include/me_func.inc
Normal file
File diff suppressed because it is too large
Load Diff
90
programs/demos/life2/include/me_heap.h
Normal file
90
programs/demos/life2/include/me_heap.h
Normal file
@ -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_
|
97
programs/demos/life2/include/me_heap.inc
Normal file
97
programs/demos/life2/include/me_heap.inc
Normal file
@ -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
|
||||
}
|
||||
|
||||
;/**/
|
16
programs/demos/life2/include/me_lib.h
Normal file
16
programs/demos/life2/include/me_lib.h
Normal file
@ -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_
|
118
programs/demos/life2/include/me_lib.inc
Normal file
118
programs/demos/life2/include/me_lib.inc
Normal file
@ -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
|
||||
|
90
programs/demos/life2/include/me_start.inc
Normal file
90
programs/demos/life2/include/me_start.inc
Normal file
@ -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
|
||||
}
|
626
programs/demos/life2/include/memheap.h
Normal file
626
programs/demos/life2/include/memheap.h
Normal file
@ -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_
|
||||
|
537
programs/demos/life2/include/menuet.h
Normal file
537
programs/demos/life2/include/menuet.h
Normal file
@ -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_
|
||||
|
921
programs/demos/life2/include/menuet_win.cpp
Normal file
921
programs/demos/life2/include/menuet_win.cpp
Normal file
@ -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;
|
||||
}
|
||||
|
49
programs/demos/life2/include/write_macro.inc
Normal file
49
programs/demos/life2/include/write_macro.inc
Normal file
@ -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
|
||||
}
|
||||
|
9
programs/demos/life2/lif/ACORN.lif
Normal file
9
programs/demos/life2/lif/ACORN.lif
Normal file
@ -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
|
||||
.*
|
||||
...*
|
||||
**..***
|
837
programs/demos/life2/lif/ADDER.lif
Normal file
837
programs/demos/life2/lif/ADDER.lif
Normal file
@ -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
|
||||
*
|
71
programs/demos/life2/lif/AK47.lif
Normal file
71
programs/demos/life2/lif/AK47.lif
Normal file
@ -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
|
||||
......**
|
||||
.....*..*
|
||||
....*.**.*
|
||||
.*...*.*.*
|
||||
.*...*.*.**
|
||||
*......*
|
||||
..*..***
|
||||
..*.....**
|
||||
..*.**.*..*
|
||||
.**.*...**
|
||||
**...***
|
||||
.**....*
|
||||
**..**.*.**
|
||||
....**.*.*
|
||||
....*..*.*
|
||||
.....*..*
|
||||
......**
|
304
programs/demos/life2/lif/AQUA20.lif
Normal file
304
programs/demos/life2/lif/AQUA20.lif
Normal file
@ -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
|
||||
***
|
||||
***....................*....*
|
||||
.*...................*..*...*
|
||||
...*..............*...*.....***.**
|
||||
...**........**..*.*.**..*...*....*
|
||||
....*........*.***..*...*.*..*...****
|
||||
....*..*..*.***..*.......*....*...**.*
|
||||
....*.****.**.......................*
|
||||
.....****...********
|
||||
.
|
||||
.....****...********
|
||||
....*.****.**.......................*
|
||||
....*..*..*.***..*.......*....*...**.*
|
||||
....*........*.***..*...*.*..*...****
|
||||
...**........**..*.*.**..*...*....*
|
||||
...*..............*...*.....***.**
|
||||
.*...................*..*...*
|
||||
***....................*....*
|
||||
***
|
1294
programs/demos/life2/lif/AQUA25.lif
Normal file
1294
programs/demos/life2/lif/AQUA25.lif
Normal file
File diff suppressed because it is too large
Load Diff
609
programs/demos/life2/lif/AQUA25B.lif
Normal file
609
programs/demos/life2/lif/AQUA25B.lif
Normal file
@ -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
|
||||
..........*
|
||||
.........**
|
||||
.........*.*...*
|
||||
.............**
|
||||
..............*..*
|
||||
............**.*..*
|
||||
........***.**....*
|
||||
.......*..*....*
|
||||
......*....*....**
|
||||
.**...*.....*.*.**
|
||||
**....**.........*
|
||||
..*.....*.........*
|
||||
.....**..*......***
|
||||
...*.**...........*.*
|
||||
...**....*.........*.**
|
||||
..*..*.*............****
|
||||
........**..*
|
||||
....*...***.*
|
||||
.....**....***.........**
|
||||
..............*.......**.*
|
||||
.............*.*......*..*
|
||||
..............**......*
|
||||
..............**...***...*
|
||||
...............*..**....*.*
|
||||
..................*....*
|
||||
...................**.*
|
||||
.......................*
|
1232
programs/demos/life2/lif/AQUA33.lif
Normal file
1232
programs/demos/life2/lif/AQUA33.lif
Normal file
File diff suppressed because it is too large
Load Diff
1656
programs/demos/life2/lif/AQUA33W.lif
Normal file
1656
programs/demos/life2/lif/AQUA33W.lif
Normal file
File diff suppressed because it is too large
Load Diff
259
programs/demos/life2/lif/AQUA40.lif
Normal file
259
programs/demos/life2/lif/AQUA40.lif
Normal file
@ -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
|
||||
......*..**
|
||||
.....*
|
||||
.....*....*
|
||||
.....*.**
|
||||
..**.***
|
||||
.******
|
||||
*....**
|
||||
.**.***
|
||||
..**......*
|
||||
....*******
|
||||
.
|
||||
....*******
|
||||
..**......*
|
||||
.**.***
|
||||
*....**
|
||||
.******
|
||||
..**.***
|
||||
.....*.**
|
||||
.....*....*
|
||||
.....*
|
||||
......*..**
|
2452
programs/demos/life2/lif/AQUA50.lif
Normal file
2452
programs/demos/life2/lif/AQUA50.lif
Normal file
File diff suppressed because it is too large
Load Diff
867
programs/demos/life2/lif/AQUA50F.lif
Normal file
867
programs/demos/life2/lif/AQUA50F.lif
Normal file
@ -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
|
||||
............................*.**
|
||||
..........................******
|
||||
.........................*.....****.*
|
||||
.........................*..**..*....*
|
||||
.......***...............**.*.****.*.....*
|
||||
..******...................**.......****.*
|
||||
..*...**...**..**.**........**.......*
|
||||
..*...*.......****..*..**...**.........**
|
||||
...**.*..**..........*..**.*...**.....*
|
||||
....****..*....**.*.*..*..*.......**...*
|
||||
........*...*..**.*..**.***......*.....*...*
|
||||
..**....**..****...*.*..*.......*.......******
|
||||
**.....*.***.*.....*.*.**......*....*.......**
|
||||
*..*..***..*.*............*....*...*........**
|
||||
*......**.............*...*....*..*......*..*
|
||||
.**.....*...**....*****.........**..........*
|
||||
.........*****.....*..***..........*...**.*
|
||||
...*...*.*...*..*..*....**...*...*.*...*
|
||||
...*.*.*.*.....*.**....*..*...*...*...*..*
|
||||
..**.**...***.***.*....****.*.*........**
|
||||
..*..*............*..*...***..*......*
|
||||
..*....*..................**...*..*..*.**
|
||||
...*..****...............*...*....*.*...*
|
||||
.....*..**...............*..*****.**
|
||||
.........................**...*....*
|
||||
...........................***...*
|
||||
.............................*
|
703
programs/demos/life2/lif/AQUA50FA.lif
Normal file
703
programs/demos/life2/lif/AQUA50FA.lif
Normal file
@ -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
|
||||
...............................*
|
||||
............*..............**....*
|
||||
....**....*..*...****....**
|
||||
.**.......*....*......*..**......*
|
||||
**..*.*...*.***.*....**...*******
|
||||
.**.*.*.*..*...**..*...*
|
||||
..*...***..**...**.*.****.*
|
||||
...**.**.............**..*..*
|
||||
....**............**.......**.*
|
||||
......*..**.......**..**..***.*
|
||||
....***...........*..*...*
|
||||
....***.*.........*.....**.*.**
|
||||
......*.**............*.*..*
|
||||
..**.**..*.**...**..**..*
|
||||
.*.**..........*...*..*..........*
|
||||
**......*....*.*.*...****
|
||||
.****....**..*.***...*.****......*
|
||||
..***......**....*.........******
|
||||
...................**......*
|
668
programs/demos/life2/lif/AQUA50FN.lif
Normal file
668
programs/demos/life2/lif/AQUA50FN.lif
Normal file
@ -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
|
||||
....................................*
|
||||
..................................**.*.***.*
|
||||
.**..............................**.***.*..*
|
||||
**.***...............*..*.........*.*...***...**.**
|
||||
.****..*........*....*...*......*.*.*.*.*.******....*
|
||||
..**...........**....*.........**.*.****..**.*
|
||||
....*...*.....*******.*.*......*.*.*..*.....*..*.*...*
|
||||
.....*.*.........**.*.*.*..***.*.*.*..*.......*.*....*
|
||||
.....*.*.*...*........*.*...**.*.*.*.***.....*.**...***
|
||||
.....*..*.***..*.***.*.*....*.*.*.*.*..*......*...*...*
|
||||
.........*.**.***...**.*.**..*..*.*.*.............*
|
||||
....***.......**.....*.*.....*..*.*.**.....***....*
|
||||
.....*.........*....*...*......**..*.**...*****...*
|
||||
.**.............*...**.*........**.*.*...*.....*..*
|
||||
**.**.*...............*..........*.*...*........**
|
||||
.*****............................*.*.**...*
|
||||
..***.............................***...****
|
||||
...................................**...**
|
1206
programs/demos/life2/lif/AQUA50S.lif
Normal file
1206
programs/demos/life2/lif/AQUA50S.lif
Normal file
File diff suppressed because it is too large
Load Diff
645
programs/demos/life2/lif/AQUA50SB.lif
Normal file
645
programs/demos/life2/lif/AQUA50SB.lif
Normal file
@ -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
|
||||
................*
|
||||
.............****.......**..........**
|
||||
.**.........**.....******..........*
|
||||
**.***.....**..*****....*.*..*.....*....*
|
||||
.*****......*.*........*...*.***...**...*
|
||||
..***....*....**...***....*.****.....**.*
|
||||
.........*.........****..**...****
|
||||
......**..**...*......*..****...*.*
|
||||
.....**.....*....*...*.*.*.*.*.**.*.*.*
|
||||
.....****...*..*.*..**.**..**...*....*
|
||||
.....*.*.*.**.*...**.*.....*..*..**
|
||||
.....*.*.*.**.*...**.*.....*..*..**
|
||||
.....****...*..*.*..**.**..**...*....*
|
||||
.....**.....*....*...*.*.*.*.*.**.*.*.*
|
||||
......**..**...*......*..****...*.*
|
||||
.........*.........****..**...****
|
||||
..***....*....**...***....*.****.....**.*
|
||||
.*****......*.*........*...*.***...**...*
|
||||
**.***.....**..*****....*.*..*.....*....*
|
||||
.**.........**.....******..........*
|
||||
.............****.......**..........**
|
||||
................*
|
805
programs/demos/life2/lif/AQUA50SH.lif
Normal file
805
programs/demos/life2/lif/AQUA50SH.lif
Normal file
@ -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
|
||||
..........................**
|
||||
..................***.***.***.....*..*
|
||||
.**...............****.**.**.....*
|
||||
**.***.........*.*.....*****.....*...*
|
||||
.*****.......***.*...*...*.......****
|
||||
..*****.....*....*...**
|
||||
......***.*.*.**....*........**......**.*
|
||||
......***...*.*.*........**.....*.**.....*
|
||||
......***.**..**....**.**.*.*...*.**.**
|
||||
..........**...*..*..**.*..***.*.....**.*
|
||||
..........**...*..*..**.*..***.*.....**.*
|
||||
......***.**..**....**.**.*.*...*.**.**
|
||||
......***...*.*.*........**.....*.**.....*
|
||||
......***.*.*.**....*........**......**.*
|
||||
..*****.....*....*...**
|
||||
.*****.......***.*...*...*.......****
|
||||
**.***.........*.*.....*****.....*...*
|
||||
.**...............****.**.**.....*
|
||||
..................***.***.***.....*..*
|
||||
..........................**
|
406
programs/demos/life2/lif/BARGE.lif
Normal file
406
programs/demos/life2/lif/BARGE.lif
Normal file
@ -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
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
||||
.
|
||||
..**.*.*.*
|
||||
.*...*..**
|
||||
*.....*
|
||||
.*......*.*
|
||||
...**..**.*
|
||||
..*...*
|
||||
..*.***...*
|
||||
..*
|
||||
...********
|
||||
.
|
||||
...********
|
||||
..*
|
||||
..*.***...*
|
||||
..*...*
|
||||
...**..**.*
|
||||
.*......*.*
|
||||
*.....*
|
||||
.*...*..**
|
||||
..**.*.*.*
|
334
programs/demos/life2/lif/BARGE2.lif
Normal file
334
programs/demos/life2/lif/BARGE2.lif
Normal file
@ -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
|
||||
.........*
|
||||
......**.*
|
||||
......*
|
||||
......*
|
||||
....*
|
||||
.**.*
|
||||
.*
|
||||
*..*..*
|
||||
**..**
|
||||
*.......*
|
||||
*..*.**.*
|
||||
*...*
|
||||
*..*.**.*
|
||||
*.......*
|
||||
**..**
|
||||
*..*..*
|
||||
.*
|
||||
.**.*
|
||||
....*
|
||||
......**
|
||||
....*
|
||||
.**.*
|
||||
.*
|
||||
*..*..*
|
||||
**..**
|
||||
*.......*
|
||||
*..*.**.*
|
||||
*...*
|
||||
*..*.**.*
|
||||
*.......*
|
||||
**..**
|
||||
*..*..*
|
||||
.*
|
||||
.**.*
|
||||
....*
|
||||
......**
|
||||
....*
|
||||
.**.*
|
||||
.*
|
||||
*..*..*
|
||||
**..**
|
||||
*.......*
|
||||
*..*.**.*
|
||||
*...*
|
||||
*..*.**.*
|
||||
*.......*
|
||||
**..**
|
||||
*..*..*
|
||||
.*
|
||||
.**.*
|
||||
....*
|
||||
......*
|
||||
......*
|
||||
......**.*
|
||||
.........*
|
14
programs/demos/life2/lif/BHEPTO.lif
Normal file
14
programs/demos/life2/lif/BHEPTO.lif
Normal file
@ -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
|
||||
.*
|
||||
***
|
||||
*.**
|
225
programs/demos/life2/lif/BHEPTPUF.lif
Normal file
225
programs/demos/life2/lif/BHEPTPUF.lif
Normal file
@ -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
|
||||
.**
|
||||
****
|
||||
**.**
|
||||
..**
|
30
programs/demos/life2/lif/BI-GUN.lif
Normal file
30
programs/demos/life2/lif/BI-GUN.lif
Normal file
@ -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
|
||||
*
|
||||
**
|
65
programs/demos/life2/lif/BLKRAKE.lif
Normal file
65
programs/demos/life2/lif/BLKRAKE.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
2523
programs/demos/life2/lif/BREEDER.lif
Normal file
2523
programs/demos/life2/lif/BREEDER.lif
Normal file
File diff suppressed because it is too large
Load Diff
359
programs/demos/life2/lif/BREEDER2.lif
Normal file
359
programs/demos/life2/lif/BREEDER2.lif
Normal file
@ -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
|
||||
.***
|
||||
*****
|
||||
***.**
|
||||
...**
|
358
programs/demos/life2/lif/BREEDER3.lif
Normal file
358
programs/demos/life2/lif/BREEDER3.lif
Normal file
@ -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
|
||||
.***
|
||||
*****
|
||||
***.**
|
||||
...**
|
1984
programs/demos/life2/lif/BREEDER4.lif
Normal file
1984
programs/demos/life2/lif/BREEDER4.lif
Normal file
File diff suppressed because it is too large
Load Diff
1137
programs/demos/life2/lif/BREEDER5.lif
Normal file
1137
programs/demos/life2/lif/BREEDER5.lif
Normal file
File diff suppressed because it is too large
Load Diff
905
programs/demos/life2/lif/BREEDST.lif
Normal file
905
programs/demos/life2/lif/BREEDST.lif
Normal file
@ -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
|
||||
***
|
||||
*.*
|
||||
***
|
||||
.
|
||||
.
|
||||
***
|
||||
***
|
44
programs/demos/life2/lif/BSHIP.lif
Normal file
44
programs/demos/life2/lif/BSHIP.lif
Normal file
@ -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
|
||||
.***
|
||||
*...*
|
||||
*...*
|
||||
*...*
|
||||
.***
|
51
programs/demos/life2/lif/BSHIP2.lif
Normal file
51
programs/demos/life2/lif/BSHIP2.lif
Normal file
@ -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
|
||||
.******
|
||||
*.....*
|
||||
......*
|
||||
*....*
|
||||
..**
|
1065
programs/demos/life2/lif/BTRACK.lif
Normal file
1065
programs/demos/life2/lif/BTRACK.lif
Normal file
File diff suppressed because it is too large
Load Diff
26
programs/demos/life2/lif/COERAKE1.lif
Normal file
26
programs/demos/life2/lif/COERAKE1.lif
Normal file
@ -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
|
||||
....**
|
||||
****.**
|
||||
******
|
||||
.****
|
39
programs/demos/life2/lif/COERAKE2.lif
Normal file
39
programs/demos/life2/lif/COERAKE2.lif
Normal file
@ -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
|
||||
.....*
|
||||
......*
|
||||
*.....*
|
||||
.******
|
146
programs/demos/life2/lif/CORDER.lif
Normal file
146
programs/demos/life2/lif/CORDER.lif
Normal file
@ -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
|
||||
***
|
||||
*
|
||||
.*
|
136
programs/demos/life2/lif/CORDER2.lif
Normal file
136
programs/demos/life2/lif/CORDER2.lif
Normal file
@ -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
|
||||
.*
|
||||
**
|
||||
*.*
|
221
programs/demos/life2/lif/CORDPULL.lif
Normal file
221
programs/demos/life2/lif/CORDPULL.lif
Normal file
@ -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
|
||||
**
|
||||
*
|
||||
.***
|
||||
...*
|
207
programs/demos/life2/lif/CORDTOSS.lif
Normal file
207
programs/demos/life2/lif/CORDTOSS.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
85
programs/demos/life2/lif/CRYSTAL.lif
Normal file
85
programs/demos/life2/lif/CRYSTAL.lif
Normal file
@ -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
|
||||
..*
|
||||
*.*
|
||||
.**
|
443
programs/demos/life2/lif/CYCLTRON.lif
Normal file
443
programs/demos/life2/lif/CYCLTRON.lif
Normal file
@ -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
|
||||
*.*
|
||||
**
|
||||
.*
|
232
programs/demos/life2/lif/DOUBLEX.lif
Normal file
232
programs/demos/life2/lif/DOUBLEX.lif
Normal file
@ -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
|
||||
*
|
||||
.**
|
||||
**
|
609
programs/demos/life2/lif/E15GROW.lif
Normal file
609
programs/demos/life2/lif/E15GROW.lif
Normal file
@ -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
|
||||
**
|
||||
.**
|
||||
*
|
127
programs/demos/life2/lif/EATERS.lif
Normal file
127
programs/demos/life2/lif/EATERS.lif
Normal file
@ -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
|
||||
...........*
|
||||
.........***
|
||||
........*
|
||||
.....**..*
|
||||
....*..***
|
||||
...*.*....**
|
||||
...*.*.**.*
|
||||
.***.*.*..*
|
||||
*...*.*..*
|
||||
**..*..**
|
||||
...**
|
15
programs/demos/life2/lif/EDEN.lif
Normal file
15
programs/demos/life2/lif/EDEN.lif
Normal file
@ -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
|
||||
*********************************
|
||||
**.*.***.***.**.*.*.*.*.*.*.*.*.*
|
||||
*.*.***.***.****.***.*.*.*.*.*.*
|
||||
*****.***.***.****.**************
|
||||
*.*.**.***.***.*.***.*.*.*.*.*.*
|
||||
****.***.***.*****.**.*.*.*.*.*.*
|
||||
.**.***.***.***.*.*.*************
|
||||
**.**.***.***.**.****.*.*.*.*.*.*
|
||||
******************.**************
|
40
programs/demos/life2/lif/EFENCE.lif
Normal file
40
programs/demos/life2/lif/EFENCE.lif
Normal file
@ -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
|
||||
**...**...**
|
||||
..**...**...**
|
||||
..**...**...**
|
||||
**...**...**
|
751
programs/demos/life2/lif/FORERAKE.lif
Normal file
751
programs/demos/life2/lif/FORERAKE.lif
Normal file
@ -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
|
||||
.**
|
||||
**
|
||||
..*
|
285
programs/demos/life2/lif/FUSES.lif
Normal file
285
programs/demos/life2/lif/FUSES.lif
Normal file
@ -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
|
||||
*..**
|
||||
.*..*
|
||||
..**
|
||||
.
|
||||
****
|
||||
*..*
|
||||
.**
|
18
programs/demos/life2/lif/GLIDERS6.lif
Normal file
18
programs/demos/life2/lif/GLIDERS6.lif
Normal file
@ -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
|
||||
....*.*
|
||||
***..**
|
||||
..*..*...**
|
||||
.*........**
|
||||
.........*
|
61
programs/demos/life2/lif/GUN104.lif
Normal file
61
programs/demos/life2/lif/GUN104.lif
Normal file
@ -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
|
||||
.**
|
||||
.**
|
||||
.**
|
||||
.*
|
||||
*.*
|
||||
*.**
|
||||
.
|
||||
.
|
||||
.**
|
||||
.**
|
78
programs/demos/life2/lif/GUN132.lif
Normal file
78
programs/demos/life2/lif/GUN132.lif
Normal file
@ -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
|
||||
..**
|
||||
..*
|
||||
*.*
|
||||
**
|
58
programs/demos/life2/lif/GUN144.lif
Normal file
58
programs/demos/life2/lif/GUN144.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
37
programs/demos/life2/lif/GUN184.lif
Normal file
37
programs/demos/life2/lif/GUN184.lif
Normal file
@ -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
|
||||
**
|
||||
*
|
||||
.***
|
||||
...*
|
42
programs/demos/life2/lif/GUN246.lif
Normal file
42
programs/demos/life2/lif/GUN246.lif
Normal file
@ -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
|
||||
.**
|
||||
..*
|
||||
*.*
|
||||
**
|
39
programs/demos/life2/lif/GUN30.lif
Normal file
39
programs/demos/life2/lif/GUN30.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
74
programs/demos/life2/lif/GUN44.lif
Normal file
74
programs/demos/life2/lif/GUN44.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
38
programs/demos/life2/lif/GUN46.lif
Normal file
38
programs/demos/life2/lif/GUN46.lif
Normal file
@ -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
|
||||
**
|
||||
**
|
125
programs/demos/life2/lif/GUNB112.lif
Normal file
125
programs/demos/life2/lif/GUNB112.lif
Normal file
@ -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
|
||||
**
|
||||
*.*
|
||||
..*
|
||||
..**
|
59
programs/demos/life2/lif/GUNB256.lif
Normal file
59
programs/demos/life2/lif/GUNB256.lif
Normal file
@ -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
|
||||
*
|
||||
***
|
||||
*.*
|
||||
..*
|
135
programs/demos/life2/lif/GUNB856.lif
Normal file
135
programs/demos/life2/lif/GUNB856.lif
Normal file
@ -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
|
||||
...*
|
||||
.***
|
||||
*
|
||||
**
|
443
programs/demos/life2/lif/GUNSTAR.lif
Normal file
443
programs/demos/life2/lif/GUNSTAR.lif
Normal file
@ -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
|
||||
.*
|
||||
..*
|
||||
***
|
241
programs/demos/life2/lif/GUNSTAR2.lif
Normal file
241
programs/demos/life2/lif/GUNSTAR2.lif
Normal file
@ -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
|
||||
.....*
|
||||
....*.*
|
||||
...*...*
|
||||
..*...*
|
||||
.*...*
|
||||
*...*
|
||||
.*.*
|
||||
..*
|
401
programs/demos/life2/lif/GUNSTAR3.lif
Normal file
401
programs/demos/life2/lif/GUNSTAR3.lif
Normal file
@ -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
|
||||
..**
|
||||
..**
|
||||
.
|
||||
.
|
||||
..***
|
||||
...**
|
||||
**
|
||||
***
|
||||
.*.*
|
||||
..**
|
430
programs/demos/life2/lif/HACKSAW.lif
Normal file
430
programs/demos/life2/lif/HACKSAW.lif
Normal file
@ -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
|
||||
...*
|
||||
....*
|
||||
*...*
|
||||
.****
|
22
programs/demos/life2/lif/HIGHAQ33.lif
Normal file
22
programs/demos/life2/lif/HIGHAQ33.lif
Normal file
@ -0,0 +1,22 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P 2 -9
|
||||
...**
|
||||
...**
|
||||
...*.**
|
||||
...*.*
|
||||
...***
|
||||
....*
|
||||
.***
|
||||
*.*
|
||||
.**
|
||||
....**
|
||||
.**
|
||||
*.*
|
||||
.***
|
||||
....*
|
||||
...***
|
||||
...*.*
|
||||
...*.**
|
||||
...**
|
||||
...**
|
24
programs/demos/life2/lif/HIGHBIRD.lif
Normal file
24
programs/demos/life2/lif/HIGHBIRD.lif
Normal file
@ -0,0 +1,24 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P -21 4
|
||||
..........*..........*
|
||||
......*.**.**.*.....**
|
||||
.....**.......**...***
|
||||
......**.*.*.*.*..**
|
||||
....***.......*.*.*..*
|
||||
......*.........*.*.*
|
||||
.***............***.*
|
||||
.*................*
|
||||
.
|
||||
**................**
|
||||
#P 1 4
|
||||
..........*
|
||||
*.....*.**.**.*
|
||||
**...**.......**
|
||||
.**..*.*.*.*.**
|
||||
..*.*.*.......***
|
||||
*.*.*.........*
|
||||
*.***............***
|
||||
..*................*
|
||||
.
|
||||
.**................**
|
58
programs/demos/life2/lif/HIGHBRDR.lif
Normal file
58
programs/demos/life2/lif/HIGHBRDR.lif
Normal file
@ -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
|
||||
..**
|
||||
...*
|
||||
***
|
||||
*
|
11
programs/demos/life2/lif/HIGHCRNA.lif
Normal file
11
programs/demos/life2/lif/HIGHCRNA.lif
Normal file
@ -0,0 +1,11 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P 7 4
|
||||
.***
|
||||
*
|
||||
*
|
||||
*
|
||||
#P 16 7
|
||||
*
|
||||
*
|
||||
*
|
74
programs/demos/life2/lif/HIGHGUN2.lif
Normal file
74
programs/demos/life2/lif/HIGHGUN2.lif
Normal file
@ -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
|
||||
..***
|
||||
.*..*
|
||||
*...*
|
||||
*..*
|
||||
***
|
36
programs/demos/life2/lif/HIGHGUN3.lif
Normal file
36
programs/demos/life2/lif/HIGHGUN3.lif
Normal file
@ -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
|
||||
**
|
||||
*.*
|
||||
..*
|
||||
..**
|
192
programs/demos/life2/lif/HIGHLOOP.lif
Normal file
192
programs/demos/life2/lif/HIGHLOOP.lif
Normal file
@ -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
|
||||
**
|
||||
*
|
||||
.***
|
||||
...*
|
421
programs/demos/life2/lif/HIGHOSCS.lif
Normal file
421
programs/demos/life2/lif/HIGHOSCS.lif
Normal file
@ -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
|
||||
.*
|
||||
.*
|
||||
.*
|
||||
*
|
||||
*.*
|
||||
.**
|
153
programs/demos/life2/lif/HIGHPUF.lif
Normal file
153
programs/demos/life2/lif/HIGHPUF.lif
Normal file
@ -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
|
||||
.....*
|
||||
.............*
|
||||
..***.....*..*
|
||||
....***...*.*.*
|
||||
.....*.*.....*.*
|
||||
.....*.*.......*
|
||||
........*....***
|
||||
.....*.**...**
|
||||
.........**
|
||||
....*..*.**
|
||||
......**..*
|
||||
.....*.*.***
|
||||
..*....**....**
|
||||
*..****..*.*...*
|
||||
..*..*.******...*
|
||||
.*.*..**.*......*
|
||||
.....*...**...***
|
||||
...*..**..*....*
|
||||
......*..**....*
|
||||
....*.*.**......*
|
||||
.........****..***
|
||||
......*.**..*..**
|
||||
......*....*..**
|
||||
....*....**.***
|
||||
.....*
|
||||
.....*
|
||||
.....*.*.*.***
|
||||
.....*.*..*..***
|
||||
.....*....*.*...*
|
||||
.....*...*..**...*
|
||||
.....*.*..**.*...*
|
||||
.....*...*..**...*
|
||||
.....*....*.*...*
|
||||
.....*.*..*..***
|
||||
.....*.*.*.***
|
||||
.....*
|
21
programs/demos/life2/lif/HIGHRAK1.lif
Normal file
21
programs/demos/life2/lif/HIGHRAK1.lif
Normal file
@ -0,0 +1,21 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P 11 0
|
||||
..**
|
||||
...**
|
||||
*.**
|
||||
***
|
||||
.*
|
||||
#P 21 4
|
||||
*
|
||||
*
|
||||
*
|
||||
#P 1 8
|
||||
...*
|
||||
..**
|
||||
.*.*
|
||||
***
|
||||
#P 6 17
|
||||
*
|
||||
*
|
||||
*
|
27
programs/demos/life2/lif/HIGHRAK2.lif
Normal file
27
programs/demos/life2/lif/HIGHRAK2.lif
Normal file
@ -0,0 +1,27 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P 11 0
|
||||
..***
|
||||
.*..*
|
||||
*...*
|
||||
*..*
|
||||
***...***
|
||||
.....*..*
|
||||
....*...*
|
||||
....*..*
|
||||
....***
|
||||
.
|
||||
.
|
||||
.......*
|
||||
.......*
|
||||
.......*
|
||||
#P 2 13
|
||||
...*
|
||||
..**
|
||||
.*.*
|
||||
***
|
||||
.
|
||||
......***
|
||||
.....*.*
|
||||
.....**....***
|
||||
.....*
|
20
programs/demos/life2/lif/HIGHSIER.lif
Normal file
20
programs/demos/life2/lif/HIGHSIER.lif
Normal file
@ -0,0 +1,20 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P 14 -20
|
||||
***
|
||||
*..*
|
||||
*...*
|
||||
.*..*
|
||||
..***
|
||||
#P 0 8
|
||||
...*
|
||||
..***
|
||||
.*.***
|
||||
***..**
|
||||
.**...**
|
||||
..**..***
|
||||
...***.*
|
||||
....***
|
||||
.....*
|
||||
#P 0 20
|
||||
***
|
16
programs/demos/life2/lif/HIGHTUG.lif
Normal file
16
programs/demos/life2/lif/HIGHTUG.lif
Normal file
@ -0,0 +1,16 @@
|
||||
#Life 1.05
|
||||
#R 23/36
|
||||
#P -17 -17
|
||||
.***
|
||||
*
|
||||
*
|
||||
*
|
||||
#P -4 -10
|
||||
*
|
||||
*
|
||||
*
|
||||
#P 13 13
|
||||
...*
|
||||
..**
|
||||
.*.*
|
||||
***
|
733
programs/demos/life2/lif/HOTEL.lif
Normal file
733
programs/demos/life2/lif/HOTEL.lif
Normal file
@ -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
|
||||
.*
|
||||
..*
|
||||
***
|
174
programs/demos/life2/lif/HWSSGUN.lif
Normal file
174
programs/demos/life2/lif/HWSSGUN.lif
Normal file
@ -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
|
||||
.....*
|
||||
....*.*
|
||||
...*...*
|
||||
..*...*
|
||||
.*...*
|
||||
*...*
|
||||
.*.*
|
||||
..*
|
420
programs/demos/life2/lif/IRRAT2.lif
Normal file
420
programs/demos/life2/lif/IRRAT2.lif
Normal file
@ -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
|
||||
*..*
|
||||
....*
|
||||
*...*
|
||||
.****
|
351
programs/demos/life2/lif/IRRAT5.lif
Normal file
351
programs/demos/life2/lif/IRRAT5.lif
Normal file
@ -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
|
||||
.**
|
||||
****
|
||||
**.**
|
||||
..**
|
264
programs/demos/life2/lif/IRRATU.lif
Normal file
264
programs/demos/life2/lif/IRRATU.lif
Normal file
@ -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
|
||||
**
|
||||
*
|
239
programs/demos/life2/lif/JAWS.lif
Normal file
239
programs/demos/life2/lif/JAWS.lif
Normal file
@ -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
|
||||
.........................***
|
||||
..........................*..*
|
||||
..............................*
|
||||
...........................*.*
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
.
|
||||
*
|
||||
**
|
||||
*..*
|
||||
.
|
||||
.*.*
|
||||
..*
|
17
programs/demos/life2/lif/Jason1.lif
Normal file
17
programs/demos/life2/lif/Jason1.lif
Normal file
@ -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
|
||||
....**
|
||||
....***
|
||||
.....***...*
|
||||
......**...**
|
||||
***..***...***
|
||||
......**...**
|
||||
.....***...*
|
||||
....***
|
||||
....**
|
185
programs/demos/life2/lif/LINEPUF.lif
Normal file
185
programs/demos/life2/lif/LINEPUF.lif
Normal file
@ -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
|
||||
..**
|
||||
..***
|
||||
.***
|
||||
.*
|
||||
...*
|
||||
.*.*
|
||||
....*
|
||||
.*.*
|
||||
...*
|
||||
.*
|
||||
.***
|
||||
**..*
|
||||
*.***
|
||||
.....*
|
||||
....***
|
||||
..*..***
|
||||
......*
|
||||
..****
|
||||
.....*
|
||||
..**
|
||||
****
|
||||
*
|
449
programs/demos/life2/lif/LINEPUF2.lif
Normal file
449
programs/demos/life2/lif/LINEPUF2.lif
Normal file
@ -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
|
||||
*.**
|
||||
*..**
|
||||
....**
|
||||
*..*.**
|
||||
*.***..*
|
||||
.......*
|
||||
*.***..*
|
||||
*..*.**
|
||||
....**
|
||||
*..**
|
||||
*.**
|
||||
.
|
||||
*.**
|
||||
*..**
|
||||
....**
|
||||
....**
|
||||
*..**
|
||||
*.**
|
||||
.
|
||||
*.**
|
||||
*..**
|
||||
....**
|
||||
*..*.**
|
||||
*.***..*
|
||||
.......*
|
||||
*.***..*
|
||||
*..*.**
|
||||
....**
|
||||
*..**
|
||||
*.**
|
3126
programs/demos/life2/lif/LOGGROW.lif
Normal file
3126
programs/demos/life2/lif/LOGGROW.lif
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user