galsen-game-of-life


Namegalsen-game-of-life JSON
Version 1.1 PyPI version JSON
download
home_pagehttps://github.com/abdoufermat5/conway-game-of-life
SummaryGame of life version galsen
upload_time2023-11-16 16:57:32
maintainer
docs_urlNone
authorabdoufermat
requires_python
licenseGPLv3
keywords game of life game python algorithm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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).

![illustration](https://upload.wikimedia.org/wikipedia/commons/e/e5/Gospers_glider_gun.gif)

### 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:
```bash
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](https://fr.wikipedia.org/wiki/Websocket) client/serveur.

![illustration](https://upload.wikimedia.org/wikipedia/commons/1/10/Websocket_connection.png)

Pour lancer le serveur websocket, il faut lancer le script `main_server.py` dans le dossier `api/`:
```bash
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.

<b>Spoiler Alert:</b> 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:
```bash title="test-data.txt"
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`:

```bash
pip3 install galsen-game-of-life
```

ensuite on peut lancer en ligne de commande:
```bash
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`:
```bash
galsen-game-of-life --input test-data.txt --num-steps 10 --output-file test-data-out.txt --verbose 1
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/abdoufermat5/conway-game-of-life",
    "name": "galsen-game-of-life",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "game of life,game,python,algorithm",
    "author": "abdoufermat",
    "author_email": "",
    "download_url": "",
    "platform": null,
    "description": "# Jeu de la vie Conway\n\n### Description\nLe jeu de la vie (ou game of life) est un automate cellulaire \u00e9voluant sur une grille (de taille th\u00e9oriquement infinie)\ncompos\u00e9e de cases carr\u00e9es appel\u00e9es cellules qui ont un \u00e9tat binaire (1 pour vivante et 0 pour morte). Les cellules\n\u00e9voluent dans le temps en fonction de leur voisinage (chaque cellule a 8 cellules voisines)., ce qui modifie la grille\n\u00e0 chaque \u00e9tape d'\u00e9volution (appel\u00e9e g\u00e9n\u00e9ration).\n\n![illustration](https://upload.wikimedia.org/wikipedia/commons/e/e5/Gospers_glider_gun.gif)\n\n### R\u00e8gles\n- Une cellule morte poss\u00e9dant exactement 3 voisines vivantes devient vivante (elle na\u00eet).\n- Une cellule vivante poss\u00e9dant 2 ou 3 voisines vivantes le reste, sinon elle meurt.\n- Les autres cellules (mortes ou vivantes) restent dans leur \u00e9tat actuel.\n\n### Impl\u00e9mentation\n- Le jeu de la vie est impl\u00e9ment\u00e9 en python sous forme de package: `game_of_life`\n- Le package est publie sur PyPi: https://pypi.org/project/galsen-game-of-life/\n\n### Utilisation\nOn commence par installer le package:\n```bash\npip3 install galsen-game-of-life\n```\nPour tester notre implementation du jeu de la vie on a plusieurs options:\n\n#### 1. application client/serveur\nOn a mis en place un [websocket](https://fr.wikipedia.org/wiki/Websocket) client/serveur.\n\n![illustration](https://upload.wikimedia.org/wikipedia/commons/1/10/Websocket_connection.png)\n\nPour lancer le serveur websocket, il faut lancer le script `main_server.py` dans le dossier `api/`:\n```bash\npython3 api/main_server.py\n```\n\nLe serveur websocket est alors accessible sur `ws://localhost:8000`\n\nEnsuite on a mis en place un client javascript pour pouvoir communiquer avec le serveur websocket.\nIl suffit juste d'ouvrir le fichier `index.html` dans un navigateur web pour pouvoir jouer au jeu de la vie.\n\n<b>Spoiler Alert:</b> On est pas trop bon en html/css par ici!! \n\n#### 2. application console\n\nOn 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\nExemple de fichier de depart:\n```bash title=\"test-data.txt\"\n0 1 1 1 1 0 1 1 0 1\n0 0 0 0 0 0 0 0 0 1\n1 0 0 0 1 1 0 0 1 0\n0 1 1 0 1 1 0 1 0 1\n0 0 0 0 0 1 1 1 0 0\n0 0 0 1 0 0 1 0 1 0\n1 0 1 1 1 0 0 1 0 1\n1 1 0 0 0 0 0 0 1 1\n1 0 1 0 1 1 0 1 1 1\n1 0 0 0 0 0 1 0 0 0\n```\nPour lancer le jeu de la vie en ligne de commande, il faut ensuite installer le package `galsen-game-of-life`:\n\n```bash\npip3 install galsen-game-of-life\n```\n\nensuite on peut lancer en ligne de commande:\n```bash\ngalsen-game-of-life --input test-data.txt --num-steps 10 --output-file test-data-out.txt\n```\nSi on veut voir les etapes intermediaires, on peut ajouter l'option `--verbose`:\n```bash\ngalsen-game-of-life --input test-data.txt --num-steps 10 --output-file test-data-out.txt --verbose 1\n```\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "Game of life version galsen",
    "version": "1.1",
    "project_urls": {
        "Homepage": "https://github.com/abdoufermat5/conway-game-of-life"
    },
    "split_keywords": [
        "game of life",
        "game",
        "python",
        "algorithm"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4ac2e3ac64a1366d041a135fa12c0a45baac3ba36da74bf2f5dae78fabc75514",
                "md5": "99379d3cae91ca651fc93c9823b9df16",
                "sha256": "c3e316134af9ffea3c879b3fb751837ec992766f5c08f754233339b38a820ceb"
            },
            "downloads": -1,
            "filename": "galsen_game_of_life-1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "99379d3cae91ca651fc93c9823b9df16",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 17056,
            "upload_time": "2023-11-16T16:57:32",
            "upload_time_iso_8601": "2023-11-16T16:57:32.183392Z",
            "url": "https://files.pythonhosted.org/packages/4a/c2/e3ac64a1366d041a135fa12c0a45baac3ba36da74bf2f5dae78fabc75514/galsen_game_of_life-1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-11-16 16:57:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "abdoufermat5",
    "github_project": "conway-game-of-life",
    "github_not_found": true,
    "lcname": "galsen-game-of-life"
}
        
Elapsed time: 0.13378s