comment garder une valeur généré? - Delphi/Pascal - Programmation
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
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
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 ?
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!!!
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
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
edit:correction
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.