Il faut partir du principe qu'une unité à le droit à la fois d'attaquer et de riposter (ici une unité représente un groupe d'un certain type de troupe), ainsi il faudra définir les combats à réaliser avant de les commencer selon les priorités établies par les joueurs, donc nous allons prendre comme exemple celui que tu énonces, soit :
Trois groupes attaquants :
Un groupe de défense :
Ici les relations d'attaques qui nous intéressent sont les suivantes :
Ces trois relations entraînent donc les relations de ripostes suivantes :
À noter que par catapulte j'entends les ingénieurs qui les manipulent.
Donc dans le code ça donnerait quelque chose comme ça je pense :
Trois groupes attaquants :
- Hoplite
- Frondeur
- Catapulte
Un groupe de défense :
- Hoplite
Ici les relations d'attaques qui nous intéressent sont les suivantes :
- Frondeur VS Hoplite_defenseur
- Hoplite VS Hoplite_defenseur
- Hoplite_defenseur VS Catapulte
Ces trois relations entraînent donc les relations de ripostes suivantes :
- Catapulte VS Hoplite_defenseur
- Hoplite_defenseur VS Frondeur & Hoplite
À noter que par catapulte j'entends les ingénieurs qui les manipulent.
Donc dans le code ça donnerait quelque chose comme ça je pense :
Code PHP :
<?php
/* En fait pas besoin de code, c'est assez explicite je pense */