Differences between revisions 3 and 14 (spanning 11 versions)
Revision 3 as of 2007-01-01 00:08:35
Size: 345
Editor: KaiJaeger
Comment:
Revision 14 as of 2007-03-09 08:57:28
Size: 521
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= FunExamples = ## page was renamed from FunExamples
= John Conways`s "Game of Life" =
Line 3: Line 4:
[[TableOfContents]]

== Meaning of Life ==

Whatever you specify as right argument to this function:
This function takes a boolean matrix as argument and returns a boolean matrix with the new generation.
Line 10: Line 7:
MeaningOfLife←{+.×/⍎⊖⍕⊃¨⊂|⌊-*+○⌈∨.∧/>\</×÷!⌽⍉⍉⌹~⍴⍋⍒,⍟?⍳''≡1↑0⍴∊⍵}   ∇ nextGeneration←Life currentGeneration
[1] ⍝⍝ Take a matrix of Booleans and returns one
[2] nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration
  ∇
Line 13: Line 13:
...will produce a reasonable answer, regardless which type/lenght/depth/rank it is. See also [http://catpad.net/michael/apl/ Conway's Game of Life in one line of APL]

----
CategoryShowcases

John Conways`s "Game of Life"

This function takes a boolean matrix as argument and returns a boolean matrix with the new generation.

  ∇ nextGeneration←Life currentGeneration
[1] ⍝⍝ Take a matrix of Booleans and returns one
[2]  nextGeneration←↑1 currentGeneration∨.∧3 4=+/,¯1 0 1∘.⊖¯1 0 1∘.⌽⊂currentGeneration

See also [http://catpad.net/michael/apl/ Conway's Game of Life in one line of APL]


CategoryShowcases

GameOfLife (last edited 2015-01-28 19:11:48 by KaiJaeger)