Me gustaría ver código C++ si sale un simulador potente. Sugiero que se miren las especificaciones de
C++ 11 Lo que veo es que todavía no habéis hablado del simulador en sí como objeto. Con esto quiero decir que el simulador debería poder simular batallas con soldados distintos de las clases predefinidas para ello, tal vez clases derivadas, y debería haber mucho código reusable. Todo esto para que no haya que cambiar todo el mecanismo del simulador para cambiar de ejército, o modificar funciones internas del simulador para añadir características. Incluso el mismo simulador podría ser de una clase heredable.
Es interesante lo que dices.
A ver, yo lo que había pensado para el simulador es que leyese los datos de los ejércitos a partir de una base de datos y a partir de ahí asignase los atributos. En ningún momento he dicho que en el propio código del simulador ya vayan predefinidos los valores de los atributos.
¿Sabes C++, no? ¿Te gustaría trabajar con nosotros?
Yo he estado codeando algo:
unity.hpp
#include <string>
class Unity {
public:
std::string id;
std::string generalType;
std::string name;
int numberOfSoldiers;
int numberOfInjuredSoldiers;
float motivation;
float physicalState;
std::string favourableWeather;
std::string harmfulWeather;
std::string favourableTerrain;
std::string harmfulTerrain;
float meleeAttack;
float meleeDefense;
float longDistanceAttack;
float longDistanceDefense;
float discipline;
float speed;
std::string generalTypeFavourable;
std::string generalTypeHarmful;
std::string concreteTypeFavourable;
std::string concreteTypeHarmful;
float nutrition;
float resistence;
};
box.hpp (casilla)
#include <string>
class Box {
public:
std::string id;
std::string terrain;
bool occupied;
std::string unityId;
float height;
};
mapcreator.hpp
#include <iostream>
#include "box.hpp"
#include "unity.hpp"
int createMap() {
Box box[10][10];
for(int x = 0; x < 10; x++){
for(int y = 0; y < 10; y++) {
/*Asignar valores a cada casilla según parámetros leídos, por ejemplo:box[x][y].id = ...
box[x][y].terrain = ...
box[x][y].occupied = ...
box[x][y].unityId =
box[x][y].height =
*/
}
}
return 0;
}
Es muy poca cosa, porque para el codeo en sí he tenido poco tiempo... Pero esta noche avanzaré más. Los que estáis interesados en darle al código, podríamos buscar una forma de colaborar, no? Bitbucket?
Y por cierto, he comenzado con C++ pero si decidís otro lenguaje lo votamos o acordamos o algo...
Lo que me está bloqueando es qué valores asignar a las casillas, qué hacemos, creamos un mapa "de prueba"? Un .txt?
Saludos.