Plom plom plom, me revoilà !
Bon, en fait, depuis septembre, je n'ai pas avancé d'un poil, mais je peux tout de même vous donner les caractéristiques de l'arbitre et de l'interfaçage.
* Chaque programme joueur (IA ou interface humaine) doit obligatoirement s'appeler
joueur, sans argument
* Il communique avec l'extérieur par l'intermédiaire d'une seule et unique variable, de type NUM (valeur numérique), nommée
colonne
* Chaque programme
joueur dispose d'un répertoire complet pour utiliser toutes les variables qu'il souhaite, en plus de la variable
colonne
* C'est à chaque programme
joueur de gérer sa représentation de la partie en cours, en sachant uniquement dans quelle colonne vient de jouer son adversaire
* Les programmes
joueur disposent (normalement) d'une petite zone graphique à gauche de la grille pour afficher ce qu'ils veulent
* Cette zone graphique étant commune aux deux joueurs, c'est à chaque programme
joueur d'effacer cette zone avant d'y écrire ce qu'il souhaite
* Lorsqu'un programme
joueur est lancé, la variable
colonne a déjà été initialisée par l'arbitre, avec une valeur entière comprise entre -1 et 7 inclus
* Si
colonne = -1, le programme
joueur sait qu'il est le joueur 2 (pions X), et il n'a que le droit d'initialiser ses variables, sans toucher à
colonne (qui doit rester à -1)
* Si
colonne = 0, le programme
joueur sait qu'il est le joueur 1 (pions O), et que la partie vient de commencer -> il place dans la variable
colonne une valeur entière comprise entre 1 et 7 inclus indiquant la colonne dans laquelle il joue
* Si
colonne est un entier entre 1 et 7 inclus, le programme
joueur sait que son adversaire vient de jouer dans la colonne indicée par la variable
colonne -> il place dans la variable
colonne une valeur entière comprise entre 1 et 7 inclus indiquant la colonne dans laquelle il joue en réponse
* Après avoir indiqué dans la variable
colonne le coup joué, le programme
joueur doit se terminer normalement
* L'arbitre se charge de l'affichage graphique
* Il se charge de lancer à tour de rôle les deux programmes
joueur qui s'affrontent
* Il se charge de lire la variable
colonne donnée par un des programme
joueur, de mettre à jour l'affichage, et de retransmettre, sans modification, la variable
colonne à l'autre programme
joueur
* L'arbitre disqualifie immédiatement toute tentative de fraude, c'est-à-dire :
- lorsque le programme
joueur reçoit
colonne = -1, il est disqualifié s'il modifie cette variable
- dans les autres cas, le programme
joueur est disqualifié si la variable
colonne n'est pas de type NUM, ou ne contient pas une valeur entière comprise entre 1 et 7 inclus
* L'arbitre ne détecte pas encore lorsqu'un alignement de 4 est réalisé, ni lorsque la grille est pleine ... bientôt, bientôt

...
Concernant la zone graphique disponible pour les programmes : je travaille sur 92+, et utilise pleinement son écran, ce qui n'est pas compatible avec la 89.
Afin de réaliser des programmes compatibles, pourriez-vous SVP me donner les dimensions de l'écran sur 89 disponible en TI-Basic (je ne parle pas de l'écran complet accessible en Asm) ?
Sur 92+, l'écran fait 239x103 pixels, soit une diagonale traçable avec PxlLine 0,0,102,238 ...
C'est le même type d'info pour 89 que je souhaiterais ... Merci !
Mais si ça se trouve, il n'y aura plus de place à l'écran pour les programmes
joueur, d'où le terme
normalement 
...
J'ai également réalisé un programme
joueur compatible avec les spécifications de l'arbitre (gestion de la variable
colonne) permettant à un humain de jouer.
Ce qui fait que pour le moment, je ne peux que faire s'affronter deux humains en lançant le programme arbitre

...
@++