bloqué!!!!!!!! 
Author Message
 bloqué!!!!!!!!

Voici le code source d'un mastermind que je dois raliser pour un
travail.(C'est une procedure car il fait partie d'un programme de plusieurs
jeux).
Le type mastermin = array [1..5] of integer
Lorsque je lance le programme, je remarque qu'il se bloque la procedure
garnir_combiordi. combiordi[1] ne prend mme pas une valeur. Le programme a
l'air dans une boucle infinie.
Quelqu'un pourrait-il me dbloquer?
Merci beaucoup.
procedure menu_mastermind;
var master:integer;
     procedure mastermind;(*le jeu proprement dit*)
     var combiordi, combijoueur : mastermin;
     indice : indice_master;
     nmp, nbp, n, i, essai : integer;
     trouve : boolean;

          procedure garnir_combiordi;(*choix de la squence alatoire de 5
chiffres entre et 9*)
          var i,j : integer;
              trouve : boolean;
          begin
          for i:=1 to 5 do
              combiordi[i]:=10;
          i:=1;
          while i<=5 do;
              begin
              n:=random(9);
              trouve:=false;
              j:=1;
              while (j<i) and (trouve=false) do
                    begin
                    if combiordi[j] = n then
                       trouve:=true;
                    j:=j+1;
                    end;
              if trouve = false then
                 begin
                 combiordi[i]:=n;
                 write( combiordi[i]);
                 i:=i+1;
                 end;
              end;
          end;

          procedure prendre_sequence;
          var compteur :integer;
          begin
          for compteur:=1 to 5 do;
              readln(combijoueur[i]);
          end;

          procedure traiter_sequence;
          var i,j:integer;
          begin
          for i:=1 to 5 do
              indice[i]:=nul;
          for i:=1 to 5 do
              begin
              if combijoueur[i]=combiordi[i] then
                 indice[i]:=bienplace;
              end;
          for i:=1 to 5 do
              begin
              if indice[i]=nul then
                 begin
                 for j:=1 to 5 do
                     begin
                     if indice[j]=nul then
                        begin
                        if combijoueur[i]=combiordi[j] then
                           indice[i]:=malplace;
                        end;
                     end;
                 end;
              end;
          nbp:=0;
          nmp:=0;
          for i:=1 to 5 do
              begin
              if indice[i]=bienplace then
                 nbp:=nbp+1
              else
                  begin
                  if indice[i]=malplace then
                     nmp:=nmp+1;
                  end;
              end;
          if nbp=5 then
             begin
             trouve:=true;
             gettime(h,m,s,hs);
             end
          else
              write ('il y a ', nbp, ' chiffres bien placs et ', nmp,
'chiffres mal placs');
          end;

     begin
     clrscr;
     gotoxy(32,1);
     writeln(nom_jeu);
     writeln; writeln;
     writeln('L''ordinateur a choisi une squence de 5 chiffres diffrents
de 0 9');
     garnir_combiordi;
     essai:=1;
     gettime(h,m,s,hs);
     heure:=h;
     min:=m;
     sec:=s;
     centi:=hs;
     write('Entrez votre squence de chiffre (sparez-les par ENTREE) : ');
     prendre_sequence;
     trouve:=false;
     while (essai<=13) and not(trouve) do
           begin
           traiter_sequence;
           if not(trouve) then
              begin
              write ('Entrez votre squence de chiffre : ');
              prendre_sequence;
              essai:=essai+1;
              end;
           end;
     if not(trouve) then
        begin
        write ('La squence trouver tait : ');
        for i:=1 to 5 do
            write(combiordi[i], ' ');
        end
     else
         begin
         write('Vous avez trouver la squence juste en ',essai,' essais');
         chronometre;
         end;
     end;

    procedure regles_mastermind;
    begin
    clrscr;
    gotoxy(25,1);
    writeln('Rgles du jeu Mastermind');
    gotoxy(1,5);
    writeln('Dans ce jeu vous devez deviner une squence de 5 chiffres
(compris entre 0 et 9)');
    writeln('A chaque proposition, l''ordinateur vous donne des indices du
type suivant : ');
    writeln('Vous avez m chiffres bien placs et n chiffres faisant partie
de la squence');
    writeln('mais mal placs.');
    writeln('Le nombre d''essais est limit 13');
    writeln; writeln;
    writeln('Bon amu{*filter*}t');
    gotoxy(1,20);
    writeln('Appuyez sur une ENTREE pour continuer');
    readln;
    clrscr;
    end;

begin
clrscr;
master:=1;
nom_jeu:='Mastermind';
while master = 1 do
      begin
      menu_jeu (nom_jeu);
      readln(choix);
      case choix of
           0:master:=0;
           1:mastermind;
           2:regles_mastermind;
           3:scores(choixprinc, nom_jeu);
           end;
      end;
end;



Wed, 18 Jun 1902 08:00:00 GMT  
 bloqué!!!!!!!!
Quote:
> Voici le code source d'un mastermind que je dois raliser pour un
> travail.(C'est une procedure car il fait partie d'un programme de
plusieurs
> jeux).
> Le type mastermin = array [1..5] of integer
> Lorsque je lance le programme, je remarque qu'il se bloque la procedure
> garnir_combiordi. combiordi[1] ne prend mme pas une valeur. Le programme
a
> l'air dans une boucle infinie.
> Quelqu'un pourrait-il me dbloquer?

I'm sorry, but I really can't understand you. Would you mind writing
that in english?!

Bye,
Stefan
--

---
please remove the P in my email-adress to answer me



Wed, 18 Jun 1902 08:00:00 GMT  
 bloqué!!!!!!!!

Quote:

> > Voici le code source d'un mastermind que je dois raliser pour un
> > travail.

Unimportant.

Quote:
> (C'est une procedure car il fait partie d'un programme de
> plusieurs
> > jeux).

It's a procedure because it's part of a program of several games.

Quote:
> > Le type mastermin = array [1..5] of integer

Self-explanatory.

Quote:
> > Lorsque je lance le programme, je remarque qu'il se bloque la procedure
> > garnir_combiordi. combiordi[1] ne prend mme pas une valeur. Le programme
> a
> > l'air dans une boucle infinie.
> > Quelqu'un pourrait-il me dbloquer?

When I run the program, I notice that it blocks up at the procedure
garnir_combiordi. combiordi[1] does not even have [get] a value. The program
seems to be in an endless loop. Could somebody help me?


Wed, 18 Jun 1902 08:00:00 GMT  
 bloqué!!!!!!!!

Quote:

>Voici le code source d'un mastermind que je dois raliser pour
un
>travail.(C'est une procedure car il fait partie d'un programme
de plusieurs
>jeux).
>Le type mastermin = array [1..5] of integer
>Lorsque je lance le programme, je remarque qu'il se bloque la
procedure
>garnir_combiordi.
>...
>          procedure garnir_combiordi;(*choix de la squence
alatoire de 5
>chiffres entre et 9*)
>          var i,j : integer;
>              trouve : boolean;
>          begin
>          for i:=1 to 5 do
>              combiordi[i]:=10;
>          i:=1;
>          while i<=5 do;

                        ^ !

"while" takes 1 statement. This can be a large compound
statement, starting with Begin and going on to End, or it can be
as small as a single semicolon. You intended the former, you
coded the latter.

FP



Wed, 18 Jun 1902 08:00:00 GMT  
 
 [ 4 post ] 

 Relevant Pages 
 

 
Powered by phpBB® Forum Software