Projet : héritage
Mise en œuvre du mécanisme d'héritage.
Comptes bancaires
Vous allez construire une hiérarchie de produits bancaires.
Commencez par lire tout l'énoncé et créez la représentation UML des différentes classes.
Compte (générique)
Créez et testez une classe Compte qui servira de classe mère. Cette classe doit :
- posséder un titulaire (on suppose que c'est une chaîne de caractères)
- être créée sans argent déposé initialement.
- permettre de déposer de l'argent.
- permettre de retirer de l'argent (on suppose que l'on peut être à découvert).
Compte courant
Créez et testez une classe CompteCourant. Cette classe doit :
- être un
Compte - avoir un découvert autorisé fixé à la création
Vous implémenterez également la user story suivante :
- je possède un compte courant avec un découvert autorisé de 1000 euros
- je dépose 100 euros puis je consulte mon solde
- je retire 700 euros puis je consulte mon solde
- je retire 600 euros puis je consulte mon solde
Compte épargne
Créez et testez une classe CompteÉpargne. Cette classe doit :
- être un
Compte - avoir un taux d'intérêt
- avoir une somme plafond que l'on peut posséder
- être toujours positif ou nul (on ne peut être à découvert)
- on doit pouvoir connaître les intérêt selon son solde (c'est le taux fois son solde)
Livret A
Créez et testez une classe LivretA. Cette classe doit :
- être un
CompteÉpargne - avoir un taux d'intérêt de 3% et un plafond de 22950 euros
Vous implémenterez également la user story suivante :
- je possède un livret A
- je dépose 1000 euros puis je consulte mon solde
- je dépose 20000 euros puis je consulte mon solde
- je calcule mes intérêts
- je retire 15000 euros puis je consulte mon solde
- je retire 15000 euros puis je consulte mon solde
PEL
Créez et testez une classe PEL. Cette classe :
- doit être un
CompteÉpargne - doit avoir un taux d'intérêt de 2% et un plafond de 61200 euros
- ne permet pas de faire de retrait
La particularité du PEL est que l'on ne peut plus déposer d'argent dessus après 10 ans. Il faut donc tenir trace de son année de création et de l'année où l'on veut faire des dépôts. Le code de la user story suivante le fait. Faites en sorte que votre code permette de l'exécuter :
p = PEL("Ada Lovelace", année_ouverture=1835)
print("Dépôt (1840)")
p.dépose(1000, 1840)
print(p.solde)
print("Dépot (2022)")
p.dépose(1000, 2022)
print(p.solde)
print("Intérêts", p.calcule_intérêts())
print(p.solde)
print("Retrait")
p.retire(700)
print(p.solde)
print("Retrait")
p.retire(700)
print(p.solde)
Donjons et dragons
En reprenant le cours
Personnages
Créez (et testez) les classes personnage, magicien et guerrière.
Bataille
Créez un programme qui demande à l'utilisateur :
- les caractéristiques d'une guerrière (points de vie, attaque et score de défense)
- les caractéristiques d'un gobelin (points de vie, attaque)
- les caractéristiques d'un magicien (points de vie, attaque et attaque magique)
Puis, faites en sorte que la guerrière et le gobelin se tapent dessus à tour de rôle jusqu'à ce qu'un des deux meure.
Le dernier héros en vie est ensuite tué par le magicien qui le kite en lui jetant des sorts (comme un fourbe), puis le loote pour aller tout revendre au marchand du bourg (mais c'est une autre histoire et d'autres implémentations).
Vous donnerez le nombre de tours nécessaires pour que toute cette histoire se réalise (faire un cas où le gobelin survit et un autre ou la guerrière survit).