La solution que j'ai trouvée, est toute simple : Je les mets en attribut des images présentes sur l'écran.
En effet, on peut donner n'importe quel attribut à un élément HTML (au moins les images). Il faut juste éviter de donner un nom "réservé" (c'est à dire qui à un sens pour le navigateur lorsqu'il le trouve comme attribut).
Un navigateur qui ne reconnaît pas un attribut se contente de l'ignorer.
J'ai donc placé comme attribut aux villes des choses comme leur nom, le joueur auxquelles elles appartiennent, leur population, etc.
Sur le bouton de passage de tour, j'ai mis des données plus générales (comme le tour en cours, bien sûr).
Ensuite, comme je sais évidemment où je place quoi, il suffit à un script en ayant besoin d'aller chercher l'attribut voulu.
Par exemple :
document.getElementById('case8[2]').setAttribute('bloquer','1');
Au début du script se chargeant d'afficher la "fenêtre" de ville, cette commande change l'attribut "bloquer" du bouton de passage de tours ('case8[2]', c'est son nom, pour le moment).
Quand le joueur clique sur le bouton de sortie de cette fenêtre, le script commence par :
document.getElementById('case8[2]').setAttribute('bloquer','0');
En clair, il remet l'attribut "bloquer" du bouton de passage de tour à 0.
À quoi ça sert ?
Eh bien quand le joueur clique sur le bouton de passage de tour, son script fait ça :
var bloquer = document.getElementById('case8[2]').getAttribute('bloquer');
if (bloquer =='0')
{ reste du script }
if (bloquer =='0')
{ reste du script }
Il lit la valeur de l'attribut "bloquer", toujours au même endroit, et la place dans une variable, simplement appelée "bloquer" aussi.
Puis il vérifie si "bloquer" vaut 0. Si tel est le cas, il exécute le reste du script, sinon ben il va tout de suite à la fin du "if", et là il n'y a plus rien, donc le script s'arrête.
En pratique, du point de vue du joueur tout au moins, celà désactive le bouton de passage de tour lorsque la fenêtre des villes est affichée.