A lo largo de la historia, los conflictos bélicos han estado fuertemente ligados al desarrollo de la humanidad. Existen pruebas que desde la prehistoria, los hombres luchaban entre ellos por tierras y recursos naturales. Con el pasar del tiempo, los hombres fueron evolucionando, y así también lo hicieron los objetivos de los conflictos bélicos, los armamentos y estrategias utilizados en estos conflictos.
El objetivo de este proyecto es el desarrollo de un programa que permita la simulación de diferentes batallas que se hayan producido en un pasado distante, en épocas más recientes e incluso simular batallas futuristas o con elementos de fantasía. Además se podrían simular batallas entre diferentes épocas, por ejemplo podríamos enfrentar 300 soldados armados con las más modernas armas contra 1000 soldados armados con espadas y escudos.
Para esto se tienen pensado los siguientes aspectos que van a ser fijos en cada una de las simulaciones:
La existencia de un mapa o terreno donde ocurre el enfrentamiento.
Las acciones serán por turnos.
Se tiene la idea de poder implementar una opción para que el usuario pueda definir las reglas de la simulación a través del lenguaje de dominio específico (DSL), como por ejemplo: crear unidades, definir si las unidades serán destruidas cuando se acaben sus puntos de vida o serán baja al recibir un único impacto, si algunas en específico solo pueden ser destruidas por otras unidades que cumplen ciertas características, etc. Así mismo el usuario debe definir a través del DSL cuál es el objetivo de cada bando y poder elaborar una estrategia para cada uno. Cuando un bando consiga su objetivo se declara como ganador.
Miembros del equipo
Rocio Ortiz Gancedo (@rocioog00)
Carlos Toledo Silva (@CTS-crypto)
Ariel Alfonso Triana Pérez (@ArielTriana)
Aprobación
Estos elementos serán chequeados por los profesores de la asignatura para aprobar el proyecto.
[x] El repositorio indicado existe
[x] El documento de reporte existe, y tiene la estructura inicial (nombre del proyecto, autores, breve descripción)
[x] Los miembros del equipo tienen usuarios en Github debidamente identificados (avatar, nombre completo, y página de perfil)
[x] El resumen describe una idea factible y de complejidad adecuada
En caso de que algunas de las condiciones anteriores no se cumplan, en este issue les dejaremos todos los comentarios y discusiones necesarias para lograr la aprobación del proyecto.
Este issue será cerrado una vez se considere definitivamente aprobado o rechazado el proyecto, y se le pondrá la etiqueta correspondiente.
Datos del proyecto
Nombre:: Battle-sim: Simulador de enfrentamientos bélicos Repositorio: https://github.com/ArielTriana/battle-sim Reporte: https://github.com/ArielTriana/battle-sim/blob/main/doc/reporte%20final/Informe.pdf
Breve resumen
A lo largo de la historia, los conflictos bélicos han estado fuertemente ligados al desarrollo de la humanidad. Existen pruebas que desde la prehistoria, los hombres luchaban entre ellos por tierras y recursos naturales. Con el pasar del tiempo, los hombres fueron evolucionando, y así también lo hicieron los objetivos de los conflictos bélicos, los armamentos y estrategias utilizados en estos conflictos.
El objetivo de este proyecto es el desarrollo de un programa que permita la simulación de diferentes batallas que se hayan producido en un pasado distante, en épocas más recientes e incluso simular batallas futuristas o con elementos de fantasía. Además se podrían simular batallas entre diferentes épocas, por ejemplo podríamos enfrentar 300 soldados armados con las más modernas armas contra 1000 soldados armados con espadas y escudos.
Para esto se tienen pensado los siguientes aspectos que van a ser fijos en cada una de las simulaciones:
Se tiene la idea de poder implementar una opción para que el usuario pueda definir las reglas de la simulación a través del lenguaje de dominio específico (DSL), como por ejemplo: crear unidades, definir si las unidades serán destruidas cuando se acaben sus puntos de vida o serán baja al recibir un único impacto, si algunas en específico solo pueden ser destruidas por otras unidades que cumplen ciertas características, etc. Así mismo el usuario debe definir a través del DSL cuál es el objetivo de cada bando y poder elaborar una estrategia para cada uno. Cuando un bando consiga su objetivo se declara como ganador.
Miembros del equipo
Aprobación
En caso de que algunas de las condiciones anteriores no se cumplan, en este issue les dejaremos todos los comentarios y discusiones necesarias para lograr la aprobación del proyecto.
Este issue será cerrado una vez se considere definitivamente aprobado o rechazado el proyecto, y se le pondrá la etiqueta correspondiente.