X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2480be69b159027a3673eee1a4fc4e16287d058d..12bba77343654dc309a69ca2bcb5e0041c658395:/demos/life/samples.inc diff --git a/demos/life/samples.inc b/demos/life/samples.inc index 41425e856a..63b6d820c2 100644 --- a/demos/life/samples.inc +++ b/demos/life/samples.inc @@ -17,16 +17,16 @@ * * Name, * Description, - * Width, Height, - * Data, ('*' = alive, '.' = dead) - * Field width, Field height, (optional, defaults to 20 x 20) - * Wraparound (optional, defaults to TRUE) + * Width, + * Height, + * Data ('*' = alive, '.' = dead) * */ -LifeShape g_shapes[] = +const LifePattern g_patterns[] = { - LifeShape( _("Glider"), + LifePattern( + _("Glider"), _("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."), @@ -34,7 +34,8 @@ LifeShape g_shapes[] = ".*." "..*" "***"), - LifeShape( _("Heavyweight spaceship"), + LifePattern( + _("Heavyweight spaceship"), _("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 " @@ -45,7 +46,8 @@ LifeShape g_shapes[] = "......*" "*.....*" ".******"), - LifeShape( _("Eater"), + LifePattern( + _("Eater"), _("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 " @@ -61,7 +63,8 @@ LifeShape g_shapes[] = "......*.*." "........*." "........**" ), - LifeShape( _("Dice shaker"), + LifePattern( + _("Dice shaker"), _("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."), @@ -72,7 +75,8 @@ LifeShape g_shapes[] = "*.*.*.*" "*.*.*.*" "**...**" ), - LifeShape( _("Hertz oscillator"), + LifePattern( + _("Hertz oscillator"), _("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 " @@ -89,7 +93,8 @@ LifeShape g_shapes[] = ".............." ".......**....." ".......**....." ), - LifeShape( _("Phoenix"), + LifePattern( + _("Phoenix"), _("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."), @@ -102,7 +107,8 @@ LifeShape g_shapes[] = ".*......" "...*.*.." "...*...." ), - LifeShape( _("R-pentomino"), + LifePattern( + _("R-pentomino"), _("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 " @@ -111,9 +117,9 @@ LifeShape g_shapes[] = 3, 3, ".**" "**." - ".*.", - 80, 80, FALSE ), - LifeShape( _("Thunderbird"), + ".*." ), + LifePattern( + _("Thunderbird"), _("The thunderbird is another popular methuselah, which " "doesn't stabilize until the 243th generation. Note that " "because the initial configuration is symmetrical with " @@ -124,18 +130,17 @@ LifeShape g_shapes[] = "..." ".*." ".*." - ".*.", - 60, 60, FALSE ), - LifeShape( _("Accorn"), + ".*." ), + LifePattern( + _("Accorn"), _("Probably the most popular methuselah, the accorn lives " - "for 5206 (!) generations. To see it in action, a very " - "large game field is needed."), + "for 5206 (!) generations."), 7, 3, ".*....." "...*..." - "**..***", - 150, 150, FALSE ), - LifeShape( _("Galaxy"), + "**..***" ), + LifePattern( + _("Galaxy"), _("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."), @@ -152,6 +157,113 @@ LifeShape g_shapes[] = "*.....*......" "......*......" "......*......" - ".......***...", - 80, 80, FALSE ) + ".......***..." ), + LifePattern( + _("Glider gun"), + _("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."), + 36, 9, + ".........................*.........." + "......................****.........." + ".............*.......****..........." + "............*.*......*..*.........**" + "...........*...**....****.........**" + "**.........*...**.....****.........." + "**.........*...**........*.........." + "............*.*....................." + ".............*......................" ), + LifePattern( + _("Puffer train"), + _("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."), + 5, 18, + "...*." + "....*" + "*...*" + ".****" + "....." + "....." + "....." + "*...." + ".**.." + "..*.." + "..*.." + ".*..." + "....." + "....." + "...*." + "....*" + "*...*" + ".****" ), + LifePattern( + _("Max"), + _("Max is the fastest-growing known pattern in Conway's Game " + "of Life (possibly the fastest possible). It fills space to " + "a density of 1/2, conjectured to be the maximum density, " + "and does it at a speed of c/2 in each of the 4 directions, " + "which has been proven to be the maximum possible speed.\n" + "\n" + "Population 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" + "[(t+18)^2+639]/4 for t odd.\n" + "\n" + "Original construction, top/bottom stretchers by Hartmut " + "Holzwart; Size optimization, left/right stretchers by David " + "Bell; Original idea, middle part, left/right stretcher " + "connection by Al Hensel.\n" + "\n" + "This spacefiller by David Bell, September 1993."), + 29, 43, + ".....*.*....................." + "....*..*....................." + "...**........................" + "..*.........................." + ".****........................" + "*....*......................." + "*..*........................." + "*..*........................." + ".*.........***...***........." + "..****.*..*..*...*..*........" + "...*...*.....*...*..........." + "....*........*...*..........." + "....*.*......*...*..........." + "............................." + "...***.....***...***........." + "...**.......*.....*.........." + "...***......*******.........." + "...........*.......*........." + "....*.*...***********........" + "...*..*..*............**....." + "...*.....************...*...." + "...*...*.............*...*..." + "....*...************.....*..." + ".....**............*..*..*..." + "........***********...*.*...." + ".........*.......*..........." + "..........*******......***..." + "..........*.....*.......**..." + ".........***...***.....***..." + "............................." + "...........*...*......*.*...." + "...........*...*........*...." + "...........*...*.....*...*..." + "........*..*...*..*..*.****.." + ".........***...***.........*." + ".........................*..*" + ".........................*..*" + ".......................*....*" + "........................****." + "..........................*.." + "........................**..." + ".....................*..*...." + ".....................*.*....." ) };