Skip to content

Implementado em python este código demonstra o funcionamento do Jogo da vida, este código adota as melhores práticas de desenvolvimento de software.

License

Notifications You must be signed in to change notification settings

ArvoreDosSaberes/Jogo_da_Vida

Repository files navigation

CI visitors License: CC BY-SA 4.0 Language: Portuguese Language-C CMake Raylib Issues Stars Forks PRs Welcome Watchers Last Commit Contributors# Jogo da Vida

Sobre o Projeto

Este projeto implementa o famoso Jogo da Vida (Game of Life), criado por John Horton Conway em 1970. Trata-se de um autômato celular, isto é, um sistema discreto que evolui em passos de tempo segundo regras matemáticas simples, mas capazes de gerar comportamentos complexos e surpreendentes.

Teoria — O que é o Jogo da Vida?

O Jogo da Vida é um exemplo clássico de sistemas dinâmicos e computação baseada em regras. Ele é amplamente estudado em matemática, ciência da computação, filosofia da complexidade, teoria dos autômatos e lógica matemática.

Como funciona:

  • O "universo" do jogo é uma grade bidimensional de células.
  • Cada célula pode estar viva (1) ou morta (0).
  • A evolução do sistema ocorre em passos discretos (gerações).
  • O estado de cada célula na próxima geração depende apenas do estado atual dela e de seus 8 vizinhos imediatos.

Regras do Jogo:

  1. Qualquer célula viva com 2 ou 3 vizinhos vivos sobrevive.
  2. Qualquer célula morta com exatamente 3 vizinhos vivos se torna viva.
  3. Todas as outras células morrem ou permanecem mortas na próxima geração.

Essas regras simples geram padrões que podem se estabilizar, oscilar, se mover pelo campo ou crescer de forma caótica.

Importância filosófica e matemática:

  • O Jogo da Vida é um exemplo de emergência: comportamentos complexos surgem de regras simples.
  • É Turing completo: pode simular qualquer computador universal.
  • Inspirou discussões sobre vida artificial, auto-organização e limites da lógica formal.

Como usar o projeto

1. Clone o repositório

git clone <url-do-repositorio>
cd Jogo_da_Vida

2. Crie o ambiente virtual

python3 -m venv venv
source venv/bin/activate

3. Instale as dependências

pip install -r requirements.txt

4. Execute o jogo

python main.py

Controles da Interface

  • Botão "Reiniciar": reinicia o campo com células aleatórias.
  • Scroll bar: selecione o tamanho do campo entre 50x50 e 200x200.
  • Clique esquerdo: cria vida em uma célula morta ou mata uma célula viva.
  • ESC: fecha o jogo.
  • Ctrl+Q: fecha o jogo.
  • Ctrl+C (no terminal): encerra o jogo de forma graciosa.

Estrutura do Código

  • main.py: ponto de entrada do programa.
  • game_controller.py: controla eventos, fluxo principal e integração entre lógica e interface.
  • game_display.py: gerencia a interface gráfica (pygame).
  • life_game.py: implementa o algoritmo e estado do Jogo da Vida.
  • requirements.txt: dependências do projeto.

Referências

About

Implementado em python este código demonstra o funcionamento do Jogo da vida, este código adota as melhores práticas de desenvolvimento de software.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages