Differences between revisions 2 and 14 (spanning 12 versions)
Revision 2 as of 2007-01-01 00:08:20
Size: 343
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 12: 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)