q Le tableau dispose de deux dimensions, 3x3. 
q Il faut au sein d’une boucle permuter les joueurs. 
q Si une position est déjà occupée, il faut de nouveau poser la question. 
q Après chaque coup, il faut vérifier toutes les lignes, colonnes et diagonales. 
q Si une ligne,colonne, diagonale est complète, on sort de la boucle. 
q En cas de victoire, il faut indiquer quel pion (x,o) a gagné. 
q Il faut gérer le match nul : neuf tours et personne n’a gagné. 
Le programme qui suit n’est pas optimisé, de manière tout à fait volontaire, afin de forcer la manipulation des indices 
de tableaux à deux dimensions : 
PROGRAMME MORPION 
VAR 
p:tableau[1..3][1...3] de caractères 
i,j,x,y,nbtours:entiers 
pion :caractère 
gagne:booléen 
DEBUT 
/* Initialisation du plateau : que des blancs */ 
Pour i allant de 1 à 3 Faire 
Pour j allant de 1 à 3 Faire 
p[i][j]←" " 
FinPour 
FinPour 
 
gagne←FAUX 
nbtour←0 
/* Boucle de jeu */ 
Répéter 
 
/* Changement du pion (joueur) */ 
Si pion<>"o" Alors 
Pion←"o" 
Sinon 
Pion←"x" 
FinSi 
 
/* Affichage du plateau */ 
Pour i allant de 1 à 3 Faire 
Afficher p[i][1],p[i][2],p[i][3] 
FinPour 
 
/* Saisie des coordonnées */ 
Répéter 
Afficher "Coordonnées ? (x,y)" 
Saisir x,y 
Jusqu’à x>=1 ET x<=3 ET y>=1 ET y<=3 ET p[x][y]=" " 
 
/* Mise en place du pion */ 
p[x][y] ←pion 
 
/* Vérification en ligne */ 
i←1 
Tant que i<=3 ET NON gagne 
Si p[i][1]!=" " ET p[i][1]=p[i][2] ET p[i][1]=p[i][3] alors 
gagne←VRAI 
FinSi 
i←i+1 
FinTantQue 
- 3 -
© ENI Editions - All rigths reserved - Jonifar lina
105
Précédent

- 105/220

Suivant