aboutsummaryrefslogtreecommitdiff
path: root/s-conway.pd
blob: 7a2f75d98479accc1b023f386faa58081f4238f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
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
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
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;