Game of life version galsen
Project description
Jeu de la vie Conway
Description
Le jeu de la vie (ou game of life) est un automate cellulaire évoluant sur une grille (de taille théoriquement infinie) composée de cases carrées appelées cellules qui ont un état binaire (1 pour vivante et 0 pour morte). Les cellules évoluent dans le temps en fonction de leur voisinage (chaque cellule a 8 cellules voisines)., ce qui modifie la grille à chaque étape d'évolution (appelée génération).
Règles
- Une cellule morte possédant exactement 3 voisines vivantes devient vivante (elle naît).
- Une cellule vivante possédant 2 ou 3 voisines vivantes le reste, sinon elle meurt.
- Les autres cellules (mortes ou vivantes) restent dans leur état actuel.
Implémentation
- Le jeu de la vie est implémenté en python sous forme de package:
game_of_life
- Le package est publie sur PyPi: https://pypi.org/project/galsen-game-of-life/
Utilisation
On commence par installer le package:
pip3 install galsen-game-of-life
Pour tester notre implementation du jeu de la vie on a plusieurs options:
1. application client/serveur
On a mis en place un websocket client/serveur.
Pour lancer le serveur websocket, il faut lancer le script main_server.py
dans le dossier api/
:
python3 api/main_server.py
Le serveur websocket est alors accessible sur ws://localhost:8000
Ensuite on a mis en place un client javascript pour pouvoir communiquer avec le serveur websocket.
Il suffit juste d'ouvrir le fichier index.html
dans un navigateur web pour pouvoir jouer au jeu de la vie.
Spoiler Alert: On est pas trop bon en html/css par ici!!
2. application console
On peut aussi jouer au jeu de la vie en ligne de commande. Pour cela il vous faudra un fichier de depart contenant un etat initial Exemple de fichier de depart:
0 1 1 1 1 0 1 1 0 1
0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 0
0 1 1 0 1 1 0 1 0 1
0 0 0 0 0 1 1 1 0 0
0 0 0 1 0 0 1 0 1 0
1 0 1 1 1 0 0 1 0 1
1 1 0 0 0 0 0 0 1 1
1 0 1 0 1 1 0 1 1 1
1 0 0 0 0 0 1 0 0 0
Pour lancer le jeu de la vie en ligne de commande, il faut ensuite installer le package galsen-game-of-life
:
pip3 install galsen-game-of-life
ensuite on peut lancer en ligne de commande:
galsen-game-of-life --input test-data.txt --num-steps 10 --output-file test-data-out.txt
Si on veut voir les etapes intermediaires, on peut ajouter l'option --verbose
:
galsen-game-of-life --input test-data.txt --num-steps 10 --output-file test-data-out.txt --verbose 1
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for galsen_game_of_life-1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3e316134af9ffea3c879b3fb751837ec992766f5c08f754233339b38a820ceb |
|
MD5 | 99379d3cae91ca651fc93c9823b9df16 |
|
BLAKE2b-256 | 4ac2e3ac64a1366d041a135fa12c0a45baac3ba36da74bf2f5dae78fabc75514 |