bonjour, voici un algo que j'ai écrit pour faire jouer l'ordi contre un humain, . je souhaiterai avoir votre avis en cas d'erreur. merci
pour i:= 1 à 4 faire
tb_secret[i]:=0;
écrire ('entrer la combinaison secrete');
demander(tb_secret[i]);
fin pour
pour a:=1 à 4 faire
tb_place[a]:='xxx';
fin pour
pour j:=1 à 4 faire
tb_essai[j]:=0;
tb_essai[j]:= random(9);
ecrire (tb_essai[j]);
fin pour
pour a:=1 à 4 faire
pour f1:=1 à 9 faire
tb_val[a,f1]:=f1; // ici j'initialise le tbableau 2D, chaque colonne sera remplit de 0 à 8, ce sont les valeurs possibles des autres essais.
fin pour
fin pour
pour j:=1 à 4 faire
f:=tb_essai[j];
fin pour
correct:=0;
essai:=0;
tant que ((correct=0) et (essai<=5)) faire;
essai:=essai+1;
pour a:=1 à 4 faire
demander ('donner les indices');
écrire (tb_place[a]);
fin pour // ici "j'apprend" à l'ordinateur à lire le tableau d'indice, ainsi à chaque indice rencontrer l'ordinateur réagira en conséquence, pour cette instruction ci dessous, il affectera -1 dans tb_val à toutes valeurs du tablleau d'essai correspondant à xxx dans le tableau d'indice.
pour a:= 1 à 4 faire
si (tb_place[a]='xxx') alors
pour f:=1 à 4 faire
tb_val[a,f]:=-1;
fin pour
fin si
si (tb_place[a]='non') alors
pour f:=1to4do
tb_val[a,f]:=-1;
fin pour
fin si // ici j'essai de faire en sorte que l'ordinateur garde le bonne valeur et affecte -1 à toutes les autres de la colonne corresponde.
si (tb_place[a]='oui') alors
pour f:=1 à 4 faire
tb_val[a,f]:=f;
fin pour
pour f1:=1 à 9 faire
tb_val[a,f1]:=-1;
fin pour
fin si
fin pour
pour a:=1 à 4 alors
f:=1; // cette instruction permet à l'ordinateur de ne pas choisir une valeur interdite. c'est un choix pas élimination dans les cas ou il rencontre dans tb_place un non ou un xxx.
tant que (tb_val[a,f]=-1) faire
f:=f+1;
fin tant que
pour i:=1 à 4 faire
tb_essai[i]:=tb_val[a,f];
fin pour
fin pour
fin tant que
j'ai modifier mon sujet car il n'était pas trop compréhensible il me semble, j'ai donc ajouté quelques commentaires afin qu'il vous apporte une meilleur compréhension de mon raisonnement sur cet algorithme.
mastermind en pascal
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.