? ? Simulação de Gnomes Cooks? ♂️
Bem -vindo à simulação de chefs de gnomos , uma simulação matemática que combina probabilidade e gerenciamento em um ambiente de fantasia. Este projeto busca simular as habilidades únicas de cinco chefs de gnomos que devem cumprir uma missão: prepare um banquete para o grande partido de pessoas. Face a desafios como gerenciamento de tempo, obtenção de ingredientes raros e controle de eventos aleatórios que podem alterar o resultado final.
Objetivo do projeto
O objetivo é criar uma simulação automática que modele o comportamento de cinco gnomos cozinheiros: o padeiro, o chef de sopa, o chef de pastelaria, o açougueiro e o aprendiz. Cada Gnome possui habilidades específicas e suas ações serão governadas por algoritmos probabilísticos avançados e eventos aleatórios . No final da simulação, um relatório detalhado será exibido com os resultados do banquete e o desempenho de cada gnome.
Estado atual
O projeto está em uma fase inicial e nenhuma funcionalidade ainda foi implementada. O planejamento é avançado e temos uma visão clara da arquitetura e os objetivos de cada parte do sistema.
Principais funcionalidades
? Principais funcionalidades
- Simulação automática : Uma vez iniciado, a simulação é executada automaticamente sem intervenção do usuário.
- Cinco gnomos com papéis específicos : padeiro, chef de sopa, chef de pastelaria, açougueiro e aprendiz, cada um com habilidades e comportamentos únicos.
- Probabilidade e gerenciamento de tempo : a lógica da simulação é baseada em probabilidades e eventos aleatórios, onde cada tarefa tem uma porcentagem de sucesso com base nas habilidades do Gnomo.
- Eventos externos : eventos aleatórios, como obter ingredientes raros ou imprevistos que impedem o cozimento.
- Adaptativo : Cada Gnome segue padrões de comportamento inspirados no clássico (como os fantasmas de Pacman), adaptando -se aos eventos do jogo.
- Relatório final : No final da simulação, um relatório é gerado com o desempenho de cada gnome e o resultado do banquete.
Plataforma e tecnologia
- Border : construído com o vue.js , oferecerá uma interface simples para iniciar simulações e visualizar os resultados. A placa de visualização incluirá sprites da arte do estilo pixel .
- Back -end : O mecanismo de simulação será tratado pelo Python com Django , que permitirá cálculos complexos e algoritmos probabilísticos.
- Tempo real : o Fronnd permitirá a visualização real do progresso e os eventos da simulação que ocorrem.
- Banco de dados : PostGresql será o banco de dados responsável por armazenar os resultados de cada simulação, bem como o desempenho dos gnomos.
? Funcionalidades futuras
? Modos e opções
- Simulações avançadas : está planejado adicionar mais eventos e complexidades externas à lógica dos gnomos, para tornar o jogo mais imprevisível.
- Editor de simulação : No futuro, os usuários poderão criar seus próprios gnomos com habilidades personalizadas e ajustar as probabilidades de sucesso.
? Visualização e animações
- Placa animada : implementaremos uma fronteira no front -end que mostrará o progresso da simulação, incluindo animações dos gnomos cozinhando e procurando ingredientes.
- Sprites de estilo de arte de pixel : os gráficos do estilo retrô serão adicionados para dar um toque divertido e nostálgico à visualização.
? Algoritmos de probabilidade e IA
- Gnomos avançados : Cada Gnome terá um algoritmo único que governará seu comportamento com base em seu papel e habilidades, inspirado pelos padrões de movimento dos fantasmas de Pacman.
- Eventos externos complexos : introduziremos um sistema de eventos aleatórios que incluirão fatores externos, como clima, disponibilidade de ingredientes adicionais ou convidados no banquete.
Desempenho e escalabilidade
- Escalabilidade em nuvem : está planejado para otimizar a simulação para permitir várias execuções simultâneas em ambientes de servidores, como AWS ou Heroku.
- Processamento paralelo : Em simulações mais complexas, o motor pode usar processamento paralelo para reduzir os tempos de cálculo.
Arquitetura do sistema
O aplicativo segue uma arquitetura de três camadas: borda , back -end e banco de dados , com Django, como a estrutura de back -end.
@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 Descrição dos componentes
Borda (vue.js)
- Funcionalidade : forneça uma interface simples para iniciar a simulação e consulte o progresso e os resultados.
- Visualização : embarque com gnomos sprites na arte do pixel , mostrando em tempo real as tarefas que cada gnomo está executando.
Back -end (Django)
- API : Exponha os pontos de extremidade REST para iniciar a simulação, consultar os resultados e obter relatórios.
- Motor de simulação : execução da lógica probabilística para simulação.
- Persistência : salve os resultados no banco de dados e gerar relatórios.
Motor de simulação
- Lógica de simulação : implementada no Python, com base em modelos probabilísticos e eventos aleatórios.
- Gnomos : Cada Gnome segue um algoritmo de comportamento personalizado.
Banco de dados (PostgreSQL)
- Estrutura :
- Tabela de Gnomos : informações sobre cada gnome (nome, função, habilidades).
- Simulações de tabela : Registro de cada simulação.
- Resultados da tabela : Resultados individuais de cada gnome em cada simulação.
Como contribuir?
- Clona o repositório e crie um ramo para sua contribuição.
- Verifique os problemas abertos ou sugira melhorias.
- Implementa novas funcionalidades ou resolve erros.
- Envie uma solicitação de tração para revisão.
? Roteiro do projeto
- Implementar a lógica básica de simulação .
- Desenvolva a borda com visualização real de tempo .
- Adicione eventos aleatórios e algoritmos complexos .
- Otimização para várias simulações simultâneas na nuvem .
- Lançamento de uma versão beta para testes da comunidade .
Obrigado por estar interessado neste projeto! Se você gosta de gerenciamento de simulação e probabilidades, este é o projeto para você! ?