04-10-2012, 09:00 PM
Je n'ai jamais mis les pieds là dedans, mais si je devais passer par là, j'essayerai 2 solutions:
- Passer le tableau en argument au programme, sous la forme argN = index du tableau (char[]) si N impair, = valeur à l'index si N pair (dans le cas cité, ca serait les arguments "104, 1, 105, 1, 106, 1" à passer, sous forme de char[], donc du "104", "1", "105", "1", "106", "1"); ensuite, dans le C, récupérer ces arguments et reconstruire le tableau (map ou vector). Si le tableau est trop gros, c'est difficilement faisable.
- Exporter le contenu du tableau dans un fichier, binaire ou texte, et passer le chemin de ce fichier en argument au programme C. En ce cas, un système du genre, pour chaque ligne, "index = valeur" pourrait être suffisant. Dans le C, il suffirait alors de lire ce fichier (un fstream je crois... ou fopen, tout dépend si c'est C ou C++)
Mais ce qui me semble surprenant, c'est que ton système de combat soit lourd. Je pense que le plus efficace serait que tu vérifie s'il n'existe pas des techniques mathématiques plus appropriées et performantes (si ton système est de type Eulérien, aka pour calculer l'état N+K de ton système, tu passe par N, N+1, N+2...N+K, alors ton système est effectivement lourd, mais il peut exister une méthode non-eulérienne bien plus efficace passant directement de N à N+K).
- Passer le tableau en argument au programme, sous la forme argN = index du tableau (char[]) si N impair, = valeur à l'index si N pair (dans le cas cité, ca serait les arguments "104, 1, 105, 1, 106, 1" à passer, sous forme de char[], donc du "104", "1", "105", "1", "106", "1"); ensuite, dans le C, récupérer ces arguments et reconstruire le tableau (map ou vector). Si le tableau est trop gros, c'est difficilement faisable.
- Exporter le contenu du tableau dans un fichier, binaire ou texte, et passer le chemin de ce fichier en argument au programme C. En ce cas, un système du genre, pour chaque ligne, "index = valeur" pourrait être suffisant. Dans le C, il suffirait alors de lire ce fichier (un fstream je crois... ou fopen, tout dépend si c'est C ou C++)
Mais ce qui me semble surprenant, c'est que ton système de combat soit lourd. Je pense que le plus efficace serait que tu vérifie s'il n'existe pas des techniques mathématiques plus appropriées et performantes (si ton système est de type Eulérien, aka pour calculer l'état N+K de ton système, tu passe par N, N+1, N+2...N+K, alors ton système est effectivement lourd, mais il peut exister une méthode non-eulérienne bien plus efficace passant directement de N à N+K).