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é
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 :
from dé import Dé
def test_init():
assert isinstance(Dé(), Dé)
def test_position():
assert Dé().position == 1
def test_lancer():
dé = Dé()
dé.lancer()
assert 1 <= dé.position <= 6
def test_dé_texte():
dé = Dé()
assert dé.texte() == "⚀"
dé.position = 4
assert dé.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 Dé 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()