Une nouvelle version, avec les dll et tout cette fois-ci :p
http://xerius.nuxit.net/glouglou/ter-minmax_(2009_03_30).rarMises à jour :
- le problème de sélection de cases est normalement résolu (sauf celui des cases se trouvant en dehors de la carte)
- ajout dans la classe Partie d'une méthode getCoord(Groupe&), parce que c'est quand même pas très pratique de devoir chercher les coordonnées "à la main"... Ajout d'une méthode supprimerGroupe(const Coordonnees& pos) aussi dans la foulée, mais ça vous vous en foutez :p
- j'ai complété le code de Quentin pour prendre en compte ça. Avant :
- Code:
joueurNum[i].push_back(new Groupe(*unite[k], atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][3].c_str()), atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][4].c_str())));
partie.groupesParCase[atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][0].c_str())][atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][1].c_str())] = joueurNum[i].back();
break;
Après :
- Code:
joueurNum[i].push_back(new Groupe(*unite[k], atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][3].c_str()), atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][4].c_str())));
coordGroupe.x = atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][0].c_str());
coordGroupe.y = atoi(lesCarac.configScenario[leNumDuScenario].leScenar[j][1].c_str());
partie.groupesParCase[coordGroupe.x][coordGroupe.y] = joueurNum[i].back();
partie.coordGroupes[joueurNum[i].back()] = coordGroupe;
break;
(coordGroupe est déclaré juste avant la tonne de for)
- un groupe mort au combat disparaît maintenant de la carte comme il faut.
- nouvelle carte, accessible via le scénario nommé "Scenario1" (l'ancien scénario est toujours présent : "Scenario2")
- modifications des stats des unités lourdes : le fait qu'elles ne puissent pas aller dans l'eau du tout est assez bof en fait (ça interdit l'usage de cartes comme la nouvelle que je viens de créer)
Bugs, problèmes, etc :
- Un clic en dehors de la carte fait toujours planter le programme.
- Une attaque est acceptée quelque soit le nombre de cases séparant les groupes impliqués
- Si un groupe se déplace sur une case voisine d'un groupe ennemi, son déplacement doit s'arrêter là. Mais on peut contourner cela en déplaçant ses groupes case par case.
- La fin de partie n'est pas détectée. Mais c'est pas super important pour le moment
- Ma classe Partie est une vraie horreur. Pour le moment, elle est inaccessible en écriture au moteur graphique, mais les classes du moteur de jeu peuvent faire tout ce qu'elles veulent dessus, ce qui est un bien pourri. C'est pas comme si ça ne fonctionnait pas, mais bon, il faudra que je gère ça un peu plus sérieusement.
- les unités de coordonnée x > 42 ne peuvent se déplacer dans des cases de coordonnées x <= 42