O Jogo da Vida, de John Conway

Sábado passado eu fiz dreadlockes novamente, foi um processo doloroso, o cabelo fica sendo puxado constantemente até crescer um pouco, isso me tirou o sono nas últimas madrugadas.

Essa insônia forçada me colocou na frente do computador e eu resolvi programar algo divertido. Após algumas horas me degladiando (pela 89a vez) com a Orientação a Objeto do JavaScript, que é muito chata até você pegar o jeito, consegui finalizar um algoritmo do Jogo da Vida de John Conway.

O jogo da vida é um autômato celular desenvolvido pelo matemático britânico John Horton Conway em 1970. O jogo foi criado de modo a reproduzir, através de regras simples, as alterações e mudanças em grupos de seres vivos, tendo aplicações em diversas áreas da ciência.

Game of Life

As regras são simples e elegantes:

  1. Qualquer célula viva com menos de dois vizinhos vivos morre de solidão.
  2. Qualquer célula viva com mais de três vizinhos vivos morre de superpopulação.
  3. Qualquer célula com exatamente três vizinhos vivos se torna uma célula viva.
  4. Qualquer célula com dois vizinhos vivos continua no mesmo estado para a próxima geração.

Wikipédia

O objetivo é me divertir ao desenvolver um sistema que, a partir de regras simples, apresente resultados complexos. Sei que ainda há muito a otimizar no código, mas o objetivo primário foi cumprido.

GliderGunAbra agora mesmo o Jogo da Vida, pinte uns quadradinhos e fique vendo sua colônia de células crescer, diminuir ou estagnar, veja na Wikipédia alguns exemplos de imagens que você pode usar para fazer experimentos.