C'est justement parce que l'action est simultanée qu'il faut la déclarée à l'avance. Si X déclare attaquer A, avec ton système, B peut fuir sans risque.
S'il déclare attaquer B, c'est A qui peut fuir sans risque.
Donc si X déclare son action avant son adversaire, celui-ci peut faire fuir A ou B selon le cas.
Au contraire, si le joueur de A/B déclare ses actions avant (par exemple A fuit, B reste et tape sur X), X peut ensuite choisir sur qui taper en fonction de ses besoins.
Donc il faut bien gérer l'ordre dans lequel ça se déclare ou le faire en simultané.