aboutsummaryrefslogtreecommitdiff
path: root/s-conway.pd
diff options
context:
space:
mode:
Diffstat (limited to 's-conway.pd')
-rw-r--r--s-conway.pd444
1 files changed, 444 insertions, 0 deletions
diff --git a/s-conway.pd b/s-conway.pd
new file mode 100644
index 0000000..7a2f75d
--- /dev/null
+++ b/s-conway.pd
@@ -0,0 +1,444 @@
+#N canvas 0 16 999 675 10;
+#X obj 912 -2 table \$0tng;
+#X obj 912 19 table \$0cur;
+#X obj 873 61 loadbang;
+#X msg 873 181 \; \$1tng resize \$2 \; \$1cur resize \$2 \;;
+#X obj 873 159 pack f f;
+#X obj 873 135 \$0;
+#X obj 924 136 * \$2;
+#X obj 873 93 t b b;
+#X obj 924 114 \$1;
+#X msg 935 61 bang;
+#N canvas 17 168 979 522 make-grid 0;
+#X obj 6 6 inlet;
+#X text 128 6 bang me to make the grid;
+#X obj 54 290 f;
+#X obj 6 442 pack f f s f;
+#X obj 329 244 \$0;
+#X obj 329 222 loadbang;
+#X obj 41 352 * 10;
+#X obj 6 352 * 10;
+#X msg 6 465 \; \$4grid obj \$1 \$2 tgl 8 0 \$3out \$3in empty 0 -6
+0 8 -262144 -1 -1 0 1 \;;
+#X obj 291 335 * 20;
+#X obj 226 361 +;
+#X obj 242 335 * \$1;
+#X obj 275 375 +;
+#X obj 200 330 t f f;
+#X obj 269 354 * 20;
+#X obj 344 317 \$0;
+#X obj 344 340 makefilename pd-%dgridrecs;
+#X obj 6 30 t b b;
+#X obj 599 460 pack f f f;
+#X obj 599 437 \$0;
+#X obj 599 374 t b f;
+#X obj 664 435 * 10;
+#X obj 631 435 * 10;
+#X msg 599 480 \; \$1grid donecanvasdialog 1 -1 1 0 -1 0 0 \$2 \$3
+0 0;
+#X obj 631 413 + 1;
+#X obj 664 413 + 3;
+#X obj 6 375 + 1;
+#X obj 41 375 + 21;
+#X msg 226 424 \; \$4 obj 10 \$3 cell-receive \$2out \$1 \$5;
+#X obj 226 403 pack f s f s f;
+#X obj 6 96 until;
+#X obj 6 120 f;
+#X obj 33 120 + 1;
+#X msg 36 75 0;
+#X obj 6 51 t b b;
+#X obj 6 183 until;
+#X obj 6 204 f;
+#X obj 33 204 + 1;
+#X msg 36 162 0;
+#X obj 6 141 t b b f;
+#X obj 6 162 \$1;
+#X obj 6 75 \$2;
+#X obj 110 229 f;
+#X obj 6 227 f;
+#X obj 6 250 t f b b f;
+#X obj 33 316 \$0;
+#N canvas 0 0 521 310 makename 0;
+#X obj 21 16 inlet;
+#X obj 140 15 inlet;
+#X obj 288 17 inlet;
+#X obj 289 166 outlet;
+#X obj 289 142 makefilename;
+#X obj 289 101 makefilename;
+#X msg 289 80 set \$1;
+#X msg 289 122 set \$1;
+#X obj 289 59 makefilename %%%%dx%%dy%d;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X restore 96 359 pd makename;
+#X connect 0 0 17 0;
+#X connect 2 0 46 1;
+#X connect 3 0 8 0;
+#X connect 4 0 3 3;
+#X connect 5 0 4 0;
+#X connect 6 0 27 0;
+#X connect 7 0 26 0;
+#X connect 9 0 12 1;
+#X connect 10 0 29 0;
+#X connect 11 0 10 1;
+#X connect 12 0 29 2;
+#X connect 13 0 10 0;
+#X connect 13 1 14 0;
+#X connect 14 0 12 0;
+#X connect 15 0 16 0;
+#X connect 15 0 29 4;
+#X connect 16 0 29 3;
+#X connect 17 0 34 0;
+#X connect 17 1 15 0;
+#X connect 18 0 23 0;
+#X connect 19 0 18 0;
+#X connect 20 0 19 0;
+#X connect 20 1 24 0;
+#X connect 21 0 18 2;
+#X connect 22 0 18 1;
+#X connect 24 0 22 0;
+#X connect 25 0 21 0;
+#X connect 26 0 3 0;
+#X connect 27 0 3 1;
+#X connect 29 0 28 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 31 0 39 0;
+#X connect 32 0 31 1;
+#X connect 33 0 31 1;
+#X connect 34 0 41 0;
+#X connect 34 1 33 0;
+#X connect 35 0 36 0;
+#X connect 36 0 37 0;
+#X connect 36 0 43 0;
+#X connect 37 0 36 1;
+#X connect 38 0 36 1;
+#X connect 39 0 40 0;
+#X connect 39 1 38 0;
+#X connect 39 2 42 0;
+#X connect 40 0 35 0;
+#X connect 41 0 30 0;
+#X connect 42 0 2 1;
+#X connect 42 0 6 0;
+#X connect 42 0 9 0;
+#X connect 42 0 11 0;
+#X connect 42 0 25 0;
+#X connect 43 0 20 0;
+#X connect 43 0 44 0;
+#X connect 44 0 7 0;
+#X connect 44 0 13 0;
+#X connect 44 1 45 0;
+#X connect 44 2 2 0;
+#X connect 44 3 46 2;
+#X connect 45 0 46 0;
+#X connect 46 0 3 2;
+#X connect 46 0 29 1;
+#X restore 865 581 pd make-grid;
+#X obj 865 541 loadbang;
+#X msg 930 541 bang;
+#X obj 865 611 namecanvas \$0grid;
+#N canvas 41 31 444 615 2082gridrecs 0;
+#X restore 865 634 pd \$0gridrecs;
+#X obj 352 354 inlet;
+#X obj 725 351 inlet;
+#X obj 720 591 outlet;
+#X text 525 262 args: [width] [height];
+#N canvas 0 0 867 691 life-iteration 0;
+#X msg 67 78 0;
+#X obj 41 140 f;
+#X obj 73 140 + 1;
+#X obj 5 2 inlet;
+#X obj 41 120 until;
+#X obj 41 78 \$1;
+#X obj 41 99 * \$2;
+#X msg 10 613 0;
+#X msg 61 613 1;
+#X obj 12 528 pack f f;
+#X obj 12 505 f;
+#X obj 12 459 t b f;
+#X obj 12 552 route 0 1;
+#X text 86 554 live cell or dead cell?;
+#X obj 12 579 select 3;
+#X obj 75 579 select 0 1 2 3;
+#X obj 28 482 tabread \$0cur;
+#X text 104 612 What to do \, depending on neighbours;
+#X obj 10 669 tabwrite \$0tng;
+#X msg 108 105 \; \$1tng const 0 \;;
+#X obj 108 78 \$0;
+#X obj 124 245 until;
+#X obj 124 266 f;
+#X obj 152 266 + 1;
+#X obj 186 397 0;
+#X obj 243 331 * -1;
+#X obj 378 235 \$1;
+#X obj 254 397 0;
+#X obj 202 373 - 1;
+#X obj 224 397 0;
+#X obj 381 398 0;
+#X obj 449 398 0;
+#X obj 465 375 + 1;
+#X obj 396 373 - 1;
+#X obj 419 398 0;
+#X obj 378 212 loadbang;
+#X obj 124 306 select 0 1 2 3 4 5 6 7;
+#X msg 340 212 bang;
+#X obj 417 266 * \$2;
+#X obj 352 453 +;
+#X obj 352 551 f;
+#X obj 352 505 tabread \$0cur;
+#X obj 41 168 t b f f f;
+#X obj 383 551 + 1;
+#X obj 593 371 pack f s;
+#X msg 593 394 \; \$2 \$1 \;;
+#X obj 5 23 t b b b b;
+#X obj 5 50 s \$0redraw;
+#X obj 593 21 r \$0redraw;
+#X msg 623 68 0;
+#X obj 593 130 f;
+#X obj 625 130 + 1;
+#X obj 593 110 until;
+#X obj 593 68 \$1;
+#X obj 593 89 * \$2;
+#X obj 593 45 t b b;
+#X obj 593 174 tabread \$0tng;
+#X obj 643 220 mod \$1;
+#X obj 691 220 / \$1;
+#X obj 691 241 int;
+#X obj 691 262 change;
+#X obj 336 580 f;
+#X obj 102 200 t b b b;
+#X obj 352 484 mod;
+#X obj 272 372 + 1;
+#X msg 342 397 1;
+#X msg 307 397 -1;
+#X obj 352 528 select 1;
+#X msg 154 223 0;
+#X obj 124 286 - 1;
+#X msg 124 223 9;
+#X obj 593 153 t f b f f;
+#N canvas 0 0 521 310 makename 0;
+#X obj 21 16 inlet;
+#X obj 140 15 inlet;
+#X obj 288 17 inlet;
+#X obj 289 166 outlet;
+#X obj 289 142 makefilename;
+#X obj 289 101 makefilename;
+#X msg 289 80 set \$1;
+#X msg 289 122 set \$1;
+#X obj 289 59 makefilename %%%%dx%dy%%din;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 8 0;
+#X connect 4 0 3 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X restore 644 313 pd makename;
+#X obj 612 256 \$0;
+#X connect 0 0 1 1;
+#X connect 1 0 2 0;
+#X connect 1 0 42 0;
+#X connect 2 0 1 1;
+#X connect 3 0 46 0;
+#X connect 4 0 1 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 0;
+#X connect 7 0 18 0;
+#X connect 8 0 18 0;
+#X connect 9 0 12 0;
+#X connect 10 0 9 0;
+#X connect 11 0 10 0;
+#X connect 11 1 9 1;
+#X connect 12 0 14 0;
+#X connect 12 1 15 0;
+#X connect 14 0 8 0;
+#X connect 15 0 7 0;
+#X connect 15 1 7 0;
+#X connect 15 2 8 0;
+#X connect 15 3 8 0;
+#X connect 15 4 7 0;
+#X connect 16 0 10 1;
+#X connect 20 0 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 23 0;
+#X connect 22 0 69 0;
+#X connect 23 0 22 1;
+#X connect 24 0 39 0;
+#X connect 25 0 28 0;
+#X connect 25 0 29 1;
+#X connect 25 0 64 0;
+#X connect 26 0 25 0;
+#X connect 26 0 33 0;
+#X connect 26 0 34 1;
+#X connect 26 0 32 0;
+#X connect 26 0 38 0;
+#X connect 27 0 39 0;
+#X connect 28 0 24 1;
+#X connect 29 0 39 0;
+#X connect 30 0 39 0;
+#X connect 31 0 39 0;
+#X connect 32 0 31 1;
+#X connect 33 0 30 1;
+#X connect 34 0 39 0;
+#X connect 35 0 26 0;
+#X connect 36 0 24 0;
+#X connect 36 1 29 0;
+#X connect 36 2 27 0;
+#X connect 36 3 66 0;
+#X connect 36 4 65 0;
+#X connect 36 5 30 0;
+#X connect 36 6 34 0;
+#X connect 36 7 31 0;
+#X connect 37 0 26 0;
+#X connect 38 0 63 1;
+#X connect 39 0 63 0;
+#X connect 40 0 43 0;
+#X connect 41 0 67 0;
+#X connect 42 0 62 0;
+#X connect 42 1 16 0;
+#X connect 42 2 18 1;
+#X connect 42 3 39 1;
+#X connect 43 0 40 1;
+#X connect 43 0 61 1;
+#X connect 44 0 45 0;
+#X connect 46 0 47 0;
+#X connect 46 1 5 0;
+#X connect 46 2 0 0;
+#X connect 46 3 20 0;
+#X connect 48 0 55 0;
+#X connect 49 0 50 1;
+#X connect 50 0 51 0;
+#X connect 50 0 71 0;
+#X connect 51 0 50 1;
+#X connect 52 0 50 0;
+#X connect 53 0 54 0;
+#X connect 54 0 52 0;
+#X connect 55 0 53 0;
+#X connect 55 1 49 0;
+#X connect 56 0 44 0;
+#X connect 57 0 72 1;
+#X connect 58 0 59 0;
+#X connect 59 0 60 0;
+#X connect 60 0 72 2;
+#X connect 61 0 11 0;
+#X connect 62 0 61 0;
+#X connect 62 1 70 0;
+#X connect 62 2 68 0;
+#X connect 63 0 41 0;
+#X connect 64 0 27 1;
+#X connect 65 0 39 0;
+#X connect 66 0 39 0;
+#X connect 67 0 40 0;
+#X connect 68 0 22 1;
+#X connect 68 0 40 1;
+#X connect 68 0 61 1;
+#X connect 69 0 36 0;
+#X connect 70 0 21 0;
+#X connect 71 0 56 0;
+#X connect 71 1 73 0;
+#X connect 71 2 57 0;
+#X connect 71 3 58 0;
+#X connect 72 0 44 1;
+#X connect 73 0 72 0;
+#X restore 352 385 pd life-iteration;
+#X text 723 333 Bang me to output all values;
+#X text 352 332 Bang me to do proceed one generation;
+#X obj 747 442 until;
+#X obj 747 396 \$1;
+#X obj 747 418 * \$2;
+#X obj 747 464 f;
+#X obj 774 464 + 1;
+#X msg 776 396 0;
+#X obj 747 485 tabread \$0cur;
+#X obj 720 565 list;
+#X obj 725 372 t b b b;
+#X obj 743 514 list prepend;
+#X obj 834 514 t l;
+#N canvas 212 221 507 438 save 0;
+#X obj 58 10 r SSSAD_SAVE;
+#X obj 53 250 outlet;
+#X obj 80 103 until;
+#X obj 80 57 \$1;
+#X obj 80 79 * \$2;
+#X obj 80 125 f;
+#X obj 107 125 + 1;
+#X msg 109 57 0;
+#X obj 80 146 tabread \$0cur;
+#X obj 53 226 list;
+#X obj 58 33 t b b b;
+#X obj 76 175 list prepend;
+#X obj 167 175 t l;
+#X connect 0 0 10 0;
+#X connect 2 0 5 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 5 0 6 0;
+#X connect 5 0 8 0;
+#X connect 6 0 5 1;
+#X connect 7 0 5 1;
+#X connect 8 0 11 0;
+#X connect 9 0 1 0;
+#X connect 10 0 9 0;
+#X connect 10 0 11 1;
+#X connect 10 1 3 0;
+#X connect 10 2 7 0;
+#X connect 11 0 12 0;
+#X connect 11 0 9 1;
+#X connect 12 0 11 1;
+#X restore 527 560 pd save;
+#N canvas 64 35 650 643 load 0;
+#X obj 40 6 inlet;
+#X obj 62 168 s \$0tng;
+#X obj 40 193 s \$0redraw;
+#X obj 62 145 list prepend;
+#X obj 40 74 t b l b;
+#X msg 91 97 0;
+#X connect 0 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 2 0;
+#X connect 4 1 3 0;
+#X connect 4 2 5 0;
+#X connect 5 0 3 1;
+#X restore 392 606 pd load;
+#X text 389 546 Save with [sssad];
+#X obj 392 582 sssad/sssad \$3/state;
+#X obj 920 360 inlet;
+#X connect 2 0 7 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 4 1;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 7 0;
+#X connect 11 0 10 0;
+#X connect 12 0 10 0;
+#X connect 15 0 19 0;
+#X connect 16 0 30 0;
+#X connect 22 0 25 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 0;
+#X connect 25 0 26 0;
+#X connect 25 0 28 0;
+#X connect 26 0 25 1;
+#X connect 27 0 25 1;
+#X connect 28 0 31 0;
+#X connect 29 0 17 0;
+#X connect 30 0 29 0;
+#X connect 30 0 31 1;
+#X connect 30 1 23 0;
+#X connect 30 2 27 0;
+#X connect 31 0 32 0;
+#X connect 31 0 29 1;
+#X connect 32 0 31 1;
+#X connect 33 0 36 1;
+#X connect 36 0 34 0;
+#X connect 37 0 34 0;
+#X coords 0 -1 1 0 80 100 1 0 0;