Skip to content
dojo project for game of life and its alternatives
JavaScript Go HTML Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.babelrc
.eslintrc.js
.gitignore
README.md
gol.d3.js
gol.go
gol.py
gol.react.js
index.d3.html
index.html
index.react.html
package-lock.json
package.json
test_gol.py
webpack.config.js

README.md

生命游戏及其变形

Python版本

  • python3 gol.py (保证8080端口可用)
  • 打开浏览器(推荐Firefox,别的没有测试过),输入地址:http://localhost:8080/30,50 即可,这里的30和50是行列数
  • 注意:当前版本为了实现简单,每次都是把所有数据重写pre标记,行列数大的时候会有性能问题

D3JS版本

  • Online Demo
  • 在项目目录下执行http-server (nodejs)或python3 -m http.server 8080 (python)启动一个web服务器
  • 打开浏览器,输入地址:http://localhost:8080/index.d3.html
  • 点击Play
  • 可以修改行列数和刷新间隔
  • 注意:当数据较大时会占用较大CPU

ReactJS版本

  • Online Demo
  • 在GameOfLife的主逻辑上直接用了D3版本的代码
  • 显示层用了土土的div
  • 主要展示了ReactJS基于state进行render的特点
  • 执行的时候通过http-server或者python -m http.server 8080启动web服务器
  • 在浏览器里输入地址:http://localhost:8080/index.react.html
  • 设置行列数和刷新间隔,点击Play

GoLang终端版本

  • go build -o gol gol.go
  • ./gol -r 40 -c 80 -i 200 # 默认为30行,60列

效果如下:

asciicast

Reference

You can’t perform that action at this time.