GithubHelp home page GithubHelp logo

tracks12 / conwaygameoflife.py Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 1.0 20.15 MB

Le jeu de la vie de John Horton Conway

License: GNU General Public License v3.0

Python 100.00%
python python3 conwaygameoflife gameoflife john horton conway game of life

conwaygameoflife.py's Introduction

conwayGameOfLife

Le jeu de la vie de John Horton Conway

Pour en connaître un peu plus, vous pouvez visiter la page Wikipedia du jeu de la vie.

Sommaire

  1. Consignes
  2. Pré-requis
  3. Utilisations
  4. Sauvegarde
  5. Exemples d'utilisations
  6. Licence

Consignes

La liste des consignes du sujet est disponible dans le todo.md

Sommaire

Pré-requis

L'installation de Python 3 est recommandé pour l'éxécution du script

Sommaire

Dépendances

Sommaire

Utilisations

Fonctionnalités Commandes
Exécuter le script $ python main.py
Créer une nouvelle map $ python main.py -n <mapName> <x> <y>
$ python main.py --new <mapName> <x> <y>
Insérer une ou plusieurs cellule(s) $ python main.py -a <mapName> "[(x, y), ...]"
$ python main.py --add <mapName> "[(x, y), ...]"
Insérer une entité $ python main.py -A <mapName> <type> <x> <y>
$ python main.py --add-entity <mapName> <type> <x> <y>
Afficher une map enregistrée $ python main.py -d <mapName>
$ python main.py --display <mapName>
Réinitialiser une map $ python main.py -r <mapName>
$ python main.py --reset <mapName>
Jouer une map $ python main.py -s <mapName>
$ python main.py --start <mapName>

Sommaire

Sauvegarde

Les maps générées sont sauvegardées de manière automatique après chaque mise à jour de celle-ci dans un fichier .map portant le nom de la map dans le répertoire saves/ (exemple: world.map)

Sommaire

Les entités

De même que pour la map, les entités sont stockées dans le fichier entity.json

Si vous voulez ajouter des entités dans le fichier, vous pouvez le faire en suivant le formatage de positionnement relatif avec les coordonnées x et y comme dans l'exemple ci dessous:

{
  "nom de l'entité": "[(x, y), (x, y+1), (x+1, y), (x+1, y+1)]",
  ...
}

Sommaire

Exemples d'utilisations

On génère une nouvelle map qu'on va appeller "world" avec $ python main.py -n world 50 50

On ajoute les cellules active de sorte à former une entité:

  • Bloc: $ python main.py -a world "[(2,1), (2,2), (3,1), (3,2)]"
  • Grenouille: $ python main.py -a world "[(2,1), (3,1), (4,2), (3,4), (2,4), (1,3)]"
  • Planeur: $ python main.py -a world "[(1,1), (2,2), (2,3), (3,1), (3,2)]"

Et on lance le jeu avec $ python main.py en entrant le nom de la map que l'on souhaite charger, ou bien le jeu avec la map souhaitée en entrant $ python main.py -s world directement

Sommaire

Aperçu

aperçu

Sommaire

Remarque

  • Vous pouvez checker votre configuration avec $ python main.py -d world pour afficher la map avec vos cellules actives
  • Depuis la version 2.0, vous pouvez maintenant enregistrer une entité complète dans entity.json et l'ajouter sur la map comme ceci:
    • Départ de floraison: $ python main.py -A world flowering 25 25
    • Le clown: $ python main.py -A world clown 25 25

Si vous voulez entièrement la réinitialiser, $ python main.py -r world remet toutes les cellules d'une map à 0

Sommaire

Licence

Code sous license GPL v3

Sommaire

conwaygameoflife.py's People

Contributors

tracks12 avatar

Watchers

 avatar  avatar

Forkers

flokitoto

conwaygameoflife.py's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.