N.S.I. WorkSpace T-Th-A A.2 – Programmation objet : classes, attributs, méthodes, objets.

A.2 – Programmation objet : classes, attributs, méthodes, objets.

Categories:

Exercices pour s’entraîner

Cliquez !

Exercices conseillés

n°8 page 46

n°18 page 48

n°19 page 48

Cliquez !

Exercices conseillés

dans l’édition de 2020, exercice 7 page 80 « Jeu de la vie ».

Cliquez !

Exercices conseillés

n°23 page 63

n°25 page 64

n°26 page 64 et 65

Cliquez !

Exercices conseillés

Cliquez !

Exercices conseillés

Cliquez !

Exercices conseillés

n°4.1 page 102

Exercice 1 – Des équipes de joueurs

Dans le cadre d’un travail sur un projet informatique, un groupe d’élèves doit programmer un jeu dans lequel doivent intervenir plusieurs équipes composées de plusieurs joueurs.

Chaque équipe sera identifiée par un nom d’une part et par son score qui vaut 100 au départ mais qui changera au cours du déroulement du jeu d’autre part.

Un joueur sera identifié d’abord par un nom, ensuite par le nom de l’équipe dont il fait partie, et enfin par son niveau d’énergie qui vaut 100 au départ mais qui variera au cours du jeu.

1 – Dans un éditeur/interpréteur de langage Python :

>> créer deux nouveaux documents et les sauvegarder dans un même répertoire avec les noms suivants : ‘module_Jeu.py’ et ‘main_Jeu.py’ ;

>> dans le document ‘module_Jeu.py’, définir deux classes : ‘Equipe’ d’une part et ‘Joueur’ d’autre part et en pour chacune d’elles écrire le ‘constructeur’ en tenant compte des informations données ci-dessus pour le choix des attributs et le ou les arguments requis ;

Autocorrection
module_Jeu.py
module_Jeu.py

>> dans le document ‘main_Jeu.py’, écrire une instruction qui permet d’importer le contenu du module ‘module_Jeu’, puis écrire les instructions qui permettent d’instancier la classe ‘Equipe’ pour définir deux équipes dont les noms seront ‘Jaune’, ‘Bleu’, puis écrire les instructions qui permettent d’instancier la classe ‘Joueur’ pour définir deux joueurs pour chacune des deux équipes, à savoir ‘Edith’, ‘Marcel’, ‘Judith’ et ‘Paul’.

Autocorrection
main_Jeu.py

2 – Ajout de méthodes et d’une fonction

>> Dans la classe ‘Equipe’ ajouter trois méthodes, une première qui permet de connaître le score d’une équipe, une deuxième qui permet de connaître son nom, et une troisième qui permet d’ajouter ou de retirer un nombre ‘p’ de points au score d’une équipe ;

>> Dans la classe ‘Joueur’ ajouter trois méthodes, une première qui permet de connaître le nom du joueur, une deuxième qui permet de connaître son niveau d’énergie d’un joueur, et une troisième qui permet d’augmenter ou de diminuer ce niveau d’énergie ;

Autocorrection
module_Jeu.py
module_Jeu.py


>> Dans le ‘main_Jeu.py’ ajouter une fonction ‘defi’ qui prend trois arguments : un joueur, un nombre entier positif ou négatif correspondant à la quantité d’énergie gagnée ou perdue par le joueur, et un nombre entier positif ou négatif correspondant au nombre de points gagnés ou perdus par l’équipe dont il fait partie.

>> Dans le ‘main_Jeu.py’, écrire les instructions qui font appel à la fonction ‘defi’ avec les valeurs suivantes : joueur Edith, +5, +10, joueur Marcel, -10, -5, joueur Judith, -5, -10 et joueur Paul, +10, +5. La fonction renvoie deux tuples : le premier contenant le nom du joueur et son niveau d’énergie et le second le nom de l’équipe et son score.

Autocorrection
main_Jeu.py

3 – Ajout d’une autre méthode

>> Lorsqu’un joueur possède un niveau d’énergie faible, il peut demander à l’autre joueur de son équipe de lui transférer un peu de sa propre énergie.
Dans la classe ‘Joueur’ , écrire une méthode ‘donEnergie’ qui prend en paramètre un joueur – celui qui va recevoir l’énergie – et un entier positif qui correspond à la quantité d’énergie qu’il va recevoir.
Attention : cette quantité d’énergie transférée ne doit pas être supérieure à celle que possède le joueur ‘donneur’. De même, le joueur ‘donneur’ doit conserver au minimum un niveau 10 d’énergie après ce transfert.

Autocorrection
module_Jeu.py – Classe Joueur


Dans le ‘main_Jeu.py’ écrire trois instructions qui permettent de transférer de l’énergie entre deux joueurs :
>> une pour effectuer un don d’énergie entre deux joueurs d’équipes différentes ;
>> une pour effectuer un don d’énergie entre deux joueurs d’une même équipe, mais supérieur à la quantité d’énergie du donneur
>> une pour effectuer un don d’énergie entre deux joueurs d’une même équipe, et inférieur à la quantité d’énergie du donneur

Autocorrection
main_Jeu.py

Solution complète (fichiers ‘module_Jeu.py’ et ‘main_Jeu.py’ dans une archive ‘zip’

Article sous licence << Cliquez pour plus d’informations <<