Exercice 3 - Programmation orientée objet · Bac Numérique et Sciences Informatiques Amérique du Nord 2023 (jour 1)

Thème : Programmation orientée objet : classes, attributs, méthodes · Tiré du sujet Jour 1 (2023)

Énoncé

Exercice 3 (4 points)

Cet exercice porte sur la programmation orientée objet et sur les arbres. Il contient deux parties indépendantes.

Lors de la création d'un jeu vidéo, un développeur décide d'utiliser la programmation orientée objet. Au cours de ce jeu, différents personnages vont s'affronter tour à tour. Pour cela, le développeur décide de créer une classe Personnage.

Un personnage est caractérisé par les données suivantes:

clan: chaine de caractères qui identifie le clan auquel le personnage appartient;

vie: nombre entier qui représente le nombre de points de vie du personnage. Un personnage n'est plus actif dès que le nombre de points de vie devient inférieur ou égal à zéro;

force: nombre entier qui représente le nombre de points de force.

Les personnages peuvent effectuer différentes actions: attaquer un ennemi, se défendre face à un ennemi, etc.

Partie A: programmation orientée objet

Partie A: programmation orientée objet

1.

Recopier et compléter les lignes de code numérotées de 2 à 5:

1 class Personnage:

2 def __init__(..., nom_clan, pts_vie, pts_force):

3...clan = nom_clan

4...vie = pts_vie

5...force = pts_force

6

7 def attaque(...):

8...

9

10 def defense(...):

11...

2.

Donner les attributs ainsi que les méthodes de cette classe.

3.

Écrire l'instruction qui permet d'instancier le personnage luther du clan "Umbrella" avec 100 points de vie et 15 points de force.

4.

Écrire le code Python de la méthode attaque correspondant à la description suivante:

elle s'applique sur un personnage (l'attaquant) et prend en paramètre autre_perso (le personnage attaqué);

elle abaisse le nombre de points de vie du personnage attaqué d'une valeur égale au nombre de points de force du personnage qui attaque;

elle renvoie 1 s'il reste des points de vie au personnage attaqué, 0 sinon.

Exemple: si le personnage luther qui a 15 points de force attaque le personnage rayleigh qui a 120 points de vie alors l'appel luther.attaque(rayleigh) permet de mettre à jour le nombre de points de vie de rayleigh, soit 120 − 15 = 105 points de vie. La méthode renvoie 1 dans ce cas puisqu'il reste des points de vie à rayleigh.

def attaque(self, autre_perso):

Énoncé: Exercice 3 - Programmation orientée objet · Bac Numérique et Sciences Informatiques Amérique du Nord 2023 (jour 1)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Recopier et compléter les lignes de code numérotées de 2 à 5 :

Réponse : ```python def __init__(self, nom_clan, pts_vie, pts_force): self.clan = nom_clan self.vie = pts_vie self.force = pts_force ```

2. Donner les attributs de cette classe.

Réponse : clan, vie, force

2. Donner les méthodes de cette classe.

Réponse : __init__, attaque, defense

Les réponses des 2 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium

Résous-le ici : correction automatique, indices et corrigé détaillé.

‹ Exercice 3 - Programmation orientée objet · Amérique du Nord 2024 (jour 2) · Exercice 1 - Programmation orientée objet · Amérique du Nord 2022 (jour 2) ›

Plus d’exercices de Programmation orientée objet : classes, attributs, méthodes