0% ont trouvé ce document utile (0 vote)
25 vues8 pages

Exposé

Transféré par

franckowonoazatar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues8 pages

Exposé

Transféré par

franckowonoazatar
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exposé

*Étape 1 : Introduction*

- Titre : Simulation de Combat Multijoueur

- Objectif : Créer un jeu où plusieurs joueurs peuvent s'affronter dans un


combat simulé

- Contexte : Le jeu sera développé en langage C++ et utilisera des


structures de données pour représenter les joueurs et les attaques

*Étape 2 : Conception des Structures de Données*

- Définition de la structure `Joueur` :

- `nom` : chaîne de caractères représentant le nom du joueur

- `santé` : entier représentant la santé du joueur

- `derniereAttaque` : entier représentant la dernière attaque effectuée par


le joueur

- Définition de la structure `Attaque` :

- `nom` : chaîne de caractères représentant le nom de l'attaque

- `degats` : entier représentant les dégâts infligés par l'attaque

*Étape 3 : Initialisation des Joueurs*

- Création d'un vecteur de joueurs `joueurs`

- Initialisation des joueurs avec des noms et des santé aléatoires

- Définition de la fonction `initialiserJoueurs()` pour initialiser les joueurs

*Étape 4 : Boucle de Jeu*

- Définition de la fonction `jouerTour()` pour faire tourner le jeu


- Boucle `while` pour faire tourner le jeu jusqu'à ce qu'il ne reste qu'un
seul joueur avec de la santé

- Appel de la fonction `choisirAttaque()` pour choisir l'attaque du joueur


actuel

- Appel de la fonction `choisirCible()` pour choisir la cible du joueur actuel

- Calcul des dégâts infligés à la cible en fonction de l'attaque choisie

- Mise à jour de la santé du joueur cible

*Étape 5 : Choix de l'Attaque*

- Définition de la fonction `choisirAttaque()` pour choisir l'attaque du


joueur actuel

- Affichage des attaques disponibles (pieds, mains, tête)

- Lecture de la saisie utilisateur pour choisir l'attaque

*Étape 6 : Choix de la Cible*

- Définition de la fonction `choisirCible()` pour choisir la cible du joueur


actuel

- Affichage des joueurs disponibles comme cibles

- Lecture de la saisie utilisateur pour choisir la cible

*Étape 7 : Calcul des Dégâts*

- Définition de la fonction `calculerDegats()` pour calculer les dégâts


infligés à la cible

- Utilisation de la structure `Attaque` pour calculer les dégâts

*Étape 8 : Fin du Jeu*

- Définition de la fonction `finJeu()` pour déclarer le vainqueur


- Affichage du vainqueur et de sa santé restante

*Conclusion*

- Le jeu est maintenant fonctionnel et permet à plusieurs joueurs de


s'affronter dans un combat simulé

- Le jeu utilise des structures de données pour représenter les joueurs et


les attaques

- Le jeu est conçu pour être modulaire et facile à maintenir.

Code source :

```

#include <iostream>

#include <vector>

#include <string>

#include <algorithm>

using namespace std;

// Structure Joueur

struct Joueur {

string nom;

int santé;

int derniereAttaque;

};

// Structure Attaque

struct Attaque {

string nom;

int degats;
};

// Fonction initialiserJoueurs

void initialiserJoueurs(vector<Joueur>& joueurs) {

// ...

// Fonction jouerTour

void jouerTour(vector<Joueur>& joueurs) {

// ...

// Fonction choisirAttaque

int choisirAttaque() {

// ...

// Fonction choisirCible

int choisirCible(vector<Joueur>& joueurs) {

// ...

// Fonction calculerDegats

int calculerDegats(Attaque attaque) {

// ...

// Fonction finJeu

void finJeu(vector<Joueur>& joueurs) {


// ...

int main() {

vector<Joueur> joueurs;

initialiserJoueurs(joueurs);

jouerTour(joueurs);

finJeu(joueurs);

return 0;

```

Exemple :

- "Par exemple, si nous avons deux joueurs, 'Jean' et 'Marie', avec des
santé respectives de 100 et 80, et que Jean choisit d'attaquer Marie avec
ses pieds, les dégâts infligés seraient de 3. La santé de Marie serait alors
de 77."

Exemple :

- "Selon le livre 'C++ Programming Language' de Bjarne Stroustrup, les


structures de données sont essentielles pour représenter les données dans
un programme."

- "La notion de 'game loop' est décrite dans l'article 'Game Development
Essentials' de Jeannie

Exemple :

- Un diagramme de classe pour représenter les structures de données


`Joueur` et `Attaque` :
```

+---------------+

| Joueur |

+---------------+

| - nom |

| - santé |

| - derniereAttaque |

+---------------+

+---------------+

| Attaque |

+---------------+

| - nom |

| - degats |

+---------------+

```

- Un schéma de flux de travail pour représenter la boucle de jeu :

```

+---------------+

| Initialisation |

+---------------+

+---------------+

| Choix Attaque |

+---------------+

|
v

+---------------+

| Choix Cible |

+---------------+

+---------------+

| Calcul Dégâts |

+---------------+

+---------------+

| Mise à jour |

+---------------+

+---------------+

| Fin du Jeu |

+---------------+

```

*Fournir des résultats ou des tests*

Exemple :

- "Nous avons testé le programme avec 10 joueurs et avons obtenu les


résultats suivants :
- Temps d'exécution : 2,5 secondes

- Nombre de tours : 50

- Nombre de joueurs éliminés : 8"

- "Nous avons également testé le programme avec des attaques aléatoires


et avons obtenu les résultats suivants :

- Dégâts moyens par attaque : 4,2

- Nombre de joueurs éliminés : 6"

Vous aimerez peut-être aussi