From c1abca5cab9ffee80d9f86b65153da7654f5fdaf Mon Sep 17 00:00:00 2001 From: Nathan Date: Thu, 18 Jan 2018 20:44:54 -0500 Subject: [PATCH] addressing PR feedback --- examples/community/game_of_life/README.md | 20 +++++++++++++++++++ examples/community/game_of_life/life.png | Bin 0 -> 88480 bytes examples/community/game_of_life/life/grid.go | 8 ++++---- examples/community/game_of_life/life/life.go | 2 +- examples/community/game_of_life/main.go | 10 +++++----- 5 files changed, 30 insertions(+), 10 deletions(-) create mode 100644 examples/community/game_of_life/README.md create mode 100644 examples/community/game_of_life/life.png diff --git a/examples/community/game_of_life/README.md b/examples/community/game_of_life/README.md new file mode 100644 index 0000000..92d1aad --- /dev/null +++ b/examples/community/game_of_life/README.md @@ -0,0 +1,20 @@ +# Conway's Game of Lfe + +Created by [Nathan Leniz](https://github.com/terakilobyte). +Inspired by and heavily uses [the doc](https://golang.org/doc/play/life.go) + +> The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. The "game" is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or, for advanced "players", by creating patterns with particular properties. The Game has been reprogrammed multiple times in various coding languages. + +For more information, please see the [wikipedia](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) article. + +## Use + + go run main.go -h + -frameRate duration + The framerate in milliseconds (default 33ms) + -size int + The size of each cell (default 5) + -windowSize float + The pixel size of one side of the grid (default 800) + +![life](life.png) diff --git a/examples/community/game_of_life/life.png b/examples/community/game_of_life/life.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8807a1fac3655960155828c617d487cfb3d781 GIT binary patch literal 88480 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 *frameRate { + select { + case <-tick: gridDraw.Clear() game.A.Draw(gridDraw) gridDraw.Draw(win) game.Step() - last = time.Now() } win.Update() }