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
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
