Bonjour,

Je suis actuellement en L1 Maths Info et notre prof d'algo nous a remis un algorithme à écrire pour le partiel. C'est un algorithme pour jouer au jeu Apagos, dont les règles se trouvent ici :

http://fr.wikipedia.org/wiki/Apagos

J'ai fini de rédiger l'algorithme, du coup maintenant je cherche à le rendre moins complexe au niveau de l'écriture, notamment pour initialiser les différentes pièces qui composent le jeu. Actuellement, l'algorithme qui s'en occupe est le suivant :

ALGO INIT

ENTREES
 | a, b, c, d : NUMERIQUES          } nb d'emplacements totaux sur chaque pièce
ENTREES / SORTIES
 | piece1, piece2, piece3, piece4 : tableaux de i*j cases          } Avec i les colonnes
 | reserve : tableau de i*i cases                                          } et j les lignes
 | espace : NUMERIQUE          } reste de la place sur pièces ? test de victoire si non
VARIABLES
 | i, j : NUMERIQUES
DEBUT
 | Pour i de 1 à 2 faire
 |  | Pour j de 1 à 3 faire
 |  |  | Si i = 1 alors
 |  |  |  | piece1[i,j] <= 0          }
 |  |  |  | piece2[i,j] <= 0          } Initialisation du nombre de 
 |  |  |  | piece3[i,j] <= 0          } billes et d'emplacements 
 |  |  |  | piece4[i,j] <= 0          } sur chaque pièce et sur la réserve
 |  |  |  | reserve[i,j] <= 0        }
 |  |  | Sinon
 |  |  |  | Si j = 1 alors
 |  |  |  |  | piece1[i,j] <= « NOIR(S) »          }
 |  |  |  |  | piece2[i,j] <= « NOIR(S) »          } La première ligne des tableaux
 |  |  |  |  | piece3[i,j] <= « NOIR(S) »          } indiquera le nombre de billes
 |  |  |  |  | piece4[i,j] <= « NOIR(S) »          } noires
 |  |  |  |  | reserve[i,j] <= « NOIR(S) »        }
 |  |  |  | Sinon
 |  |  |  |  | Si j = 2 alors
 |  |  |  |  |  | piece1[i,j] <= « BLANC(S) »          }
 |  |  |  |  |  | piece2[i,j] <= « BLANC(S) »          }
 |  |  |  |  |  | piece3[i,j] <= « BLANC(S) »          } 2° colonne => billes blanches
 |  |  |  |  |  | piece4[i,j] <= « BLANC(S) »          }
 |  |  |  |  |  | reserve[i,j] <= « BLANC(S) »        }
 |  |  |  |  | Sinon
 |  |  |  |  |  | piece1[i,j] <= « VIDE(S) »          }
 |  |  |  |  |  | piece2[i,j] <= « VIDE(S) »          } La troisième uniquement pour les pièces
 |  |  |  |  |  | piece3[i,j] <= « VIDE(S) »          } nb d'emplacements vides
 |  |  |  |  |  | piece4[i,j] <= « VIDE(S) »          }
 |  |  |  |  | FinSi
 |  |  |  | FinSi
 |  |  | FinSi
 |  | FinPour
 | FinPour
 | piece1[1,3] <= a          }
 | piece2[1,3] <= b          } Les emplacements sur
 | piece3[1,3] <= c          } chaque pièce du jeu
 | piece4[1,3] <= d          }
 | reserve[1,2] <= 10          } Le nombre de billes noires disponibles
 | reserve[2,2] <= 10          } Le nombre de billes blanches disponibles
 | espace <= a+b+c+d
FIN
Seulement il est un peu long et pour le raccourcir, j'ai pensé utiliser les structures comme me l'a conseillé le prof, mais malgré ses explications, je ne parviens pas à réaliser ces structures. Je requiers donc votre aide pour parvenir à mes fins ^^.

Merci d'avance pour votre aide.