Documentation du jeu 2048 - SCIENCE DE DONNEES - M2 COSMO

Contenu :

Index du contenu du Module 2048

INFORMATION SUR LE LOGICIEL 2048

# 2048 by AF & MT

2048_AF_MT est une implémentation en Python du célèbre jeu de puzzle 2048 par Antony Frackowiak et Matthieu Thomeer, dans le cadre du cours de science des données du Master 2 de Cosmologie à l’université Claude Bernard Lyon 1. Le jeu consiste à glisser des tuiles numérotées sur une grille pour combiner les tuiles et atteindre le nombre 2048. Ce projet met en avant la programmation orientée objet et inclut des fonctionnalités telles que la personnalisation des couleurs du texte en console. L’interface se fait à travers la console dans un but “retro”.

## Table des matières

  • [Fonctionnalités](#fonctionnalités)

  • [Installation](#installation)

  • [Utilisation](#utilisation)

  • [Structure du projet](#structure-du-projet)

  • [Les tests](#Les-tests)

  • [Contributions](#contributions)

  • [License](#license)

## Fonctionnalités

  • Interface en ligne de commande simple et intuitive.

  • Personnalisation des couleurs du texte grâce à un module de formatage.

  • Gestion des mouvements des tuiles et des combinaisons.

## Installation

Pour installer Game 2048, suivez ces étapes :

  1. Clonez le dépôt GitHub :

    `bash $ git clone https://gitlab.in2p3.fr/matthieu.thomeer/2048_af_mt.git `

  2. Allez dans le dossier du package :

    `bash $ cd 2048_af_mt `

  3. Installez le package à l’aide de pip :

    `bash $ pip install . `

    Si vous n’avez pas pip, vous pouvez utiliser :

    `bash $ python3 setup.py install `

## Utilisation

Pour lancer une partie, il suffit d’entrer dans un terminal de commande :

`bash $ 2048 `

ou bien :

`bash $ Jeu `

ou bien :

`bash $ Game ` Le terminal de commande affiche alors le titre déroulant du jeu. Un grille apparait, avec deux tuiles de valeur “2”. Le but est de déplacer les tuiles dans les directions, haut / bas / gauche / droite, afin de combiner les tuiles de même valeurs et d’atteindre la tuile finale de valeur 2048. Les commandes de jeu sont :

Pour aller vers le haut : - haut - z

Pour aller vers la gauche : - gauche - q

Pour aller vers le bas : - bas - s

Pour aller vers la droite : - droite - d

Une partie de finit lorsque plus aucun mouvement n’est possible, ou bien que l’une des tuiles à atteint la valeur de 2048. Le score est alors affiché.

## Structure du projet

Ce projet comprend les fichiers suivants :

  • game_2048/ - game_2048.py : Logique principale du jeu - font.py : Module pour la personnalisation des couleurs - __init__.py : Fichier d’initialisation du module - __main__.py : Point d’entrée du programme

  • tests/ : Dossier contenant les tests - __init__.py : Fichier d’initialisation des tests - test_font.py : Tests pour le module font - test_game.py : Tests pour la logique du jeu

  • docs/ : Dossier contenant la documentation - conf.py : Fichier de configuration de la documentation - index.rst : Fichier d’index pour la documentation - module.rst : Documentation pour les modules - game_2048_af_mt.rst : Documentation spécifique au jeu

  • setup.py : Fichier de setup du module

  • setup.cfg : Complément du fichier setup.py

  • LICENSE : Fichier de licence du logiciel

  • README.md : Fichier manuel du logiciel

## Les Tests

Afin de s’assurer du bon fonctionnement du code, chacune des fonctions a été testée, en prenant en compte le maximum de situations dans lesquelles un joueur pourrait se retrouver.

Afin de lancer les tests :

`bash $ pytest tests/test_game.py ` `bash $ pytest tests/test_font.py `

Afin d’obtenir le coverage :

`bash $ pytest --cov=test --cov-report=term-missing `

## Contributions

Les contributions sont les bienvenues! Pour contribuer à 2048 veuillez suivre ces étapes :

  1. Forkez le projet.

  2. Créez une branche pour votre fonctionnalité

    `bash $ git checkout -b feature-nouvelle-fonctionnalité `

  3. Commitez vos changements.

    `bash $ git commit -m 'Ajout d\'une nouvelle fonctionnalité' `

  4. Poussez votre branche.

    `bash $ git push origin feature-nouvelle-fonctionnalité `

  5. Ouvrez une Pull Request.

## License

Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.