]> git.saurik.com Git - wxWidgets.git/blame - demos/life/samples.inc
Fixed crash in Life demo on Mac
[wxWidgets.git] / demos / life / samples.inc
CommitLineData
087e4f4a
GRG
1/////////////////////////////////////////////////////////////////////////////
2// Name: samples.inc
3// Purpose: Sample configurations for Life!
4// Author: Guillermo Rodriguez Garcia, <guille@iies.es>
5// Modified by:
6// Created: Jan/2000
7// RCS-ID: $Id$
8// Copyright: (c) 2000, Guillermo Rodriguez Garcia
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12// --------------------------------------------------------------------------
13// sample configurations
14// --------------------------------------------------------------------------
15
16/* Format:
17 *
18 * Name,
19 * Description,
e0a40292
GRG
20 * Width,
21 * Height,
22 * Data ('*' = alive, '.' = dead)
087e4f4a
GRG
23 *
24 */
25
f6bcfd97 26const LifePattern g_patterns[] =
087e4f4a 27{
f6bcfd97
BP
28 LifePattern(
29 _("Glider"),
1babe8fd 30 _("The glider is the first of a series of life forms, known as spaceships or fishes, which can travel along the game field retaining their original shape."),
087e4f4a
GRG
31 3, 3,
32 ".*."
33 "..*"
34 "***"),
f6bcfd97
BP
35 LifePattern(
36 _("Heavyweight spaceship"),
1babe8fd 37 _("The glider is just the smaller of the spaceships; this one, known as the heavyweight spaceship or 'big fish', is the largest spaceship which can travel alone without destroying itself. Larger ones can only travel safely if they are supported by smaller spaceships."),
087e4f4a
GRG
38 7, 4,
39 ".....*."
40 "......*"
41 "*.....*"
42 ".******"),
f6bcfd97
BP
43 LifePattern(
44 _("Eater"),
1babe8fd 45 _("An eater is any still life that can repair itself from some attacks. This one (bottom right), also known as 'fishhook', eats gliders and fishes (spaceships) provided that they approach in a certain angle."),
087e4f4a
GRG
46 10, 10,
47 ".*........"
48 "..*......."
49 "***......."
50 ".........."
51 ".........."
52 ".........."
53 "......**.."
54 "......*.*."
55 "........*."
56 "........**" ),
f6bcfd97
BP
57 LifePattern(
58 _("Dice shaker"),
1babe8fd 59 _("Oscillators have been extensively explored in Life!. The dice shaker turns around each seven tics; thus, it is an oscillator with a period of fourteen."),
087e4f4a
GRG
60 7, 6,
61 ".**.**."
62 ".**.**."
63 "..*.*.."
64 "*.*.*.*"
65 "*.*.*.*"
66 "**...**" ),
f6bcfd97
BP
67 LifePattern(
68 _("Hertz oscillator"),
1babe8fd 69 _("The Hertz oscillator is a good example of a set of life patterns known as 'billiard tables'. A billiard table is an oscillator which is built inside a stable border. In particular, this one has a period of eight."),
087e4f4a
GRG
70 14, 11,
71 ".....**......."
72 ".....**......."
73 ".............."
74 "**...****...**"
75 "*.*.*....*.*.*"
76 "..*.**...*.*.."
77 "*.*.*....*.*.*"
78 "**...****...**"
79 ".............."
80 ".......**....."
81 ".......**....." ),
f6bcfd97
BP
82 LifePattern(
83 _("Phoenix"),
1babe8fd 84 _("A phoenix is a pattern whose cells all die in every generation, and yet lives forever. For example, this is a phoenix with period two."),
087e4f4a
GRG
85 8, 8,
86 "....*..."
87 "..*.*..."
88 "......*."
89 "**......"
90 "......**"
91 ".*......"
92 "...*.*.."
93 "...*...." ),
f6bcfd97
BP
94 LifePattern(
95 _("R-pentomino"),
1babe8fd 96 _("The R-pentomino is a methuselah - a life form which lives for hundreds of generations without stabilizing or dying. In particular, the R-Pentomino requires more than one thousand tics to reach a stable (periodic) state."),
087e4f4a
GRG
97 3, 3,
98 ".**"
99 "**."
e0a40292 100 ".*." ),
f6bcfd97
BP
101 LifePattern(
102 _("Thunderbird"),
1babe8fd 103 _("The thunderbird is another popular methuselah, which doesn't stabilize until the 243th generation. Note that because the initial configuration is symmetrical with respect to the vertical axis, all generations must be symmetrical as well."),
087e4f4a
GRG
104 3, 5,
105 "***"
106 "..."
107 ".*."
108 ".*."
e0a40292 109 ".*." ),
f6bcfd97
BP
110 LifePattern(
111 _("Accorn"),
1babe8fd 112 _("Probably the most popular methuselah, the accorn lives for 5206 (!) generations."),
087e4f4a
GRG
113 7, 3,
114 ".*....."
115 "...*..."
e0a40292 116 "**..***" ),
f6bcfd97
BP
117 LifePattern(
118 _("Galaxy"),
1babe8fd 119 _("One from my personal collection. It is really beautiful to see this configuration expand and shrink periodically for hundreds of tics before reaching a stable state."),
087e4f4a
GRG
120 13, 13,
121 "...***......."
122 "......*......"
123 "......*......"
124 "......*.....*"
125 ".....***....*"
2480be69
GRG
126 "....*...*...*"
127 ".****...****."
128 "*...*...*...."
087e4f4a
GRG
129 "*....***....."
130 "*.....*......"
131 "......*......"
132 "......*......"
e0a40292 133 ".......***..." ),
f6bcfd97
BP
134 LifePattern(
135 _("Glider gun"),
1babe8fd 136 _("A gun is a stationary pattern that emits spaceships forever. The glider gun shown here was the first known gun, and indeed the first known finite pattern with unbounded growth. It was found by Bill Gosper in November 1970. Many new guns have since been found."),
e0a40292
GRG
137 36, 9,
138 ".........................*.........."
29b07a38
GRG
139 "......................****.........."
140 ".............*.......****..........."
e0a40292
GRG
141 "............*.*......*..*.........**"
142 "...........*...**....****.........**"
143 "**.........*...**.....****.........."
144 "**.........*...**........*.........."
145 "............*.*....................."
146 ".............*......................" ),
f6bcfd97
BP
147 LifePattern(
148 _("Puffer train"),
1babe8fd 149 _("A puffer is an object that moves like a spaceship, except that it leaves a trail of debris behind. The puffer train is one of the best-known puffers. Originally found by Bill Gosper, this is a very dirty puffer; the tail does not stabilize until generation 5533. It consists of a B-heptomino (the middle pattern) escorted by two light weight space ships."),
e0a40292
GRG
150 5, 18,
151 "...*."
152 "....*"
153 "*...*"
154 ".****"
155 "....."
156 "....."
157 "....."
158 "*...."
159 ".**.."
160 "..*.."
161 "..*.."
162 ".*..."
163 "....."
164 "....."
165 "...*."
166 "....*"
167 "*...*"
168 ".****" ),
f6bcfd97
BP
169 LifePattern(
170 _("Max"),
9c157f38
DS
171 _("Max is the fastest-growing known pattern in Conway's Game of Life (possibly the fastest possible).")
172 + wxString(_(" It fills space to a density of 1/2, conjectured to be the maximum density, and does it at a speed"))
173 + wxString(_(" of c/2 in each of the 4 directions, which has been proven to be the maximum possible speed.\n\nPopulation"))
174 + wxString(_(" growth is:\n[(t+19)^2+463]/4 for t divisible by 4;\n[(t+19)^2+487]/4 for t even, not div. by 4;\n"))
175 + wxString(_("[(t+18)^2+639]/4 for t odd.\n\nOriginal construction, top/bottom stretchers by Hartmut Holzwart;"))
176 + wxString(_(" Size optimization, left/right stretchers by David Bell; Original idea, middle part, left/right stretcher"))
177 + wxString(_(" connection by Al Hensel.\n\nThis spacefiller by David Bell, September 1993.")),
e0a40292
GRG
178 29, 43,
179 ".....*.*....................."
180 "....*..*....................."
181 "...**........................"
182 "..*.........................."
183 ".****........................"
184 "*....*......................."
185 "*..*........................."
186 "*..*........................."
187 ".*.........***...***........."
188 "..****.*..*..*...*..*........"
189 "...*...*.....*...*..........."
190 "....*........*...*..........."
191 "....*.*......*...*..........."
192 "............................."
193 "...***.....***...***........."
194 "...**.......*.....*.........."
195 "...***......*******.........."
196 "...........*.......*........."
197 "....*.*...***********........"
198 "...*..*..*............**....."
199 "...*.....************...*...."
200 "...*...*.............*...*..."
201 "....*...************.....*..."
202 ".....**............*..*..*..."
203 "........***********...*.*...."
204 ".........*.......*..........."
205 "..........*******......***..."
206 "..........*.....*.......**..."
207 ".........***...***.....***..."
208 "............................."
209 "...........*...*......*.*...."
210 "...........*...*........*...."
211 "...........*...*.....*...*..."
212 "........*..*...*..*..*.****.."
213 ".........***...***.........*."
214 ".........................*..*"
215 ".........................*..*"
216 ".......................*....*"
217 "........................****."
218 "..........................*.."
219 "........................**..."
220 ".....................*..*...."
221 ".....................*.*....." )
087e4f4a 222};