Conceptualisation d’un personnage de fiction dans un code informatique – UNAI

Ceci est un programme écrit en C qui mime le comportement du personnage de Fabula dans le film les Histoires de Par-Delà les Étoiles.

#include <iostream>
#include <vector>
#include <string>
#include <ctime>
#include <cstdlib>

using namespace std;

// Classe représentant Fabula
class Fabula {
private:
    string name;
    int inspirationPoints;
    int wisdomLevel;
    vector<string> chronicle;

public:
    // Constructeur
    Fabula(string characterName) : name(characterName), inspirationPoints(100), wisdomLevel(1) {}

    // Fonction pour écrire une chronique
    void writeChronicle(const string& storySegment) {
        if (inspirationPoints > 0) {
            inspirationPoints -= 10;
            chronicle.push_back(storySegment);
            cout << name << " a écrit une nouvelle chronique : " << storySegment << endl;
        } else {
            cout << name << " manque d'inspiration pour écrire une chronique." << endl;
        }
    }

    // Fonction pour méditer et regagner de l'inspiration
    void meditate() {
        cout << name << " médite pour regagner de l'inspiration..." << endl;
        inspirationPoints += 20;
        wisdomLevel += 1;
        cout << name << " a maintenant " << inspirationPoints << " points d'inspiration et un niveau de sagesse de " << wisdomLevel << "." << endl;
    }

    // Fonction pour invoquer les Wills et obtenir une prophétie
    void invokeWills() {
        srand(time(0));
        vector<string> prophecies = {
            "Le chemin vers le Centre est semé d'embûches.",
            "Les Scribes doivent écouter au-delà des étoiles.",
            "La plume révèle la vérité cachée."
        };
        int randomIndex = rand() % prophecies.size();
        cout << name << " invoque les Wills : \"" << prophecies[randomIndex] << "\"" << endl;
    }

    // Fonction pour afficher les chroniques écrites
    void displayChronicles() const {
        cout << "Chroniques écrites par " << name << ":" << endl;
        for (const auto& entry : chronicle) {
            cout << "- " << entry << endl;
        }
    }

    // Accesseur pour obtenir le nom de Fabula
    string getName() const {
        return name;
    }
};

// Classe représentant un univers narratif
class NarrativeWorld {
private:
    string name;
    vector<string> events;

public:
    NarrativeWorld(string worldName) : name(worldName) {}

    void addEvent(const string& event) {
        events.push_back(event);
    }

    void showEvents() const {
        cout << "Événements dans l'univers " << name << ":" << endl;
        for (const auto& event : events) {
            cout << "- " << event << endl;
        }
    }

    void interactWithFabula(Fabula& fabula) {
        cout << "Interaction entre Fabula et l'univers narratif..." << endl;
        fabula.writeChronicle("Fabula a découvert un événement mystérieux.");
    }
};

// Fonction principale
int main() {
    Fabula fabula("Fabula, Scribe des Étoiles");
    NarrativeWorld cosmos("Cosmopedia");

    // Interactions
    fabula.writeChronicle("L'ombre des Wills a traversé le ciel.");
    fabula.meditate();
    fabula.invokeWills();

    cosmos.addEvent("Une étoile inconnue a été découverte.");
    cosmos.showEvents();

    cosmos.interactWithFabula(fabula);
    fabula.displayChronicles();

    return 0;
}

Le code est composé de deux classe principales servant à émuler le monde et le Scribe. Le programme en C simule les interactions entre Fabula et les Wills

NarrativeWorld: Un univers narratif qui peut contenir des événements et interagir avec Fabula
L’exécution du code donne l’output suivant:

Fabula: Un scribe des étoiles qui peut écrire des chroniques, méditer pour regagner de l’inspiration, et invoquer les « Wills » pour obtenir des prophéties

=== EXÉCUTION DU PROGRAMME FABULA ===

Fabula, Scribe des Étoiles a écrit une nouvelle chronique : L'ombre des Wills a traversé le ciel.

Fabula, Scribe des Étoiles médite pour regagner de l'inspiration...
Fabula, Scribe des Étoiles a maintenant 110 points d'inspiration et un niveau de sagesse de 2.

Fabula, Scribe des Étoiles invoque les Wills : "La plume révèle la vérité cachée."

Événements dans l'univers Cosmopedia:
- Une étoile inconnue a été découverte.

Interaction entre Fabula et l'univers narratif...
Fabula, Scribe des Étoiles a écrit une nouvelle chronique : Fabula a découvert un événement mystérieux.

Chroniques écrites par Fabula, Scribe des Étoiles:
- L'ombre des Wills a traversé le ciel.
- Fabula a découvert un événement mystérieux.


=== PROGRAMME TERMINÉ ===

, ,

Laisser un commentaire

Merci de rester respectueux dans l’espace des commentaires.

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

William-Arno Clément