Projet : Amélioration des objets dés

Prérequis :

Nous allons améliorer la classé que nous avions crée lors du projet précédent (en prérequis).

Un code possible du Dé

Fichier dé.py :

import random

class Dé:
    def __init__(self):
        self.position = 1 

    def lancer(self):
        self.position = random.randrange(1, 6 + 1)
    
    def texte(self):
        if self.position == 1:
            return "⚀"
        elif self.position == 2:
            return "⚁"
        elif self.position == 3:
            return "⚂"
        elif self.position == 4:
            return "⚃"
        elif self.position == 5:
            return "⚄"
        else:
            return "⚅"

Fichier test_dé.py :

fromimportdef test_init():
    assert isinstance((),)


def test_position():
    assert().position == 1


def test_lancer():=().lancer()
    assert 1 <=.position <= 6


def test_dé_texte():=()
    assert.texte() == "⚀".position = 4
    assert.texte() == "⚃"

Valeur par défaut

Faites en sorte que l'on puisse créer des dés avec une position initiale, On doit pouvoir :

  • créer un dé sans paramètre, Dé(), et sa position doit être sur la position 1
  • créer un dé avec un paramètre qi sera sa position par défaut Dé(4) par exemple.

Ajoutez des tests pour prendre en compte de cette nouvelle fonctionnalité.

Afficher des dés

Remplacez la méthode Dé.texte() par la méthode Dé.__str__().

Modifiez les tests pour prendre en compte de cette nouvelle méthode.

min et max dans classe

Notre classe contient 2 magic numbers qui sont les bornes du lancé. Supprimons-les :

Créez deux attributs de classes MIN_VALEUR et MAX_VALEUR qui vont permettre de supprimer les magics numbers de la méthode Dé.lancer()