? ? Simulation des cuisiniers des gnomes? ️
Bienvenue dans Simulation of Gnomes Chefs , une simulation mathématique qui combine la probabilité et la gestion dans un environnement fantastique. Ce projet cherche à simuler les compétences uniques de cinq chefs de gnomes qui doivent répondre à une mission: préparer un banquet pour la fête des gens du Grand. Face à des défis tels que la gestion du temps, l'obtention d'ingrédients rares et le contrôle des événements aléatoires qui peuvent modifier le résultat final.
Objectif du projet
L'objectif est de créer une simulation automatique qui modélise le comportement de cinq gnomes Cooks: The Baker, The Soup Chef, The Pastry Chef, The Butcher et The Apprentice. Chaque gnome a des compétences spécifiques et leurs actions seront régies par des algorithmes probabilistes avancés et des événements aléatoires . À la fin de la simulation, un rapport détaillé sera affiché avec les résultats du banquet et les performances de chaque gnome.
État actuel
Le projet est en phase initiale et aucune fonctionnalité n'a encore été mise en œuvre. La planification est avancée et nous avons une vision claire de l'architecture et des objectifs de chaque partie du système.
Fonctionnalités clés
? Fonctionnalités principales
- Simulation automatique : une fois initiée, la simulation est automatiquement exécutée sans intervention de l'utilisateur.
- Cinq gnomes avec des rôles spécifiques : Baker, Soup Chef, pâtisserie, boucher et apprenti, chacun avec des compétences et des comportements uniques.
- Probabilité et gestion du temps : la logique de la simulation est basée sur des probabilités et des événements aléatoires, où chaque tâche a un pourcentage de succès basé sur les compétences de Gnomo.
- Événements externes : des événements aléatoires tels que l'obtention d'ingrédients rares ou imprévus qui entravent la cuisson sont introduits.
- Adaptif : Chaque gnome suit des modèles de comportement inspirés par le classique (comme les fantômes de Pacman), s'adaptant aux événements de jeu.
- Rapport final : À la fin de la simulation, un rapport est généré avec les performances de chaque gnome et le résultat du banquet.
Plate-forme et technologie
- Border : Construit avec Vue.js , offrira une interface simple pour démarrer les simulations et visualiser les résultats. Le tableau de visualisation comprendra des sprites de l' art de style pixel .
- Backend : Le moteur de simulation sera géré par Python avec Django , qui permettra des calculs complexes et des algorithmes probabilistes.
- En temps réel : le fronnnd permettra une visualisation réelle du temps des progrès et des événements de simulation qui se produisent.
- Base de données : PostgreSQL sera la base de données responsable du stockage des résultats de chaque simulation, ainsi que des performances des gnomes.
? Fonctionnalités futures
? ️ Modes et options
- Simulations avancées : il est prévu d'ajouter des événements et des complexités plus externes à la logique des gnomes, pour rendre le jeu plus imprévisible.
- Éditeur de simulation : À l'avenir, les utilisateurs seront autorisés à créer leurs propres gnomes avec des compétences personnalisées et à ajuster les probabilités de succès.
? Visualisation et animations
- Board animé : Nous allons mettre en œuvre une frontière sur le frontend qui montrera la progression de la simulation, y compris les animations des gnomes de cuisine et de recherche d'ingrédients.
- Pixel Art Style Sprites : Des graphiques de style rétro seront ajoutés pour donner une touche amusante et nostalgique à la visualisation.
? Algorithmes de probabilité et IA
- Gnomes avancés : chaque gnome aura un algorithme unique qui régira son comportement en fonction de leur rôle et de ses compétences, inspiré par les modèles de mouvement des fantômes de Pacman.
- Événements externes complexes : nous présenterons un système d'événements aléatoires qui comprendront des facteurs externes tels que la météo, la disponibilité d'ingrédients supplémentaires ou des invités au banquet.
Performance et évolutivité
- Évolutivité du cloud : il est prévu d'optimiser la simulation pour permettre plusieurs exécutions simultanées dans des environnements de serveur tels que AWS ou Heroku.
- Traitement parallèle : Dans des simulations plus complexes, le moteur peut utiliser un traitement parallèle pour réduire les temps de calcul.
Architecture du système
L'application suit une architecture à trois couches: bordure , backend et base de données , avec Django tel que le framework backend.
@startuml
skinparam style strictuml
actor User
node "Cliente" {
[ Frontend ( Vue . js )]
}
node "Servidor" {
[ API Backend ( Django )] --> [ Motor de Simulaci ó n ]
[ Motor de Simulaci ó n ] --> [ Base de Datos ( PostgreSQL )]
}
User --> [ Frontend ( Vue . js )]
[ Frontend ( Vue . js )] --> [ API Backend ( Django )]
@enduml Description des composants
Border (Vue.js)
- Fonctionnalité : Fournissez une interface simple pour démarrer la simulation et voir les progrès et les résultats.
- Visualisation : Board avec des sprites gnomes dans l'art de pixels , montrant en temps réel les tâches que fait chaque gnome.
Backend (django)
- API : Exposez les points de terminaison repos pour démarrer la simulation, consulter les résultats et obtenir des rapports.
- Moteur de simulation : exécution de la logique probabiliste pour la simulation.
- Persistance : enregistrez les résultats dans la base de données et générez des rapports.
Moteur de simulation
- Logique de simulation : implémentée dans Python, basée sur des modèles probabilistes et des événements aléatoires.
- Gnomes : Chaque gnome suit un algorithme de comportement personnalisé.
Base de données (PostgreSQL)
- Structure :
- Tableau Gnomos : Informations sur chaque gnome (nom, rôle, compétences).
- Simulations de table : Enregistrement de chaque simulation.
- Résultats du tableau : résultats individuels de chaque gnome dans chaque simulation.
Comment contribuer?
- Clona le référentiel et créez une branche pour votre contribution.
- Vérifiez les problèmes ouverts ou suggérez des améliorations.
- Implémente les nouvelles fonctionnalités ou résout les bogues.
- Envoyez une demande d'examen.
? Feuille de route du projet
- Implémentez la logique de simulation de base .
- Développez la frontière avec une visualisation en temps réel .
- Ajoutez des événements aléatoires et des algorithmes complexes .
- Optimisation pour plusieurs simulations simultanées dans le nuage .
- Lancement d'une version bêta pour les tests communautaires .
Merci d'être intéressé par ce projet! Si vous aimez la gestion de la simulation et des probabilités, c'est le projet pour vous! ?