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