Hola foreros. Quiero crear un simulador de batallas antiguas (rollo romanos, cartagineses,...) en modo texto. Es decir, quiero hacer un programa que lea unos datos, simula la batalla y dé otros datos.
Los datos que leería serían básicamente unidades de uno y otro ejército (así como su forma física, motivación, estado de salud, munición, adaptabilidad a los diferentes terrenos, a qué tipo de unidades hacen más daño y a qué tipo de unidades son más vulnerables,...), la disposición de los ejércitos en el terreno, el terreno mismo, las condiciones climatológicas y la táctica elegida por cada bando (defensiva, ofensiva, atacar por los flancos,...).
El usuario debería poder organizar las tropas (en grupos de "unidades", por ejemplo, 1 unidad de caballería serían 50 soldados) por el terreno y decidir las posibles tácticas, si se debería contemplar la rendición, rotaciones,...
La batalla en sí misma había pensado en organizarla por casillas (por ejemplo,e l campo de batalla es un campo de 10x10 casillas) y "turnos", aunque el usuario sólo podría escoger la táctica al principio.
Al final, el programa devolvería el nuevo estado de los ejércitos, número de bajas, heridos, si huyó alguno de los equipos, si se ha tomado el terreno,...
Sinceramente, tengo muchas dudas. Lo he puesto aquí porque mis dudas son básicamente de programación general. He estado pensando en algún algoritmo, pero el tema de las casillas no lo domino. Y otro tema que me es muy difícil es el de las luchas en sí. Si se enfrentan dos unidades, se me ocurre evaluar las diferentes características y eso. El problema es generar estas luchas, porque se deberían dar en el caso que unidades enemigas se encuentren en casillas contiguas. Y ahí el problema es que podría haber más de dos.
La intención de este post es que entre todos escribamos un algoritmo para este simulador. Yo, que soy el autor del post y el mayor interesado, voy a trabajar mucho, pero seguro que aquí hay muchos cracks que saben hacerlo y les interesa o gente que simplemente está interesada en aprender.
Lo dicho, a ver si vamos posteando el algoritmo. Voy a mirar código de simuladores de ajedrez porque podría ser de ayuda. Yo iré poniendo mi algoritmo, entre todos vamos corrigiendo si os parece y añadiendo cosas.
Muchas gracias.
Saludos.
Los datos que leería serían básicamente unidades de uno y otro ejército (así como su forma física, motivación, estado de salud, munición, adaptabilidad a los diferentes terrenos, a qué tipo de unidades hacen más daño y a qué tipo de unidades son más vulnerables,...), la disposición de los ejércitos en el terreno, el terreno mismo, las condiciones climatológicas y la táctica elegida por cada bando (defensiva, ofensiva, atacar por los flancos,...).
El usuario debería poder organizar las tropas (en grupos de "unidades", por ejemplo, 1 unidad de caballería serían 50 soldados) por el terreno y decidir las posibles tácticas, si se debería contemplar la rendición, rotaciones,...
La batalla en sí misma había pensado en organizarla por casillas (por ejemplo,e l campo de batalla es un campo de 10x10 casillas) y "turnos", aunque el usuario sólo podría escoger la táctica al principio.
Al final, el programa devolvería el nuevo estado de los ejércitos, número de bajas, heridos, si huyó alguno de los equipos, si se ha tomado el terreno,...
Sinceramente, tengo muchas dudas. Lo he puesto aquí porque mis dudas son básicamente de programación general. He estado pensando en algún algoritmo, pero el tema de las casillas no lo domino. Y otro tema que me es muy difícil es el de las luchas en sí. Si se enfrentan dos unidades, se me ocurre evaluar las diferentes características y eso. El problema es generar estas luchas, porque se deberían dar en el caso que unidades enemigas se encuentren en casillas contiguas. Y ahí el problema es que podría haber más de dos.
La intención de este post es que entre todos escribamos un algoritmo para este simulador. Yo, que soy el autor del post y el mayor interesado, voy a trabajar mucho, pero seguro que aquí hay muchos cracks que saben hacerlo y les interesa o gente que simplemente está interesada en aprender.
Lo dicho, a ver si vamos posteando el algoritmo. Voy a mirar código de simuladores de ajedrez porque podría ser de ayuda. Yo iré poniendo mi algoritmo, entre todos vamos corrigiendo si os parece y añadiendo cosas.
Muchas gracias.
Saludos.