comment garder une valeur généré?

comment garder une valeur généré? - Delphi/Pascal - Programmation

Marsh Posté le 04-03-2007 à 13:25:50    

bonjours,
je suis en train de faire un petit jeu ou il faut trouver un nombre créer par le programme.
mon problème est que a chaque fois que je fais pour vérifier si mon nombre et le nombre mystérieux(celui crée par le prog) on dirais que le pc en recré un a chaque clique sur le bouton qui vérifie si celui ci est correcte.
voici mon programme
 
procedure TFormdevin.BtnVClick(Sender: TObject);
var n,i:integer;
var ligne:string;
begin
     n:=StrToInt(EditN.Text);
     i:=Random(100-0+1)+0;
     if (n<0)and(n>100) then
       begin
       ShowMessage('insérer un nombre compris entre 0 et 100');
       end
     else
       begin
        if (n<i) then
         begin
         Ligne:=''+EditN.text+''+ ' est trop petit';
         ListR.Items.Add(ligne);
         end
        else
         if (n>i) then
         begin
         Ligne:=''+EditN.text+''+ ' est trop grand';
         ListR.Items.Add(ligne);
         end
        else
       begin
       ShowMessage('gagné');
       Ligne:=''+EditN.text+''+ ' est le nombre mystérieux';
       ListR.Items.Add(ligne);
       end;
       end;
 
end;
end.
 

Reply

Marsh Posté le 04-03-2007 à 13:25:50   

Reply

Marsh Posté le 04-03-2007 à 15:57:38    

ben t'as codé la création du nombre dans le handler d'évenement du bouton, c'est normal [:pingouino]

Reply

Marsh Posté le 04-03-2007 à 18:12:56    

peux tu me dire comment je dois faire pour que ne recré pas un autre nombre

Reply

Marsh Posté le 04-03-2007 à 18:57:09    

ben réflechis : tu as codé la fonction qui génère un nombre dans le gestionnaire d'évenement du bouton. ce qui veut dire qu'à chaque fois que tu cliqueras sur le bouton, un nombre sera généré. que faut il faire d'après toi ?

Reply

Marsh Posté le 04-03-2007 à 19:08:16    

mettre " i:=Random(100-0+1)+0; " a une autre place ou le supprimer mais j en ai besoin!!!

Reply

Marsh Posté le 04-03-2007 à 19:15:58    

ben tu le déplaces et tu le mets dans le code d'initialisation de l'appli par exemple

Reply

Marsh Posté le 04-03-2007 à 20:03:26    

oui ou tu met un autre bouton "rejouer"
 
et tu met le debut du code dedans:
 
procedure TFormdevin.bouton rejouerClick(Sender: TObject);
begin
 i:=Random(100-0+1)+0;
end;
 
 
par contre y faut que tu déclare tes variables n et i en haut pour que chaque procédures puissent y acceder  :)  
 
 
unit...
interface...
uses...
 
type
  TForm1 = class(TForm)
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;
 
var
  Form1: TForm1;
  var n,i:integer;
 
 
implementation
....  
   
 
à la fin au lieu d'un else tu devrait plutôt mettre if n=i then gagné, là ça gène pas trop mais tu risque de faire pas mal de bug avec des else partout  [:barthaliastoxik]
 
 
edit:correction [:cyber103]


Message édité par Flagad'aware le 11-03-2007 à 12:30:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed